先给结论:当同一批访客被随机或半随机地分配到A/B两个页面版本时,样本污染通常表现为“分组不独立”或“分组不完整”。你不需要完整日志或后台权限,只要手头有一份按日期或按来源拆分的访客表,就能用“同一访客是否出现在两组”和“每组是否混入非目标来源”两个动作做最小排查。但要注意:发现重叠不等于污染一定发生,也可能是跨设备识别或缓存回退造成的假象。
假设你只有一份导出表,字段是日期、来源、落地页、访客标识(如cookie或设备号)。这份资料能回答“同一标识是否同时出现在两个版本”,不能回答“用户是否真的看到了不同内容”。因为标识相同不代表展示层没被缓存或重定向覆盖。所以第一步不是下结论,而是把表按访客标识分组,统计每个标识出现的版本数。
这两个指标只是线索。跨版本标识可能来自同一用户换了设备,也可能来自你给两组分配了同一个落地页但参数不同。来源混入可能来自投放渠道把同一广告同时指向两个版本。把这些可能性列出来,再决定下一步。
把跨版本标识数除以总标识数,得到一个比例。这个比例本身没有绝对阈值,但它能帮你判断污染是零星还是系统性。假设你导出1000个标识,其中30个出现在两个版本,比例是3%。这个数字只用于说明比较方法,不是真实项目结果。如果比例集中在某一天或某一个来源,更可能是投放或跳转配置问题;如果均匀分布在整个实验周期,更可能是标识识别机制本身不稳定。
此时可以执行一个实际动作:把跨版本标识从两组数据中都剔除,重新计算两组的核心指标(如停留时长或点击率)。结果如何影响下一步?如果剔除后两组差异方向不变,说明污染没有改变结论;如果差异消失甚至反转,说明原来的对比不可用,需要先修分组再谈流量提升。
样本污染的另一种常见形式是来源混入。比如你只在搜索渠道做实验,但导出表里出现了推荐渠道或广告渠道的访客。这不一定是错误,可能是渠道自动跳转或用户分享链接。要区分原因,可以看落地页参数:如果两个版本共用同一个URL,只是靠脚本切换,那么任何来源都可能进入任一版本,污染风险更高。如果两个版本用不同URL且来源参数独立,污染风险较低。
你可以做一个简单动作:按来源分组,分别计算每个来源下两个版本的访客数。如果某个来源几乎只出现在一个版本,说明分配不是随机的,该来源的数据不能用于版本对比。这个动作的结果会告诉你:是继续分析现有数据,还是必须先修正分流规则。
没有后台权限、看不到分流脚本时,仍可以用公开页面做一次手动验证。用同一浏览器、同一网络,连续访问实验入口多次,记录每次实际看到的版本。如果多次访问落在不同版本,且没有清除缓存或更换参数,说明分流可能依赖随机数或时间片,这本身不一定算污染,但会让同一访客的多次行为被拆到两组。如果多次访问始终落在同一版本,说明分流可能基于标识,跨版本标识就更值得怀疑。
这个手动验证只能说明“当前环境下看到了什么”,不能推出全量访客的分配逻辑。它适合用来决定是否需要向技术同事索要分流日志,而不是用来直接修正数据。
跨版本标识比例高,不能直接说实验无效,因为可能是多设备用户或爬虫。来源混入,不能直接说渠道作弊,因为可能是分享链接或重定向。某个版本访客数突然归零,不能直接说该版本被屏蔽,也可能是统计口径切换或导出字段缺失。这些现象都需要结合分流规则、缓存策略和来源参数一起看。
把上面几步串起来:先按标识查重叠,再按来源查混入,然后剔除可疑样本重算指标,最后判断现有数据能否支撑版本对比。如果剔除后结论稳定,你可以继续用这份数据做流量提升判断;如果不稳定,先修分流和标识,再重新收集。这一步做完,下一步才有意义。