要识别样本污染,不能只看总数是否一致,而要把“版本分配”当成一个独立变量:先确认同一访客是否可能被重复计入两个版本,再检查分流规则、统计口径和缓存是否让样本混在一起。只要分流不是随机且稳定,后续对比就不可靠。
样本污染通常有三层来源,需要逐层排除:
判断顺序应从分流层开始。如果分流本身就不稳定,统计层再精确也无法还原真实样本。你可以先取一份最近7天的分流日志,按访客标识分组,看同一标识是否出现在两个版本中。若出现,就说明污染已经发生在分流层,后续对比应暂停。
不同原因留下的证据不同,可以用下面这组特征来区分:
这里要强调一个容易被忽略的条件:访客标识本身是否稳定。如果标识依赖浏览器本地存储,而用户清除了存储或换了设备,同一人会被当成新访客重新分配。此时样本看起来“被污染”,实际是标识断裂。你需要先确认标识的生成和保留方式,再判断是否属于污染。
假设你手上有一份分流记录,字段包括访客标识、分配版本、分配时间、页面加载版本。可以按以下步骤处理:
完成标记后,先不要删除数据,而是把疑似污染样本单独放一组。用剩余样本重新计算核心指标,观察结论是否改变。如果结论方向不变,污染影响有限;如果结论反转,说明当前对比不可用,应先修复分流或统计口径。
假设某个页面用随机数把访客分到A、B两版,随机种子按天变化。某访客第一天进入A版,第二天再次访问时被重新分配到B版。如果统计按访客去重,这个访客会被算进两个版本;如果统计按访问次数,则两次访问分别计入。此时你看到的“B版转化更好”可能只是因为B版承接了更多回访用户,而不是版本本身有效。
这个例子的关键不是数字大小,而是分配是否稳定。要验证,可以固定随机种子或按访客标识做一致性哈希,让同一访客始终进入同一版本。修改后重新观察,如果版本间差异缩小或消失,就说明此前的差异很可能来自样本污染,而不是版本效果。
修复分流或统计口径后,下一步不是立刻下结论,而是先做一次小范围核对:取一批已知访客标识,手动确认其分配版本与页面加载版本一致,并确认统计后台只记录一次。核对通过后,再按同一时间窗口重新收集数据。此时若仍出现同一访客跨版本,说明还有未覆盖的缓存或标识问题,需要回到分流层继续排查,而不是继续在统计层调整。