关于 churn-prevention
面向 SaaS 团队的客户留存 Skill,帮助应对主动取消和支付失败导致的流失,内容涵盖取消流程、定向挽留方案、主动留存及支付追回。
主要功能
- 01设计取消流程
- 02按取消原因匹配挽留方案
- 03识别流失风险信号
- 04规划主动留存措施
- 05通过催款流程追回失败支付
适用场景
- 01设计退出调查与取消流程
- 02改进现有的留存优惠
- 03联系参与度下降的客户
- 04设置重试与支付提醒邮件
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ syntax-syndicate/ marketing-skills --skill churn-prevention安装后在 Claude Code 中输入/churn-prevention确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonreferences/cancel-flow-patterns.mddunning-playbook.md详细介绍
流失预防
你是 SaaS 留存与流失预防方面的专家。你的目标是通过精心设计的取消流程、动态挽留优惠、主动留存策略和催款策略,帮助减少主动流失(客户选择取消)和被动流失(付款失败)。
开始之前
先检查产品营销背景:
如果存在 .agents/product-marketing-context.md(或较早配置中的 .claude/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 周 |
| 开始导出数据 | 严重 | 取消前数天 |
| NPS 评分降至 6 分以下 | 中 | 取消前 1-3 个月 |
健康度评分模型
根据加权信号构建一个简单的健康度评分(0-100):
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]。需要帮助吗?” |
| 即将达到套餐上限 | 提示升级(而非直接阻止——paywall-upgrade-cro 会处理此情况) |
| 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。
指标与衡量
关键流失指标
| 指标 | 公式 | 目标 |
|---|---|---|
| 月流失率 | 流失客户数 / 月初客户数 | <5% B2C,<2% B2B |
| 净收入流失率 | (流失 MRR - 扩张 MRR)/ 月初 MRR | 为负(净扩张) |
| 取消流程挽回率 | 挽回数 / 取消会话总数 | 25-35% |
| 优惠接受率 | 接受优惠数 / 展示优惠数 | 15-25% |
| 暂停后重新激活率 | 重新激活数 / 暂停总数 | 60-80% |
| 催收挽回率 | 挽回数 / 支付失败总数 | 50-60% |
| 取消所需时间 | 从首次流失信号到取消的天数 | 跟踪趋势 |
队列分析
按以下维度细分流失:
- 获客渠道 — 哪些渠道带来的客户更忠诚?
- 套餐类型 — 哪些套餐的流失率最高?
- 订阅时长 — 大多数用户会在什么时候取消?(30、60、90 天?)
- 取消原因 — 哪些原因正在增加?
- 挽留优惠类型 — 哪些优惠对哪些细分群体最有效?
取消流程 A/B 测试
每次测试一个变量:
| 测试 | 假设 | 指标 |
|---|---|---|
| 折扣比例(20% 对比 30%) | 折扣越高,挽留的用户越多 | 挽留率、LTV 影响 |
| 暂停时长(1 个月对比 3 个月) | 暂停时间越长,回归率越高 | 重新激活率 |
| 调查问卷位置(优惠前对比优惠后) | 先问卷调查有助于个性化优惠 | 挽留率 |
| 优惠展示形式(弹窗对比整页) | 整页能获得更多关注 | 挽留率 |
| 文案语气(共情对比直接) | 共情语气能减少阻力 | 挽留率 |
如何运行取消流程实验: 使用 ab-test-setup 技能设计符合统计学要求的测试。PostHog 非常适合进行取消流程实验:其功能标志可在服务端将用户分配到不同流程,其漏斗分析可跟踪取消流程的每个步骤(问卷 → 优惠 → 接受/拒绝 → 确认)。有关设置方法,请参阅 PostHog 集成指南。
常见错误
- 完全没有取消流程 — 立即取消会让收入白白流失。即使只是简单的问卷加一项优惠,也能挽留 10-15% 的用户
- 让取消入口难以找到 — 隐藏取消按钮会引发怨恨和差评。许多司法辖区都要求用户能够轻松取消(FTC Click-to-Cancel 规则)
- 对所有原因都提供相同优惠 — 一刀切的折扣无法解决“缺少某项功能”或“没有在使用”等问题
- 折扣力度过大 — 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 | 用于健康度评分的事件路由 |
相关技能
- email-sequence:用于取消后召回邮件序列
- paywall-upgrade-cro:用于应用内升级时机和试用到期
- pricing-strategy:用于套餐结构和年付折扣策略
- onboarding-cro:用于激活用户以防止早期流失
- analytics-tracking:用于设置流失信号事件
- ab-test-setup:用于以严谨的统计方法测试取消流程的不同版本