# 客户流失预测模型：SaaS 创始人的无机器学习入门指南

> 无需机器学习即可构建可用的 SaaS 客户流失预测模型。了解信号、评分、阈值，以及如何在客户取消订阅之前对高风险账户采取行动。
- **Author**: Ayush Agarwal
- **Published**: 2026-05-04
- **Category**: Retention, SaaS, Churn
- **URL**: https://dodopayments.com/blogs/zh/churn-prediction-models-no-ml

---

大多数客户流失预测建议都是从"构建一个机器学习模型"开始的。但对于 ARR 尚未达到 1,000 万美元的阶段，这个建议并不正确。在原始 SQL 上运行的简单加权信号模型，其表现优于简单的机器学习实现，直到你拥有足够多的带标签流失数据来进行训练----而大多数 SaaS 公司都没有这么多数据。你实际上能够预防的许多流失都属于非自愿流失，因此应将预测与[客户计费门户](https://dodopayments.com/blogs/customer-billing-portal)结合，让客户自行更新失效的银行卡。

本指南将介绍如何在不使用机器学习的情况下，利用计费数据和产品数据中已有的可观测信号，构建一个真正可用的客户流失预测系统。系统输出的是每位客户的风险评分，并在客户取消订阅之前触发留存措施。

## 为什么无机器学习方案适用于大多数 SaaS

有三个原因：

1. **你没有足够的带标签数据。** 机器学习模型需要数千个流失事件才能进行良好训练。ARR 低于 1,000 万美元的大多数 SaaS 公司，最多只有几百个流失事件。
2. **信号的可解释性很重要。** 当 CSM 问"为什么这个账户存在风险？"时，回答"模型预测的"并不能真正回答问题。加权信号模型可以清楚地说明哪些信号推动了评分。
3. **运营更简单。** 一个 SQL 视图加一个 cron 任务，比包含特征存储、模型重新训练和漂移监控的机器学习流水线更容易维护。

> 创始人会因为客户流失预测听起来很先进而追逐机器学习。一个不那么光鲜但真实的事实是：80% 的价值来自基于五个明显信号的加权评分。先把这个做好。等你真正拥有数据之后，再考虑机器学习。
>
> - Ayush Agarwal，Dodo Payments 联合创始人兼 CPTO

如需更广泛的留存背景，请参阅我们的配套指南：[将 SaaS 流失率降低 30%](https://dodopayments.com/blogs/reduce-churn-metrics-saas)和[由支付失败导致的非自愿流失](https://dodopayments.com/blogs/involuntary-churn-failed-payments)。

## 能够预测客户流失的五个信号

这五个信号几乎适用于所有 B2B SaaS 的客户流失预测。权重会因产品而异，但信号类别基本一致。

```mermaid
flowchart TD
    A[Customer Risk Score] --> B[Signal 1: Usage Decline]
    A --> C[Signal 2: Payment Health]
    A --> D[Signal 3: Engagement Depth]
    A --> E[Signal 4: Support Tone]
    A --> F[Signal 5: Plan Fit]
    B --> G[Weighted Sum]
    C --> G
    D --> G
    E --> G
    F --> G
    G --> H[Risk Score 0-100]
```

### 信号 1：使用量下降

这是最强的客户流失预测信号。停止使用产品的客户通常会在 30 到 90 天内取消订阅。

**衡量方式：**

- 30 天使用量与 90 天滚动平均值的对比
- 距离上次有意义操作的天数（仅登录并不足够）
- 过去 4 周的趋势方向（下降、稳定或增长）

**评分权重：**

- 相比 90 天平均值下降 50% 以上：+30 分
- 下降 25-49%：+20 分
- 下降 10-24%：+10 分
- 稳定或增长：0 分

### 信号 2：支付健康度

支付失败、银行卡过期和催收状态，都能强烈预测即将发生的客户流失。

**衡量方式：**

- 银行卡将在 30 天内过期
- 最近一次支付失败
- 过去 90 天内的催收尝试次数
- 银行卡品牌发生变化（通常意味着客户更换了银行，也经常发生在流失前后）

**评分权重：**

- 银行卡已过期或支付失败（尚未恢复）：+25 分
- 银行卡将在 14 天内过期：+15 分
- 过去 90 天内重试支付 2 次以上：+10 分
- 健康：0 分

如需了解更深入的支付恢复模式，请参阅我们的[订阅催收恢复流程指南](https://dodopayments.com/blogs/subscription-dunning-recovery-sequence)和[SaaS 收入恢复](https://dodopayments.com/blogs/revenue-recovery-saas)。

### 信号 3：参与深度

客户与你的产品结合得有多深？使用浅层的客户更容易流失。

**衡量方式：**

- 使用的功能数量（越多越有黏性）
- 账户中的用户数量（B2B）
- 已连接的集成数量（CRM、Slack 等）
- 客户创建的内容量（记录、项目、文件）

**评分权重：**

- 单个用户、使用 1-2 个功能、没有集成：+20 分
- 单个用户、使用 3 个以上功能：+10 分
- 多用户、使用多个功能并连接了集成：0 分
- 深度参与（5 个以上用户、5 个以上功能、2 个以上集成）：-10 分（因为这类客户黏性强）

### 信号 4：支持语气

向支持团队升级问题、询问价格或要求退款的客户，更有可能流失。

**衡量方式：**

- 过去 60 天内的支持工单数量
- 最近工单的情绪（手动标记，或使用简单的关键词匹配，例如"取消""退款""太贵""无法使用"）
- 距离上次正面反馈的时间（NPS、CSAT）

**评分权重：**

- 最近提到取消或退款：+25 分
- 过去 30 天内有 3 个以上带负面情绪的工单：+15 分
- 1-2 个中性工单：0 分
- 没有工单或有正面反馈：-5 分

### 信号 5：套餐匹配度

选择了错误套餐的客户，可能会向上流失（转向更合适的套餐），也可能向外流失（转向竞争对手）。

**衡量方式：**

- 使用量与套餐限制的对比（使用不足或长期超额）
- 过去 90 天内的套餐层级变化
- 当前套餐的使用月数
- 价格层级与行业基准的对比

**评分权重：**

- 长期超额使用但没有升级：+15 分（令人沮丧）
- 严重使用不足（使用量低于额度的 20%）：+20 分（支付过多）
- 最近降级：+10 分
- 套餐匹配良好：0 分

## 综合风险评分

将加权信号相加，得到 0-100 分的风险评分：

| 分数   | 风险级别 | 操作                                              |
| ------ | -------- | ------------------------------------------------- |
| 0-20   | 健康     | 无需操作                                          |
| 21-40  | 观察     | 加入监控列表                                      |
| 41-60  | 升高     | 触发自动重新互动                                  |
| 61-80  | 高风险   | 人工联系（B2B 由 CSM 负责，早期阶段由创始人负责） |
| 81-100 | 严重     | 触发挽回流程并提供优惠，升级至高管处理            |

实际情况中，评分分布会明显集中在低分段。典型 SaaS 公司的客户中，70-80% 处于健康状态，15-20% 处于观察状态，5-10% 处于升高或更高风险级别。

## 实施：SQL 详解

下面是一个简化版的评分查询。请根据你的数据库结构进行调整。

```sql
WITH usage_signal AS (
  SELECT
    customer_id,
    CASE
      WHEN events_30d / NULLIF(events_90d / 3.0, 0) < 0.5 THEN 30
      WHEN events_30d / NULLIF(events_90d / 3.0, 0) < 0.75 THEN 20
      WHEN events_30d / NULLIF(events_90d / 3.0, 0) < 0.9 THEN 10
      ELSE 0
    END AS usage_score
  FROM customer_events_aggregated
),
payment_signal AS (
  SELECT
    customer_id,
    CASE
      WHEN last_payment_failed AND failed_at > NOW() - INTERVAL '7 days' THEN 25
      WHEN card_expires_at < NOW() + INTERVAL '14 days' THEN 15
      WHEN dunning_attempts_90d >= 2 THEN 10
      ELSE 0
    END AS payment_score
  FROM customer_billing
),
engagement_signal AS (
  SELECT
    customer_id,
    CASE
      WHEN num_users = 1 AND num_features_used <= 2 AND num_integrations = 0 THEN 20
      WHEN num_users = 1 AND num_features_used >= 3 THEN 10
      WHEN num_users >= 5 AND num_features_used >= 5 THEN -10
      ELSE 0
    END AS engagement_score
  FROM customer_engagement
)
SELECT
  c.customer_id,
  COALESCE(u.usage_score, 0) +
  COALESCE(p.payment_score, 0) +
  COALESCE(e.engagement_score, 0)
  AS risk_score
FROM customers c
LEFT JOIN usage_signal u ON c.customer_id = u.customer_id
LEFT JOIN payment_signal p ON c.customer_id = p.customer_id
LEFT JOIN engagement_signal e ON c.customer_id = e.customer_id
WHERE c.subscription_status = 'active'
ORDER BY risk_score DESC;
```

每晚运行一次。将结果输出到 `customer_risk_scores` 表中，并根据评分阈值触发后续操作。

## 如何处理这些评分

没有对应操作的评分毫无用处。应将每个风险区间映射到具体的干预措施。

### 观察（21-40）

添加到监控面板。不进行主动干预。每周重新评估一次。该区间内的大多数账户无需干预就会恢复健康状态。

### 升高（41-60）

触发自动重新互动：

- 发送个性化邮件，介绍客户使用不足的功能
- 在应用内展示横幅，突出介绍尚未使用的产品部分
- 如适用，提供免费培训课程

投入：低。预期提升：10-15% 的账户恢复至健康状态。

### 高风险（61-80）

由 CSM（B2B）或创始人（早期 SaaS）人工联系客户。沟通应做到：

1. 承认客户参与度下降，但不要采取防御姿态
2. 询问发生了什么变化
3. 提供具体帮助（培训、套餐调整、集成）
4. 不要问"你对我们的服务满意吗？"----这会传递出问题严重的信号

预期提升：通过一次真正的沟通，30-50% 的账户可恢复至健康状态。

### 严重（81-100）

触发挽回流程：

- 提供折扣（通常为 3-6 个月内优惠 20-30%）
- 提供套餐降级选项
- 允许暂停订阅，而不是直接取消
- 安排高管（创始人）通话

预期提升：尽管客户流失风险很高，仍可挽回 20-40% 的账户。

如需进一步了解这一类别，请参阅我们的配套文章：[SaaS 收入恢复](https://dodopayments.com/blogs/revenue-recovery-saas)。

## 何时转向机器学习

无机器学习评分模型在规模扩大后会逐渐失效。出现以下情况时，可以转向机器学习：

- 你拥有 1,000 个以上可用于训练的带标签流失事件
- 你有 50 个以上候选信号（而不只是上面的 5 个）
- 你有能够维护机器学习流水线的工程师
- 机器学习带来的额外提升值得投入工程成本（通常比加权评分高出 10-20% 的精确率）

对大多数 SaaS 公司来说，这通常发生在 ARR 超过 500 万美元之后。在此之前，加权信号模型比任何机器学习实现都更有价值。

## 常见错误

以下模式会让客户流失预测失去价值：

- **只使用单一信号评分。** 只衡量使用量，会忽略由支付问题和参与度问题导致的流失。
- **只使用滞后指标。** "客户已经 30 天没有登录"已经太晚了。应使用领先指标（使用趋势、支持语气）。
- **没有将评分映射到操作。** 构建评分却没有配套的行动计划，只是在做表面工作。
- **阈值漂移。** 阈值需要根据你的客户群体进行调整。在一家 SaaS 中属于"高风险"的情况，在另一家可能只是"观察"。
- **忽略 B2C 的特殊性。** 当每个账户只有一个用户时，按账户评分并不适用。B2C 应按用户而不是按账户评分。

> 客户流失预测属于运营，而不是数据科学。最能降低流失率的团队，是那些构建了可用预测模型并将响应流程运营化的团队。模型只贡献 20% 的价值，行动计划贡献 80%。
>
> - Rishabh Goel，Dodo Payments 联合创始人兼 CEO

## 工具

你可以完全基于现有技术栈构建这一系统：

- **数据仓库**（Postgres、BigQuery、Snowflake），用于运行评分查询
- **Cron 任务或工作流工具**（Airflow、Dagster、n8n、GitHub Actions），用于每晚运行
- **CRM 或 Customer.io**，用于根据评分变化触发自动操作
- **Slack 或电子邮件**，用于向 CSM 通知高风险账户
- **客户门户**，在高级配置中向客户展示由评分驱动的建议

如需了解客户门户侧的实施模式，请参阅[客户门户文档](https://docs.dodopayments.com/features/customer-portal)。

## Dodo Payments 如何帮助进行客户流失预测

Dodo Payments 提供驱动模型中信号 2 的支付健康度信号：

- 每次计费状态变化对应的 Webhook 事件
- 通过 API 获取实时银行卡过期数据
- 订阅状态、催收尝试历史和重试结果
- 通过嵌入式客户门户获取客户参与数据
- 为挽回流程提供暂停和降级选项
- 完整的 MoR（名义商户）覆盖，避免全球税务合规拖累留存工作

如需了解实施模式，请参阅[订阅催收](https://docs.dodopayments.com/features/recovery/subscription-dunning)和[弃购恢复](https://docs.dodopayments.com/features/recovery/abandoned-cart-recovery)功能文档，以及介绍事件流的[Webhook 文档](https://docs.dodopayments.com/developer-resources/webhooks)。

## 常见问题

### 我需要机器学习来预测 SaaS 客户流失吗？

不需要。对于 ARR 低于 1,000 万美元的大多数 SaaS 公司，在原始 SQL 上运行的加权信号模型，其表现优于简单的机器学习实现。当你拥有 1,000 个以上带标签的流失事件、50 个以上候选信号，以及维护流水线所需的工程能力时，机器学习才会变得有用。在此之前，简单评分是更合适的选择。

### 哪个客户流失信号最具预测性？

使用量下降，优势非常明显。在几乎所有 SaaS 中，停止使用产品的客户都会在 30 到 90 天内取消订阅。接下来最强的信号是支付健康度（支付失败、银行卡即将过期）和支持语气（问题升级、退款请求）。

### 我应该多久运行一次客户流失预测？

对大多数 SaaS 来说，每晚运行一次就足够了。这些信号变化没有快到需要实时评分。例外是支付相关信号：当支付失败或银行卡过期时，应立即触发操作。

### 我应该如何根据客户流失预测采取行动？

将每个风险区间映射到具体操作：监控（低风险）、自动重新互动（中风险）、人工联系（高风险）、挽回流程（严重风险）。只有能够推动行动，评分才有价值。没有这种映射，你只是在构建面板，而不是降低流失率。

### MoR（名义商户）能帮助进行客户流失预测吗？

可以，但属于间接帮助。像 Dodo Payments 这样的 MoR（名义商户）会自动处理支付健康度信号（支付失败、催收、重试），在非自愿流失转变为自愿流失之前挽回其中很大一部分，并提供可输入评分模型信号 2 的 Webhook 数据。

## 总结

客户流失预测并不需要机器学习，也能带来真正的价值。基于五个核心信号（使用量下降、支付健康度、参与深度、支持语气、套餐匹配度）的加权信号模型，可以识别出 80% 的高风险账户。

构建评分查询。将行动计划运营化。根据你获得的经验不断调整阈值。只有当数据和工程能力足以证明投入合理时，才转向机器学习。

如果你希望使用一个能够原生提供支付健康度信号的计费平台，[Dodo Payments](https://dodopayments.com) 可以通过 Webhook 和控制面板提供这些信号。请参阅[价格页面](https://dodopayments.com/pricing)和[订阅催收文档](https://docs.dodopayments.com/features/recovery/subscription-dunning)。
---
- [More Retention articles](https://dodopayments.com/blogs/category/retention)
- [All articles](https://dodopayments.com/blogs)