先给结论:如果访客分流是随机且稳定的,两个版本各自的表现可以放在一起比较;一旦分流规则本身与访客来源、设备或登录状态相关,就不能直接合并样本,需要先按分流维度拆开,再判断差异来自版本还是来自被分进来的人。识别样本污染的关键,不是看总量差多少,而是看分流是否独立于结果。
版本对比成立的前提,是每个访客进入哪个版本不受其他因素影响。实际业务里常见的偏差来源有几种:新访客默认进新版本、老访客因为缓存留在旧版本、某些渠道的落地页只指向一个版本、登录用户和未登录用户走不同逻辑。这些规则本身没有对错,但它们会让两个版本的访客构成不同。
判断方法很直接:把分流记录和访客属性放在一起看。如果两个版本在设备类型、来源渠道、新老访客比例、地区分布上差异明显,说明分流并不独立于这些属性。此时合并计算出来的差异,无法区分是版本改动带来的,还是人群结构不同带来的。
一个可执行的动作是:先按来源渠道和设备类型分别统计两个版本的核心指标,再和整体数字对比。如果某个分层里差异消失,而整体差异很大,说明整体差异主要由分层结构造成,下一步应该先修正分流规则,而不是继续解读版本效果。
污染不一定表现为数据异常,更多时候表现为数据“看起来合理但经不起拆分”。可以按以下顺序排查:
这三种形态指向同一个判断:只要分流规则和结果变量之间存在共同原因,样本就已被污染。识别它不需要复杂模型,只需要把分流变量和结果变量做交叉检查。
假设某页面有两个版本,A 版本主要承接自然搜索访客,B 版本主要承接站内推荐访客。假设自然搜索访客的转化率天然高于推荐访客,那么即使两个版本本身没有任何差别,B 版本的整体转化率也会更低。
这时如果只看整体数字,会得出“B 版本更差”的结论;但如果按来源渠道分别看,两个版本在同一渠道内的转化率可能接近。这个例子说明:当分流规则与渠道绑定,渠道就成了混杂因素,整体比较失去意义。
要验证这一点,可以固定渠道后再比较版本。如果固定渠道后差异大幅缩小,下一步动作应是修正分流,让每个渠道都能进入两个版本,而不是继续优化 B 版本。反过来,如果固定渠道后差异依然存在,才值得进一步排查版本本身的差异。
上面所有判断都建立在一个前提上:分流规则在观察期内保持稳定。如果中途修改过分流比例、上线过新的定向条件,或者缓存策略发生变化,那么前后两段数据不能直接拼接。此时即使分层后差异消失,也不能排除是规则变更造成的,需要把变更时间点作为分段边界重新看。
另一个会让结论失效的反例是:访客属性本身被版本改动影响。比如新版本改变了页面加载方式,导致部分低端设备访客提前离开,那么设备分布差异就不再是分流造成的,而是版本造成的。这种情况下不能简单把设备当作混杂因素剔除,否则会掩盖版本的真实影响。区分方法是看设备分布差异出现在访问开始前还是开始后。
建议按以下顺序处理,每一步的结果决定下一步:
这套顺序的核心是:先确认样本可不可比,再判断版本好不好。样本不可比时,任何版本结论都只是人群差异的投影,继续解读只会把错误结论带入下一步决策。