
1. 冷启动AB测试的复杂性为什么它比常规测试更难做过推荐系统AB测试的同学都知道冷启动测试是个让人头疼的问题。我经历过无数次凌晨三点被报警叫醒都是因为冷启测试出了问题。常规推荐测试通常只需要关注用户侧的点击率、停留时长等指标但冷启测试需要同时兼顾作者侧和用户侧就像同时玩两个俄罗斯方块游戏稍有不慎就会全盘崩溃。在常规推荐场景下我们做AB测试只需要把用户随机分成两组50%用户走新策略实验组50%用户走旧策略对照组。但冷启动场景完全不同新内容本身也需要分组。这就带来了一个致命问题——流量争夺战。实验组的新内容会拼命抢夺对照组新内容的曝光机会就像两个饥饿的人抢一块面包最终测试结果往往会严重失真。更麻烦的是保量机制的干扰。很多平台会给新内容设定最低曝光量比如每篇新笔记保证100次曝光。在实际测试中如果实验组新内容已经获得了80次曝光系统就会减少它在对照组的曝光机会。这就导致对照组数据被污染最终得到的对比指标完全不可信。我见过最夸张的案例是AB测试显示新策略能提升15%的点击率全量上线后实际效果却是下降3%。2. 新老内容流量争夺看不见的战场2.1 实验组与对照组的内部竞争假设我们测试一个新策略给新笔记的排序权重增加2倍。按照常规思路我们会把新笔记随机分成两组实验组应用新权重对照组保持原权重。但这里有个隐藏陷阱——两组新笔记在共用同一个流量池。当实验组新笔记因为权重提升获得更多曝光时它们实际上是在抢夺本该属于对照组新笔记的曝光机会。这就好比在同一个鱼塘里一拨渔民用更密的渔网捕鱼另一拨渔民的收获自然会减少。测试结果会夸大新策略的效果因为实验组的增益本质上是对照组的损失。我在2021年做过一次实验当AB测试显示实验组新笔记点击率提升8%时实际上全量上线后整体新笔记点击率只提升了1.5%。这就是因为测试期间两组新笔记在互相抢夺流量造成了数据假象。2.2 新老内容的跨组竞争另一个更隐蔽的问题是新老内容之间的流量争夺。在测试环境中实验组新笔记假设占全部新笔记的50%会与100%的老笔记竞争。而在全量环境中100%的新笔记会与100%的老笔记竞争。这种不对称性会导致测试结果严重失真。举个例子测试时50%的新笔记权重提升2倍意味着每1篇实验组新笔记可以打败2篇老笔记。但全量上线后所有新笔记权重都提升2倍就变成了1篇新笔记只能打败1篇老笔记。这种情况下AB测试观察到的效果会被放大实际全量效果往往要打折扣。3. 保量机制好心办坏事的典型3.1 保量如何扭曲实验结果几乎所有平台都会对新内容设置保量曝光但这恰恰是AB测试的隐形杀手。假设平台规定每篇新笔记保证100次曝光如果实验组用户已经给某笔记带来80次曝光系统就只需要在对照组用户中分配20次曝光这会导致对照组数据严重偏离真实分布我们团队曾做过模拟关闭保量机制时AB测试预测的全量效果误差在±0.5%以内开启保量后误差可能高达±5%。更可怕的是这种偏差没有固定方向有时高估有时低估完全无法通过后期校正消除。3.2 动态保量的两难选择有些平台尝试用动态保量来缓解这个问题比如根据内容质量调整曝光量。但这又引入了新的偏差高质量内容在实验组获得超额曝光后在对照组几乎不会出现。最终导致对照组变成低质量内容集散地各项指标被人为压低。我们在2022年尝试过一个折中方案将保量总量拆分到实验组和对照组。比如100次曝光目标拆分为实验组50次对照组50次。虽然这降低了测试灵敏度但至少保证了数据可比性。不过这个方案需要复杂的流量调控系统支持对大多数团队来说实施成本太高。4. 工业界的实用妥协方案4.1 分层隔离测试法经过多次踩坑后我们发展出一套三层隔离方法用户分层将用户随机分为实验组和对照组作者分层将新内容创作者随机分组内容池隔离确保实验组用户只能看到实验组作者生产的内容这种方法虽然牺牲了部分内容多样性但有效切断了实验组和对照组之间的流量争夺。根据我们的经验相比传统方法这种设计的预测准确性能提升3-5倍。不过要注意控制测试时长因为内容池缩小会影响用户体验长时间测试可能导致用户流失。4.2 渐进式流量分配另一个实用技巧是渐进式流量分配第一周给新策略分配5%流量第二周提升到10%第三周提升到20%...这种方法本质上是用连续小实验替代一次性大实验。虽然统计显著性需要更长时间才能达到但能有效控制风险。我们曾用这个方法成功上线了一个风险很高的冷启算法全程没有引发任何业务指标波动。在实际操作中我们通常会结合多种方法。比如先用分层隔离法验证策略方向再用渐进式分配进行全量推广。这就像先在小实验室验证理论再到中型试验场测试最后才工业化量产。虽然过程繁琐但能最大限度避免灾难性错误。