流失预警不是找出已经离开的人,而是利用用户过去一段时间的行为,预测他在未来一段时间内流失的概率。它真正要解决的问题是:在用户尚可被干预时,把有限资源优先用在高风险、可挽回的人身上。
一、先把预测问题放到时间轴上
一个规范的流失预测至少包含三个时间窗口:
- 观察期:提取用户历史行为,例如过去30天的打开频率、核心功能使用、消费、投诉和推送响应。
- 表现期:观察用户是否满足流失定义,用于生成训练标签。
- 预测期:模型上线后,需要预测的未来区间。
例如,要在11月11日预测当天活跃用户未来7天是否流失,可以先选取11月4日的活跃用户,提取其此前一个月的行为作为特征,再用11月4日至11日的真实流失结果生成标签。模型训练完成后,对11月11日的用户使用同样的特征口径,预测其未来一周风险。

这个设计最重要的是防止“偷看未来”。任何发生在建模时点之后的信息都不能进入特征,否则离线效果会异常漂亮,上线后却无法复现。训练集、验证集和测试集也应优先按时间切分,而不是只做随机切分,以检验模型面对未来数据漂移的能力。
二、建模不是选择一个算法,而是一套闭环
流失预警不是“准备数据—训练算法—输出名单”就结束了。模型只有接入干预并经过实验验证,才能产生业务价值;实验结果又会反过来修正标签、特征和策略。因此,一套完整方案通常包含五个阶段,并在上线后重新回到业务理解,形成循环。

1. 业务理解
先确定预测对象、流失口径、预测周期和可执行动作。预测“未来7天不再打开”和预测“未来30天不再付费”是两个不同任务。若业务没有合适的干预手段,即使模型很准,也未必产生价值。
2. 数据准备
统一用户、设备和账号标识,清理异常行为,处理缺失值,并检查正负样本比例。尤其要避免把后台唤醒、机器人行为或运营测试账号当成真实活跃。
3. 特征工程
常见特征包括:
- 最近一次活跃距今天数,即Recency;
- 一段时间内的活跃天数和使用频率;
- 核心行为完成率、驻留时长和使用深度;
- 行为趋势,如近7天相对近30天是否明显下降;
- 付费、权益、客服反馈和营销触达反应。
特征工程不只是增加变量,还包括筛选、编码以及删除会泄漏未来结果的特征。
4. 建模与离线评估
逻辑回归便于解释,树模型和梯度提升模型通常更擅长处理非线性关系。选择模型时,不能只看准确率:流失用户往往是少数类,即使全部预测为“不流失”,准确率也可能很高。
更有意义的指标包括查准率、查全率、F1、PR-AUC,以及Top-K高风险人群的命中率和提升度。最终阈值应由触达容量和干预成本决定,而不是机械地使用0.5。
这一阶段回答的是“模型能否比随机方式更准确地识别高风险用户”,还不能说明产品干预一定有效。
5. 部署、实验与更新
上线后需要固定数据口径、特征刷新频率、评分频率和人群输出规则,再把模型输出接入具体干预,并通过随机对照实验验证增量效果。同时监控特征分布、预测分数、真实流失率和策略效果。当产品功能、用户结构或季节发生变化时,模型关系会漂移,需要重新校准或训练。
SEMMA中的抽样、探索、修改、建模和评估,可以描述数据分析过程,但它主要止步于“模型是否有效”。完整的业务闭环还要继续回答“采用模型选人是否优于随机选人”“干预是否真正减少流失”,并把在线实验结果反馈到下一轮建模。
三、模型效果与干预效果必须分开验证
因此,第三章并不是建模流程之外的另一件事,而是第二章“建模与部署”阶段的验证层。两章之间存在一条明确的因果链:
业务定义决定标签 → 数据与特征决定模型能学到什么 → 模型产生风险排序 → 风险排序决定谁接受干预 → 实验结果证明策略是否创造增量价值 → 新结果反哺下一轮业务定义和模型训练。
这条链中有两个不能互相替代的问题:**模型能不能找准人,以及策略能不能留住人。**前者属于预测问题,依靠未受干预的数据验证;后者属于因果问题,必须通过随机对照实验验证。模型很准但策略无效,项目不会改善留存;策略有效但模型选人不准,则会浪费触达和补贴资源。

上图正是这套闭环的验证部分,可以拆成五个连续环节:切分数据、构造特征、训练并评估模型、分配实验人群、评估业务结果。前两步承接数据准备和特征工程,第三步完成离线预测验证,后两步进入线上因果验证。线上结果再成为模型监控、阈值调整和策略迭代的输入;任何一段不成立,项目都不应直接放量。
第一步:切分训练集与测试集
训练集用于学习规律,测试集只在模型确定后用于最终检验。图中采用1∶1只是示意,实践中可以按7∶3或8∶2划分;比比例更重要的是按时间切分。例如用1—9月训练、10月验证、11月测试,可以更接近上线后“用过去预测未来”的真实场景。
特征工程、参数选择和阈值调整都不能反复查看测试集,否则测试集也会被间接“学会”,产生效果虚高。
第二步:离线证明模型比随机选择更准
在完全未被干预的测试集上,比较模型高风险人群与随机人群的真实流失率。如果模型圈出的Top 10%用户中有40%最终流失,而总体流失率只有10%,则提升度为:
这说明同样覆盖一批人,模型能找到四倍密度的风险用户。
除了Lift,还应根据业务约束选择指标:触达资源有限时关注Top-K查准率,希望覆盖更多流失用户时关注查全率;样本极不均衡时优先查看PR-AUC;输出概率要用于成本计算时,还应检查概率校准。只有离线指标在跨时间测试集上稳定,模型才具备上线实验资格。
第三步:把“模型选人”和“产品干预”组成四组实验
模型上线后,可以把人群组织成一个2×2实验:
| 组别 | 人群来源 | 是否干预 | 主要作用 |
|---|---|---|---|
| A组 | 模型识别的高风险用户 | 是 | 测试高风险人群的干预结果 |
| B组 | 模型识别的高风险用户 | 否 | 作为A组对照,并观察真实风险 |
| C组 | 随机或普通用户 | 是 | 测试不依赖模型的广泛干预 |
| D组 | 随机或普通用户 | 否 | 提供自然流失基线 |
图中的90%和10%应理解为示意性的流量分配,而不是固定规则。实际比例要根据触达预算、预期效果和统计功效计算,尤其要保证B、D两个对照组足够大,否则无法判断差异来自策略还是随机波动。
第四步:用不同组间比较回答不同问题
四组不能随意交叉比较,每一种比较都有明确含义:
- B组 vs D组:模型是否找对了人。 两组都没有接受干预,如果B组的自然流失率明显更高,说明模型确实提高了风险人群浓度。
- A组 vs B组:策略对高风险用户是否有效。 两组人群来源一致,差异只在是否接受干预,因此可以估计高风险人群的增量留存。
- C组 vs D组:广泛干预是否有效。 用来判断同一策略对普通人群的平均作用。
- (A−B) vs (C−D):模型定向是否值得。 如果高风险人群的增量效果更大,说明模型不仅找到了容易流失的人,也找到了更适合该策略的人。
以留存率为结果时:
若使用流失率,则方向相反,应计算Churn_B-Churn_A。实验还应同时观察退订、投诉、补贴成本和长期留存,避免短期回流以透支体验为代价。
第五步:避免用被干预后的结果反推模型准确率
需要特别注意:不能用接受干预后的结果直接评价模型准确率。模型可能本来预测正确,却因为策略成功而让用户没有流失;若仍把他记为“预测错误”,就会惩罚一个真正有效的系统。预测能力应在未干预样本中评估,干预价值则通过随机对照实验评估。
这套流程最终形成两道上线门槛:第一道是预测门槛,模型在跨时间测试集上能够稳定浓缩高风险用户;第二道是经营门槛,A/B实验产生的增量用户价值能够覆盖触达、权益和研发成本。通过两道门槛后,才适合逐步扩大流量,并持续保留小比例长期对照组监测模型与策略衰减。
四、流失预警最终是一套决策系统
模型输出的概率不是结论,而是决策输入。真正上线时,还要结合用户价值、可触达性、干预成本和预期增量效果排序:高风险但几乎无法挽回的人,不一定比中风险且容易改善的人更值得优先投入。
因此,成熟的流失预警系统不只追求更高AUC,而是形成“识别风险—匹配策略—实验验证—监控更新”的闭环。模型负责找到可能需要帮助的人,实验负责证明干预创造了多少增量价值,两者缺一不可。