如何评估模型在到期前30日的召回率?

解读

面试官问的是“模型召回率”,但落脚在“到期前30日”这一关键时间窗口,本质想验证三件事:

  1. 你是否理解**召回率(Recall)精确率(Precision)**在会员/订阅到期场景下的业务含义;
  2. 你是否能把模型指标翻译成运营可落地的北极星指标
  3. 你是否具备数据闭环思维:从样本构造、标签定义、阈值选择到上线复盘,全链路可控。
    因此,回答必须同时体现技术严谨性运营场景感,并给出可复现的评估框架

知识点

  1. 召回率定义:Recall = TP / (TP + FN),TP 为“模型预测会流失且真实流失”,FN 为“模型预测不会流失却真实流失”。
  2. 到期前30日:指会员/订阅到期日 T 的前 30 天(T-30 0 点),所有仍活跃的用户池。
  3. 样本构造
    • 取近 12 个月到期用户,滑窗采样,避免季节偏差;
    • 负样本需排除已续费到期前 30 天内主动退订的用户,防止标签污染。
  4. 标签定义:在 T-30 时点,若用户在到期后 7 日内未续费则标记为 1(流失),否则 0。
  5. 阈值选择:用KS 最大 + 运营触达成本双约束,通常选 Recall≥60% 且 Precision 下降拐点处。
  6. 分层评估:按会员等级、渠道、剩余价值三层交叉,防止高价值群体被模型忽视。
  7. 线上验证:采用A/B 实验,实验组取模型高概率 30% 用户做短信+优惠券召回,对照组随机 30%,看7 日召回转化率绝对提升(Δ≥+3% 为合格)。
  8. 监控闭环:每周复盘模型稳定性 PSI<0.1,若特征漂移触发自动重训

答案

评估分四步,每一步都给出可落地指标:
第一步:离线回溯

  1. 抽取近 12 个月到期用户 100 万,按 T-30 时点构造特征(近 30 天登录次数、消费金额、客服工单数等 80 维)。
  2. 标签:到期后 7 日未续费为 1,共 35 万正样本。
  3. 训练 XGBoost,五折交叉验证,Recall@Top30%=68.4%,Precision=22.1%,KS=0.42
  4. 按会员等级分层,VIP3 以上 Recall 仅 51%,需单独调高权重再训一次,把 VIP 群体 Recall 拉到 60% 以上。

第二步:阈值锁定
运营触达成本反推:每条短信+优惠券成本 3 元,可接受单用户获客成本≤15 元,则 Precision≥20% 即可打平。结合 ROC 曲线,选概率阈值 0.287,此时 Recall=62%,Precision=21%,满足成本约束。

第三步:线上 A/B 实验

  1. 取未来 2 周到期用户 10 万,实验组用模型高概率 30%(约 3 万)做个性化短信+7 折券召回,对照组随机 30% 做常规文案
  2. 核心指标:7 日召回转化率(实验组 18.7% vs 对照组 15.1%,Δ=+3.6%,p<0.01),实验组 GMV 提升 210 万,ROI=4.2。
  3. 同时监控假流失率(模型预测流失却主动续费)=8.4%,低于 10% 红线,说明券补贴未过度。

第四步:长期监控

  1. 每周跑PSI 与 CSI,发现“近 7 日客服工单数”特征漂移 PSI=0.15,触发自动重训
  2. 新模型 Recall 提升至 65%,Precision 保持 20%,月度多召回 4200 高价值用户新增 GMV 超 600 万

用以上四步,即可在到期前 30 日场景下,科学、可量化地评估并持续优化模型召回率。

拓展思考

  1. 多目标优化:若公司同时考核 GMV 与利润率,可把单用户净利润作为样本权重,改用自定义损失函数,让模型直接优化“钱”而非“人头”。
  2. 序列模型:引入Transformer捕捉 30 日行为序列,实验显示 Recall 可再提 4 个百分点,但线上推理耗时增加 30ms,需用知识蒸馏压缩到 10ms 以内。
  3. 因果推断:召回券可能把“本来就会续费”的用户也补贴了,下一步用Uplift Model找“券敏感人群”,预计补贴成本可再降 18%