识别样本污染的核心动作,是先把“每个访客到底属于哪个版本”这件事从统计结果里拆出来,变成可独立核对的分配日志。如果分配日志本身干净、可回溯,那么即使两个版本的数据差异很大,也仍可能是真实效应;如果分配日志缺失、错乱或与统计口径对不上,那么后续所有对比都不可信。判断顺序应当是:先确认分配机制是否记录了访客到版本的映射,再确认统计系统是否按同一映射归因,最后才看结果差异。
第一种条件:你能拿到访客级别的分配记录,例如一个包含访客标识、版本标识、分配时间戳的日志表。此时优先做“映射核对”,而不是看汇总指标。具体动作是抽取一段时间内被统计系统计为A版的访客,去分配日志里查他们实际被分到了哪个版本。如果出现一批访客在统计系统里算A版、在分配日志里算B版,就说明归因环节发生了错位。这个动作的结果会直接决定下一步:错位比例低且集中在特定入口,可以先修归因再重跑对比;错位比例高且分散,说明分配本身不可靠,应暂停版本对比。
第二种条件:你拿不到访客级别的分配记录,只能看到两个版本的汇总数字。这种情况下不能直接断言污染,只能寻找间接证据。可用的间接证据包括:同一访客在短时间内被重复计入不同版本、版本间流量比例与预设比例长期偏离、某个版本在特定来源渠道上异常集中。注意,这些现象都有其他合理解释——流量比例偏离可能是分配算法本身的权重设置,渠道集中可能是投放变化,重复计入可能是统计去重逻辑不同。因此无分配日志时,结论只能是“存在污染嫌疑”,不能升级为定论。
很多团队排查时反复检查版本配置、代码部署和统计埋点,却漏掉一个前提:分配系统用来识别访客的标识,和统计系统用来归因的标识,可能根本不是同一个。常见情况是分配用匿名设备标识,统计用登录账号或Cookie,两者在跨设备、清缓存、换浏览器后无法稳定对应。此时访客并没有被“错误分配”,而是被“错误识别”,表现却和样本污染一模一样。
区分这两种原因,可以做一个假设性的短例子。假设某次对比中,B版转化率明显偏高。先不要下结论,而是取一小批在统计里被归为B版的访客,逐一核对他们在分配日志里的版本。若这批人确实被分到B版,只是标识映射不稳,那问题在识别环节;若这批人里有相当比例实际被分到A版,那问题在分配或归因环节。两种原因对应完全不同的修复动作:前者要统一标识口径,后者要检查分配逻辑与统计上报的对接。
要判断样本污染,需要一条能互相印证的证据链,而不是依赖单一数字。建议按以下顺序收集:
完成对账后,关键不是看“不一致总数是多少”,而是看这些不一致是否随机分布。如果错配集中在某一类访客上,说明污染有系统性来源,修复后对比才有意义;如果错配完全随机且比例很低,可能对结论影响有限,但仍需在报告中注明。这里要注意,第三方估算流量、搜索引擎报告与站内统计的口径本来就不同,不能用其中任何一个单独还原分配过程,也不能因为某个指标归零就断定污染已解决。
并非所有版本差异都需要先排除污染。如果两个版本的差异方向一致、在多个独立时间段重复出现,且分配日志显示错配比例稳定且极低,那么继续深挖污染的边际收益很小,应把精力转向效应本身的业务解释。反过来,如果差异只出现在某一次对比、某一个渠道或某一天,且分配日志本身不完整,那么优先怀疑污染而不是急于采纳结论。判断标准是:分配机制的可追溯性是否足以支撑你区分“版本效应”和“分配错位”。追溯性不足时,任何版本对比都只能作为线索,不能作为决策依据。此时正确的下一步是补齐分配日志,而不是继续增加统计指标。