先说结论性的数字:一个两比例检验,对照组CTR 5.5%,实验组5.8%,每组40万样本,双侧alpha 0.05,算出来p值0.031,看起来显著。但如果实验期间做了3次中期窥探,按序贯检验校正,p值会到0.11左右。这不是模型问题,是统计问题。
第一个陷阱是窥探。某电商2022年在推荐排序上跑实验,PM每天看一次看板,第3天看到p值0.04就宣布胜利,全量上线。结果全量后CTR回落0.2个百分点。复盘:实验期做了7次窥探,名义显著性被放大。修正做法:(1)实验前定最短运行天数7天;(2)中期只看方向不看显著性;(3)必须中期决策就用Alpha Spending,把0.05按窥探次数分摊。
第二个陷阱是样本比例失调。2021年某短视频平台实验,实验组流量占比设计50%,实际跑到57%。原因是分桶用了设备ID哈希,但部分安卓机型ID重置频繁。SRM检验(样本比例失调检验)的p值小于0.001就该停。他们的错误是没做SRM,跑了10天才发现。步骤很简单:每天跑一次卡方检验,观察组和对照组样本量对比,p值低于0.001就报警。
第三个陷阱是指标口径漂移。某生鲜平台实验期间改了"加购"的埋点定义,从"点击加购按钮"改成"加购成功且未取消"。实验组在改口径后数据,对照组在前。结果实验组加购率虚高1.1个百分点。常见错误是实验期改埋点。规则:实验开始前3天冻结埋点,实验期埋点变更需走双人确认,变更当天数据打标隔离。
第四个陷阱是多重比较。某内容平台一次跑8个指标:CTR、时长、点赞、评论、分享、关注、次日留存、7日留存。8个指标里至少1个p值小于0.05的概率是1减0.95的8次方,约34%。他们看到"分享率p=0.04"就宣布显著,其实是碰运气。修正用Bonferroni:alpha除以指标数,0.05除以8等于0.00625。或者事前定1个主指标,其余作辅助,辅助指标只看方向。
第五个陷阱是网络效应。社交产品做实验,用户之间有关注关系,实验组用户的内容会出现在对照组用户的feed里。2020年某社区实验,实验组推新作者,对照组用户刷到了实验组作者的爆款内容,对照组指标也被抬高。这种场景要做时间片轮转或地理分桶。实操:按城市分桶,随机选20个城市做实验组,另外20个做对照,城市间用户关系密度低,污染小。
给一个可执行检查表。实验前:定主指标1个、辅助指标不超过3个、定最短运行天数、跑SRM预估。实验中:每天跑SRM检验、冻结埋点、不做中期显著性决策。实验后:多重比较校正、看主指标置信区间而非只看p值、记录实验期是否有产品改动。40万样本不保证结论对,保证流程对才行。