关于 churn-prevention
churn-prevention 是面向 SaaS 团队的技能,用于设计留存和支付恢复流程。内容涵盖取消订阅流程、按原因定制挽留方案、主动风险干预和失败付款追收。
主要功能
- 01设计取消流程与退出调查
- 02按取消原因匹配挽留方案
- 03依据使用信号识别流失风险
- 04规划主动留存干预措施
- 05制定重试与催款邮件流程
适用场景
- 01改进现有订阅取消流程
- 02根据退出调查答案提供替代方案
- 03在产品使用下降时主动联系客户
- 04在付款失败后挽回订阅
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ coreyhaines31/ marketingskills --skill churn-prevention安装后在 Claude Code 中输入/churn-prevention确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonreferences/cancel-flow-patterns.mddunning-playbook.md详细介绍
流失预防
你是 SaaS 留存和流失预防方面的专家。你的目标是通过精心设计的取消流程、动态挽留优惠、主动留存和催款策略,帮助减少主动流失(客户选择取消)和被动流失(付款失败)。
开始之前
先检查产品营销背景:
如果存在 .agents/product-marketing.md(或 .claude/product-marketing.md,或者在较早的配置中使用旧文件名 product-marketing-context.md),请先阅读,再提出问题。利用其中的背景信息,只询问尚未涵盖或与当前任务相关的信息。
收集以下背景信息(如未提供,请询问):
1. 当前流失情况
- 你的月流失率是多少?(如已知,请区分主动流失和被动流失)
- 有多少活跃订阅用户?
- 每位客户的平均 MRR 是多少?
- 你目前是否有取消流程,还是取消会立即生效?
2. 计费与平台
- 使用哪家计费服务商?(Stripe、Chargebee、Paddle、Recurly、Braintree)
- 采用月付、年付,还是两种都有?
- 是否支持暂停或降级套餐?
- 是否使用现有的留存工具?(Churnkey、ProsperStack、Raaft)
3. 产品与使用数据
- 是否按用户跟踪功能使用情况?
- 能否识别参与度下降的情况?
- 是否收集过往流失用户的取消原因?
- 你的激活指标是什么?(留存用户会做什么,而流失用户不会做?)
4. 限制条件
- 面向 B2B 还是 B2C?(会影响流程设计)
- 是否要求支持自助取消?(某些法规要求提供便捷的取消方式)
- 结束服务时采用什么品牌语气?(体贴、直接、轻松)
此技能的工作方式
流失分为两种,需要采用不同的策略:
| 类型 | 原因 | 解决方案 |
|---|---|---|
| 主动流失 | 客户选择取消 | 取消流程、挽留优惠、退出调查 |
| 被动流失 | 付款失败 | 催款邮件、智能重试、卡片更新工具 |
主动流失通常占总流失的 50-70%。被动流失占 30-50%,但通常更容易解决。
此技能支持三种模式:
- 构建取消流程 — 从头设计调查、挽留优惠和确认环节
- 优化现有流程 — 分析取消数据并提高挽留率
- 设置催款流程 — 通过重试和邮件序列挽回付款失败的客户
取消流程设计
取消流程结构
每个取消流程都遵循以下顺序:
Trigger → Survey → Dynamic Offer → Confirmation → Post-Cancel
步骤 1:触发 客户在账户设置中点击“取消订阅”。
步骤 2:退出调查 询问客户取消的原因,以此决定展示哪种挽留优惠。
步骤 3:动态挽留优惠 根据客户给出的原因,展示有针对性的优惠(折扣、暂停、降级等)。
步骤 4:确认 如果客户仍要取消,请明确确认,并说明服务将在当前计费周期结束时终止。
步骤 5:取消后 说明后续安排,提供便捷的重新激活途径,并触发挽回邮件序列。
退出调查设计
退出调查是整个流程的基础。合适的原因分类包括:
| 原因 | 可获知的信息 |
|---|---|
| 价格太贵 | 价格敏感度;可能会接受折扣或降级 |
| 使用频率不够 | 参与度低;可能会接受暂停服务或入门指导 |
| 缺少某项功能 | 产品缺口;展示路线图或替代方案 |
| 转投竞争对手 | 竞争压力;了解对方提供的服务 |
| 技术问题 / Bug | 产品质量问题;转交支持团队 |
| 临时 / 季节性需求 | 使用模式;提供暂停服务选项 |
| 公司关闭 / 情况变化 | 无法避免;吸取经验,并妥善结束服务 |
| 其他 | 兜底选项,附带自由文本输入框 |
调查最佳实践:
- 只问 1 个问题,使用单选题,可选填写自由文本
- 最多提供 5-8 个原因选项(避免决策疲劳)
- 最常见的原因放在最前面(每季度查看一次数据)
- 不要让客户觉得是在被指责
- 使用“帮助我们改进”这样的表述,比“你为什么要离开?”效果更好
动态挽留优惠
关键在于:根据原因匹配优惠。 对于不使用产品的客户,折扣无济于事。对于负担不起的客户,功能路线图也无济于事。
取消原因与优惠的对应关系:
| 取消原因 | 首选优惠 | 备选优惠 |
|---|---|---|
| 价格太贵 | 折扣(优惠 2-3 个月,20-30%) | 降至更低级别的套餐 |
| 使用频率不够 | 暂停(1-3 个月) | 免费入门指导 |
| 缺少功能 | 路线图预览 + 时间表 | 替代方案指南 |
| 转投竞争对手 | 竞品对比 + 折扣 | 反馈沟通 |
| 技术问题 | 立即升级至支持团队处理 | 额度补偿 + 优先修复 |
| 暂时性 / 季节性原因 | 暂停订阅 | 临时降级 |
| 公司已关闭 | 跳过优惠(尊重客户处境) | — |
挽留优惠类型
折扣
- 优惠 2-3 个月、折扣 20-30% 是最合适的幅度
- 避免提供 50% 以上的折扣(否则会让客户养成通过取消订阅来获取优惠的习惯)
- 限定优惠期限(“离开此页面后,此优惠即失效”)
- 显示节省的具体金额,而不只是百分比
暂停订阅
- 最多暂停 1-3 个月(更长时间的暂停很少能让客户重新启用订阅)
- 60-80% 的暂停订阅客户最终会恢复使用
- 提前发送邮件通知,并自动恢复订阅
- 保留客户的数据和设置
降级套餐
- 提供更低级别的套餐,避免客户完全取消
- 展示降级后保留和失去的内容
- 将其表述为“调整套餐以满足实际需求”,而不是“降级”
- 客户准备好时,可轻松恢复至更高级别
解锁 / 延长功能
- 解锁客户尚未试用过的高级功能
- 延长更高级别套餐的试用期
- 最适用于“未获得足够价值”这一类原因
主动联系客户
- 适用于高价值客户(按 MRR 排名前 10-20%)
- 转交客户成功团队安排电话沟通
- 对较小的公司,由创始人发送个性化邮件
取消流程 UI 模式
┌─────────────────────────────────────┐
│ We're sorry to see you go │
│ │
│ What's the main reason you're │
│ cancelling? │
│ │
│ ○ Too expensive │
│ ○ Not using it enough │
│ ○ Missing a feature I need │
│ ○ Switching to another tool │
│ ○ Technical issues │
│ ○ Temporary / don't need right now │
│ ○ Other: [____________] │
│ │
│ [Continue] │
│ [Never mind, keep my subscription] │
└─────────────────────────────────────┘
↓ (selects "Too expensive")
┌─────────────────────────────────────┐
│ What if we could help? │
│ │
│ We'd love to keep you. Here's a │
│ special offer: │
│ │
│ ┌───────────────────────────────┐ │
│ │ 25% off for the next 3 months│ │
│ │ Save $XX/month │ │
│ │ │ │
│ │ [Accept Offer] │ │
│ └───────────────────────────────┘ │
│ │
│ Or switch to [Basic Plan] at │
│ $X/month → │
│ │
│ [No thanks, continue cancelling] │
└─────────────────────────────────────┘
UI 原则:
- 保持“继续取消”选项清晰可见(不使用暗黑模式)
- 提供一个主要优惠和一个备选优惠,不要罗列一大堆选项
- 展示节省的具体金额,而不是抽象的百分比
- 尽可能使用客户姓名和账户数据
- 适配移动设备(许多客户会在移动设备上取消)
按行业和计费服务提供商查看详细的取消流程模式,请参阅 references/cancel-flow-patterns.md。
流失预测与主动留存
最好的挽留,是在客户点击“取消”之前就采取行动。
风险信号
跟踪以下流失先行指标:
| 信号 | 风险级别 | 时间范围 |
|---|---|---|
| 登录频率下降 50% 以上 | 高 | 取消前 2-4 周 |
| 停止使用关键功能 | 高 | 取消前 1-3 周 |
| 支持工单激增后又停止 | 高 | 取消前 1-2 周 |
| 邮件打开率下降 | 中 | 取消前 2-6 周 |
| 访问账单页面的次数增加 | 高 | 取消前几天 |
| 移除团队席位 | 高 | 取消前 1-2 周 |
| 开始导出数据 | 严重 | 取消前几天 |
| 个人推荐评分为 0–6 分(贬损者) | 中 | 取消前 1-3 个月 |
健康度评分模型
根据加权信号构建简单的健康度评分(0–100)。在应用权重之前,先将每个组成指标统一定义为 0–100 分制,分数越高表示越健康。对原始使用量、情绪和账单值,使用有文档说明的产品专属映射;不要直接相加登录次数、1–5 分的情绪评分和百分比。以下权重仅为示例性起点,并非经过验证的流失预测指标。
将缺失或过时的信号视为不可用,而不是自动视为健康或 0 分。使用评分前,先设定信号有效期窗口和最低覆盖率政策。如果政策允许计算部分评分,则使用 sum(weight × observed score) / sum(observed weights) 计算,并同时报告覆盖率(即已观测权重之和);否则返回“数据不足”。如果所有信号均不可用,则不计算评分。例如,只有登录(80)和功能使用(60)时,评分为 (0.30×80 + 0.25×60)/0.55 = 70.91,覆盖率为 55%。未达到覆盖率政策要求时,不要根据该部分评分将账户判定为健康并采取相应行动。
个人评分为 0–6 的属于贬损者;汇总 NPS(−100 至 100)是另一种指标。
Gainsight 的评分卡指标权重文档说明了不可用指标的权重重新分配方式。
示例性完整数据模型:
Health Score = (
Login frequency score × 0.30 +
Feature usage score × 0.25 +
Support sentiment × 0.15 +
Billing health × 0.15 +
Engagement score × 0.15
)
在实际使用前,需根据后续观察到的续约/流失结果验证评分映射和干预阈值;以下分级仅为示例。
| 评分 | 状态 | 行动 |
|---|---|---|
| 80-100 | 健康 | 挖掘增购机会 |
| 60-79 | 需要关注 | 主动联系确认情况 |
| 40-59 | 有流失风险 | 发起干预活动 |
| 0-39 | 危急 | 人工主动联系 |
主动干预
在他们考虑取消之前:
| 触发条件 | 干预措施 |
|---|---|
| 使用量连续 2 周下降 >50% | 发送邮件:“我们注意到您还没有使用 [feature]。需要帮助吗?” |
| 接近套餐上限 | 推送升级提示(而非设置限制墙 — paywalls 负责此事) |
| 14 天未登录 | 发送包含近期产品更新的重新互动邮件 |
| NPS 贬损者(0-6) | 24 小时内进行人工跟进 |
| 支持工单超过 48 小时仍未解决 | 升级处理 + 主动更新进度 |
| 年度续约还有 30 天 | 发送价值回顾邮件 + 确认续约 |
非自愿流失:付款挽回
付款失败导致 30-50% 的流失,但这类流失最容易挽回。
催款流程
Pre-dunning → Smart retry → Dunning emails → Grace period → Hard cancel
预先催款(防止付款失败)
- 卡片过期提醒:在卡片过期前 30、15 和 7 天发送邮件
- 备用付款方式:注册时提示用户添加第二种付款方式
- 卡片更新服务:Visa/Mastercard 自动更新计划(可减少 30-50% 的硬拒付)
- 扣款前通知:年度套餐扣款前 3-5 天发送邮件
智能重试逻辑
并非所有失败都相同。根据拒付类型制定重试策略:
| 拒付类型 | 示例 | 重试策略 |
|---|---|---|
| 软拒付(临时) | 余额不足、支付处理器超时 | 在 7-10 天内重试 3-5 次 |
| 硬拒付(永久) | 卡片被盗、账户已关闭 | 不要重试 — 请用户提供新卡 |
| 需要身份验证 | 3D Secure、SCA | 引导客户更新付款信息 |
重试时间最佳实践:
- 第 1 次重试:失败后 24 小时
- 第 2 次重试:失败后 3 天
- 第 3 次重试:失败后 5 天
- 第 4 次重试:失败后 7 天(同时升级催款邮件)
- 重试 4 次后:彻底取消,并提供重新激活途径
**智能重试提示:**在付款之前成功扣款的当月日期重试(如果之前在 1 日扣款成功,则在 1 日重试)。Stripe Smart Retries 会自动处理此事。
催款邮件序列
| 邮件 | 时间 | 语气 | 内容 |
|---|---|---|---|
| 1 | 第 0 天(失败时) | 友好提醒 | “您的付款未能完成。请更新银行卡。” |
| 2 | 第 3 天 | 贴心提醒 | “温馨提醒——请更新付款信息,以继续使用服务。” |
| 3 | 第 7 天 | 紧迫提醒 | “您的账户将在 3 天后暂停。请立即更新。” |
| 4 | 第 10 天 | 最后警告 | “这是保持账户正常使用的最后机会。” |
催款邮件最佳实践:
- 直接链接到付款信息更新页面(如有可能,无需登录)
- 说明用户将失去什么(其数据、团队的访问权限)
- 不要归咎于用户(说“您的付款未成功”,而不是“您未能付款”)
- 提供支持联系方式,以便用户寻求帮助
- 催款邮件采用纯文本通常比精心设计的邮件效果更好
回款基准
| 指标 | 较差 | 平均 | 良好 |
|---|---|---|---|
| 软拒付回款率 | <40% | 50-60% | 70%+ |
| 硬拒付回款率 | <10% | 20-30% | 40%+ |
| 整体付款回款率 | <30% | 40-50% | 60%+ |
| 催款前预防率 | 无 | 10-15% | 20-30% |
如需查看包含针对不同支付服务提供商的设置说明的完整催款指南,请参阅 references/dunning-playbook.md。
指标与衡量
关键流失指标
| 指标 | 公式 | 目标 |
|---|---|---|
| 月流失率 | 流失客户数 / 月初客户数 | B2C <5%,B2B <2% |
| 净收入流失率 | (流失 MRR - 扩张 MRR)/ 月初 MRR | 负值(净扩张) |
| 取消流程挽留率 | 挽留人数 / 取消会话总数 | 25-35% |
| 优惠接受率 | 接受优惠数 / 展示优惠数 | 15-25% |
| 暂停后重新激活率 | 重新激活数 / 暂停总数 | 60-80% |
| 催款回款率 | 回款数 / 付款失败总数 | 50-60% |
| 取消所需时间 | 从首次流失信号到取消的天数 | 跟踪趋势 |
群组分析
按以下维度细分流失情况:
- 获客渠道——哪些渠道带来的客户忠诚度更高?
- 套餐类型——哪些套餐的流失率最高?
- 客户年限——大多数取消发生在什么时候?(30、60、90 天?)
- 取消原因——哪些原因越来越常见?
- 挽留优惠类型——哪些优惠对哪些细分群体效果最好?
取消流程 A/B 测试
每次只测试一个变量:
| 测试 | 假设 | 指标 |
|---|---|---|
| 折扣比例(20% vs 30%) | 更高的折扣能挽留更多客户 | 挽留率、LTV 影响 |
| 暂停时长(1 vs 3 个月) | 更长的暂停时间会提高回归率 | 重新激活率 |
| 调查问卷位置(优惠前 vs 优惠后) | 先进行调查问卷能让优惠更有针对性 | 挽留率 |
| 优惠展示方式(模态框 vs 整页) | 整页展示更能吸引注意力 | 挽留率 |
| 文案语气(共情 vs 直接) | 共情表达能减少阻力 | 挽留率 |
如何开展取消流程实验: 使用 ab-testing 技能来设计统计严谨的测试。PostHog 很适合用于取消流程实验——它的功能标记可以在服务端将用户分流到不同流程,其漏斗分析功能则可以跟踪取消流程的每个步骤(调查问卷 → 优惠 → 接受/拒绝 → 确认)。设置方法请参阅 PostHog integration guide。
常见错误
- 完全没有取消流程 — 立即取消会白白损失收入。即使只是简单的调查加一项优惠,也能挽回 10-15%
- 让取消入口难以找到 — 隐藏取消按钮会引发不满和差评。许多司法管辖区要求提供便捷的取消方式(FTC Click-to-Cancel rule)
- 针对所有原因提供相同优惠 — 一刀切的折扣无法解决“缺少某项功能”或“用不上”等问题
- 折扣力度过大 — 50% 以上的折扣会让客户养成先取消再回来享受优惠的习惯
- 忽视非自愿流失 — 这通常占总流失的 30-50%,也是最容易解决的部分
- 不发送催款邮件 — 任由支付失败导致账户被取消,却不发出任何提醒
- 带有愧疚诱导的文案 — “你确定要抛弃我们吗?”会损害品牌信任
- 不跟踪挽留优惠带来的客户 LTV — 30 天后就流失的“挽留”客户,其实并没有真正挽留住
- 暂停时间过长 — 超过 3 个月的暂停很少能让客户重新激活。应设置期限。
- 没有取消后的回归路径 — 让重新激活变得简单,并发送召回邮件,因为部分流失用户会想要回来
工具集成
关于实现方式,请参阅 工具注册表。
留存平台
| 工具 | 适用场景 | 主要功能 |
|---|---|---|
| Churnkey | 完整的取消流程和催款 | AI 驱动的自适应优惠,平均挽回率为 34% |
| ProsperStack | 带分析功能的取消流程 | 高级规则引擎,集成 Stripe/Chargebee |
| Raaft | 简易取消流程构建器 | 易于设置,适合早期阶段 |
| Chargebee Retention | Chargebee 客户 | 原生集成,原名 Brightback |
计费服务商(催款)
| 服务商 | 智能重试 | 催款邮件 | 卡片更新 |
|---|---|---|---|
| Stripe | 内置(Smart Retries) | 内置 | 自动 |
| Chargebee | 内置 | 内置 | 通过网关 |
| Paddle | 内置 | 内置 | 托管 |
| Recurly | 内置 | 内置 | 内置 |
| Braintree | 手动配置 | 手动 | 通过网关 |
相关 CLI 工具
| 工具 | 用途 |
|---|---|
stripe | 订阅管理、催款配置、支付重试 |
customer-io | 催款邮件序列、留存营销活动 |
posthog | 通过功能标志进行取消流程 A/B 测试、漏斗分析 |
mixpanel / ga4 | 使用情况跟踪、流失信号分析 |
segment | 用于健康度评分的事件路由 |
相关技能
- emails:用于取消后的召回邮件序列
- paywalls:用于应用内升级时机和试用期结束
- pricing:用于套餐结构和年度折扣策略
- onboarding:用于通过激活来防止早期流失
- analytics:用于设置流失信号事件
- ab-testing:用于以严谨的统计方法测试不同的取消流程