先给结论:当同一入口的访客被随机或按规则分到不同版本时,样本污染通常不是“流量脏了”,而是分组边界被破坏。识别它的关键动作是:先确认分流标识是否稳定,再检查各版本访客在进入实验前是否已经带有系统性差异。如果分流标识稳定、进入前差异可忽略,那么观察到的版本差异更可能来自版本本身;如果分流标识漂移或进入前差异明显,后续的转化对比就不能直接归因于版本。
假设有一个内容站,通过百度数据开放平台接入了站内行为数据,同时用页面上的两个版本做转化测试:A版保留旧表单,B版把表单缩短。分流方式是按访客ID末位奇偶分配。上线三天后,B版提交率明显更高。此时不能立刻下结论,因为还要回答一个问题:进入实验前,两组访客是不是同一类人。
如果分流标识在访客跨设备、清缓存或重新进入时发生变化,同一个人可能今天进A版、明天进B版。这样两组的“人”就不再是稳定集合,提交率差异里混入了重复计数和身份漂移。这就是样本污染的典型来源之一。
分流标识是识别样本污染的起点。它可能是登录ID、设备标识、Cookie中的分桶值,也可能是服务端按规则生成的稳定键。判断它是否稳定,不看它叫什么名字,而看同一访客在多次访问中是否落到同一版本。
一个可执行动作是:在分流命中时记录分桶键的哈希值、版本号和命中时间,但不记录可还原个人身份的信息。若同一哈希值在短时间内对应多个版本,先暂停对比结论,回到分流逻辑排查。这个动作的结果会直接决定下一步:标识稳定才继续做版本间比较,标识不稳定则先修分流,而不是继续加样本量。
分流标识稳定,也不代表两组在实验前没有差异。样本污染还可能来自进入路径不同。例如A版入口在自然结果页,B版入口在信息流推荐位,那么两版本访客的来源结构本身就不同。此时提交率差异可能来自来源差异,而不是表单长度。
可区分的证据包括:
这里要注意口径差异:第三方估算流量、搜索引擎报告与站内统计对“访客”的定义可能不同。站内统计按标识去重,第三方按估算模型,两者不能直接相减来证明污染。更稳妥的做法是用同一套站内口径,把进入实验前的来源和行为分布拉出来对比。
如果发现来源或新老访客比例不同,不要直接放弃数据,而是把整体对比拆成同层对比。假设B版整体提交率更高,但按来源分层后,搜索来源内两版本接近,推荐来源内B版更高,那么差异可能集中在推荐流量,而不是所有访客。
具体动作是:先按来源分层,再按新老访客分层,最后看每层内两版本的提交率差异是否一致。如果只有某一层出现明显差异,而该层在两版本中的占比又不同,整体差异就可能是样本构成造成的。这个结果会影响下一步:要么限制结论只适用于该层,要么调整分流规则让各层在两版本中均衡。
当以下条件同时成立时,版本差异才更值得继续追查:分流标识在观察期内稳定;两版本进入前的来源、新老访客、时段分布接近;分层后各层内差异方向一致;站内统计口径没有在实验期间发生变化。
如果只满足其中一部分,结论应降级为“待验证”,而不是直接作为改版依据。例如分流标识稳定但来源分布差异大,可以先做来源分层,再决定是否扩大样本;分流标识不稳定,则先修分桶,否则继续积累的数据只会让污染更隐蔽。
最后提醒一点:某个指标突然归零或翻倍,不能单独证明分流出了问题。它也可能是埋点发布、过滤规则调整或统计口径变化造成的。把分流日志、进入前分布和分层结果放在一起看,才能判断样本污染是否真的存在。