先给结论:当同一批访客被随机分到A、B两个版本时,站内统计里出现的差异,未必来自版本本身,而可能来自分流不均、埋点重复或回传延迟。识别样本污染的关键动作,是把“分流记录”和“行为记录”按同一个访客标识对齐,再检查两边的分组是否一致。如果一致率明显偏低,后续的版本对比就不能直接使用。
样本污染通常出现在三个位置:分流层、采集层、回传层。分流层指访客进入页面前被分到哪一组;采集层指页面上的统计代码是否把分组信息一起上报;回传层指数据到达统计工具时是否发生丢失或重复。
你可以先取一份分流服务的原始记录,字段至少包含访客标识、分组、进入时间。再取一份站内统计的访客明细,字段包含同一访客标识、分组、首次行为时间。把两份数据按访客标识做交集,计算分组一致的比例。
这一步的动作结果是:你会得到一个可核查的一致率,而不是只凭统计工具里的汇总数字猜测。下一步应只针对一致率最低的那一层继续排查,避免同时改动多处。
很多统计工具默认按会话或按天聚合,同一个访客在跨天或跨设备时会被拆成多条记录。如果分流是按访客维度做的,而统计是按会话维度看的,两边天然对不上,这时看到的“污染”可能只是口径差异。
处理办法是:在分流和统计两边都保留一个稳定的访客标识,例如登录后的用户ID,或第一方Cookie里的匿名ID。用这个标识做左连接,检查同一个标识是否只出现一个分组。
假设一个短例子:某访客标识在分流记录里属于B组,但在站内统计里同时出现在A组和B组的页面浏览中。这个现象有两种合理解释:一是页面上的分组参数被缓存成了旧值;二是该访客中途清除了Cookie,被重新分流。要区分这两种原因,需要看该标识的首次进入时间与分组变更时间是否吻合,而不是直接判定某一版效果更好。
如果分组信息只在访客首次进入时写入,后续页面浏览不再携带,那么当访客跨页面或跨子域时,统计工具就可能把它归到默认组。这类污染的特点是:差异集中在深层页面或跳出后的二次访问,而不是着陆页本身。
可执行的动作是:在统计工具的请求参数里,确认每次上报都带有分组字段。你可以打开一次真实访问的请求记录,查看分组字段是否为空、是否与分流记录一致。如果为空的比例较高,说明采集层需要补写分组,而不是继续调整分流比例。
这个动作的结果会直接影响下一步:如果分组字段完整,就可以进入回传层检查;如果分组字段大量缺失,应先修复上报逻辑,再重新积累数据,否则任何版本对比都建立在混合样本上。
回传延迟会造成一种假象:某组数据看起来偏少,但过一段时间又补齐了。判断方法是,取同一时间段的数据,分别在回传后1小时和24小时各导出一次,比较两组的访客数量变化。
需要说明的是,第三方估算流量、搜索引擎报告与站内统计口径不同,三者不能直接互相验证。站内统计里的分组差异,只能用于判断站内分流是否一致,不能用来还原搜索算法或外部渠道的真实分配。
在完成上述对齐后,你可以设定一个明确的判定条件:当分组一致率低于你预设的阈值,且分组字段缺失比例也偏高时,当前这批数据不用于版本对比。此时应修复采集或分流逻辑,重新开始记录,而不是在污染样本上继续做细分。
如果一致率和字段完整度都达标,但两组行为差异仍然存在,才可以进入下一步,检查页面内容、加载速度或交互路径是否真的不同。这样做的结果是,你把“样本污染”和“版本效果”分开处理,避免把采集问题误判成版本优劣。整个判断过程依赖的是可核查的访客标识与分组记录,而不是某个汇总指标的单点变化。