小白一句话
前 22 章那个模型只回答一个问题:“这个人未来 7 天会不会回来”。可回来的人里,有人回来领一次就走,有人天天来——"回访"和"留住"是两码事,运营两个都想知道。这一章讲清楚为什么一个目标不够,第二个目标长什么样。
这一章在干嘛
第12章到第22章,把"未来 7 天回不回来"这件事从特征、训练、校准、评估一路做透了。但回头看一眼,这个单目标有个盲区:它把"回来了"当成终点,可回来的人差别很大。
有人回来后天天来,有人就回来露个脸。对运营来说,这两类人的待遇完全不同:露脸就走的人可能只是被某次提醒拽回来的,明天又走;天天来的人才是真正留住的。一个"回访概率"给不了这么细的信息。
本章先用示例数据把这个盲区摆到台面上,再说第二个目标是什么。后面的第24~27章才动手:第二个标签怎么造、模型怎么改成双头、评分怎么拼、怎么评估。
回访里藏着个"黏度"问题
把训练表里所有"回来了"(active_7d = 1)的 134 行翻出来,数一数他们未来 7 天到底活跃了几天:
| 1 天 | 25 | 18.7% |
| 2 天 | 25 | 18.7% |
| 3 天 | 26 | 19.4% |
| 4 天 | 13 | 9.7% |
| 5 天 | 21 | 15.7% |
| 6 天 | 14 | 10.4% |
| 7 天 | 10 | 7.5% |
从 1 天到 7 天,每一档都有人。也就是说,“回访"这 134 个人里,37.3% 的人回来只待了 1~2 天,62.7% 的人待了 3 天以上。单目标模型只回答"回不回”,这 37% 和 63% 在它眼里没有区别——可对运营来说,一个是"又走了",一个是"留住了"。
四档画像:两个问题,两种特征
把 162 行按"回访 + 黏度"切成四档,看各自的特征长什么样(全是评分日及以前可知的特征):
| 没回 | 28 | 17.3% | 5.8 | 0.227 | −0.04 | 4.9 |
| 露脸就走(只来 1 天) | 25 | 15.4% | 7.3 | 0.252 | +0.28 | 3.0 |
| 浅层(来 2 天) | 25 | 15.4% | 12.2 | 0.395 | −0.12 | 2.7 |
| 黏(≥3 天) | 84 | 51.9% | 24.3 | 0.679 | +1.58 | 0.7 |
看"露脸就走"和"没回"这两行——它们长得很像:总领取 7.3 vs 5.8、活跃率 0.252 vs 0.227、趋势 +0.28 vs −0.04。在单目标模型眼里,这两类人本来就分不太开(都接近"不会来"),但事实上露脸走的那批人来了,只是不黏。
这就暴露了关键一点:"会不会回来"和"回来黏不黏"用的是不同信号。看"黏"这一档:趋势 +1.58、活跃率 0.679、总领取 24.3,全面高出一截——黏不黏,靠的是"这人一直很活跃、最近还在涨"这种长期信号;而"回不回",靠的是新近度、趋势这种短期信号。两个问题没法用同一个模型的目标一把抓。
拿两个具体的人看(07-22 评分日):
- U0036:总领取 55 次,未来 7 天活跃 7 天——天天来,黏。
- U0044:总领取 24 次,未来 7 天活跃 1 天——领得比许多黏的人还多,却只来一天,露脸就走。
单目标模型给 U0044 的分数不会低——他历史领得多,模型觉得他"会回来",事实上他也确实回来了。但运营要是只按回访分给他重点投入,就错付了:他回来领一次就走了。回访分回答不了"值不值得深耕"。
为什么不直接把单目标阈值抬到 ≥3 天
有人会想:既然想要"黏的人",那把单目标的定义从"≥1 天"改成"≥3 天"不就行了?示例数据直接告诉你代价:
- 正例率从 0.827 掉到 0.519(134 行 → 84 行),正例少了将近一半——问题一下子难了;
- 更麻烦的是,"回不回"这个信息整个丢了。一个未来 7 天来 2 天的人,按 ≥3 天算他是负例,可运营明明知道他还愿意来,只是不勤。只报"黏不黏",连"要不要先触达"都答不了。
运营要的是两个数:这个人会不会回来(决定要不要触达),回来得黏不黏(决定要不要重点投入)。一个标签只能回答一个。
第二个目标长什么样:条件概率
第二个目标不是一个并列的新目标,而是一个挂在回访前提下的条件:
P(黏 | 回访) = 在"未来 7 天至少回来 1 天"的前提下,至少活跃 3 天的概率
它和回访概率是层级关系:先判断回不回,再看回来的人里黏不黏。两个概率可以相乘:
P(未来7天活跃≥3天) = P(回访) × P(黏 | 回访)
这个拆法有两个好处:
回访概率管"要不要触达",条件持续概率管"值不值得深耕",两个数各管一摊,谁也不替谁。
它和前后章节的关系
- 第12~22章是单目标:只学"回不回",输出一个 0–100 分;
- 第24章教第二个标签怎么造(sustained_active_7d,未来 7 天活跃 ≥3 天),并验证它和 active_7d 的层级关系;
- 第25章讲双头模型:共享特征底座、挂两个分支,条件头只在回访样本上算损失;
- 第26章讲评分怎么拼:两个概率,乘出来的持续概率天然满足层级一致;
- 第27章讲双目标的评估:每个头单独评,条件头只在回访子集上评。
动手
本章配套脚本 附件/07_双目标模型升级篇/activity_dual_intro.py(回访人群的活跃天数分布 + 四档特征画像 + U0036/U0044 对照 + 抬阈值对比)。只用标准库,环境搭建见第4章。训练表由第12章 附件/05_活跃度预测篇/activity_train_table.py 生成,标签口径与前面章节一致。





