先给结论:识别样本污染,不能只看两个版本转化率差了多少,而要先确认“同一个访客是否可能同时进入两个版本、以及分流记录是否在实验开始前就已稳定”。如果缺少完整实验平台数据或后台权限,仍可做的最小动作是抽取一批带时间戳的访问记录,按访客标识和首次进入版本做交叉核对;若同一访客在不同时间出现于不同版本,或分流比例在无改动时段突然漂移,就应暂停把差异归因于版本效果。
假设某个落地页上线了A、B两个版本,团队用前端脚本按访客标识分流。后来发现B版本转化率更高,但负责分析的人只有站内访问日志,没有实验平台的分流报表。此时不能直接宣布B更好,因为日志只能说明“谁最终转化”,不一定说明“谁被稳定分到了哪个版本”。需要先回答:分流是在哪个环节发生的,访客标识是否持久,页面跳转或再次访问时会不会重新分配。
这个情境的关键不是数据量大小,而是分配机制是否可追溯。若访客首次进入时被写入版本标记,后续访问都读取同一个标记,污染风险较低;若每次页面加载都重新随机,或标记只存在当前会话,跨会话、跨设备或从不同入口进入时就可能被重新分配。
第一,同一访客标识在两个版本都留下记录。这里的访客标识可以是登录账号、稳定的第一方Cookie值或服务端生成的匿名ID。若同一ID在A、B两组的曝光日志中都出现,且时间上不是实验配置切换导致,就说明分流没有锁住。
第二,分流比例在无版本改动的时段突然变化。例如原本接近各半,某天开始变成三七开,但当天没有调整流量规则、没有新增入口、也没有改变投放。这种漂移可能来自缓存、跳转链路、脚本加载失败或分流条件被意外修改。
第三,转化事件被重复归因。假设一个访客先看到A,后来因缓存失效看到B并完成购买,如果归因逻辑把订单同时记到两个版本,或只记到最后一次曝光,就会让版本效果被高估或低估。识别方法是把曝光记录和转化记录按访客ID、时间顺序串起来,而不是只看汇总表。
可以执行一个“抽样回放”动作:从访问日志中随机抽取一批访客,只保留有明确时间戳和版本标记的记录,按访客ID排序,检查是否存在以下模式。
这个动作的结果会直接影响下一步:如果抽样中没有发现跨版本记录,且比例稳定,可以继续做版本对比,但仍要说明结论只适用于当前分流机制;如果发现跨版本记录,就不应先比较转化率,而要先修分流和归因逻辑,再重新积累干净样本。
转化率差异大、某版本跳出率高、某个时段流量下降,都不能单独证明样本污染。它们也可能是版本本身效果不同、入口流量结构变化、促销活动结束、页面加载变慢或外部渠道波动。反过来,转化率差异很小也不能证明没有污染,因为污染可能同时拉高和拉低两组,把真实差异掩盖掉。
同样,第三方估算流量、搜索引擎报告和站内统计的口径不同,不能直接互相替代。站内日志能看到的版本标记和访客路径,第三方工具未必能看到;第三方工具显示的流量变化,也不能直接还原分流逻辑。诊断时应优先使用能同时看到“分配”和“结果”的第一方记录,缺少时明确写出假设和不能推出的结论。
若确认存在样本污染,先停止基于当前数据的版本胜负判断,改为修复分流标识、统一归因口径,并重新开始记录。若无法修复分流机制,可以把分析目标从“哪个版本更好”降级为“当前分配方式下,哪类访客更可能转化”,但这已经不再是干净的A/B对比。
若未发现污染,也应保留抽样证据和分流配置说明,再进入效果比较。此时仍要记住:识别样本污染只是让对比成立的前提,不是转化率提升的保证。下一步该做的是在干净样本上设定观察窗口,并明确什么条件下才值得把某个版本推向全量。