先给结论:只要访客进入的版本不由你的测试变量唯一决定,样本就已经被污染,此时任何版本间的指标对比都不能直接归因。识别方法是把“分配”本身当作变量来查,而不是继续比较各版本的表现数据。下面用一个假设情境串起判断过程。
假设你给站内搜索结果页做了一个改版,旧版保留,新版只对一部分访客展示,同时观察点击和后续转化。两周后新版数据略好,但你不确定这是改版带来的,还是进入新版的人本来就不一样。这个情境里,第一个要查的不是点击率,而是“谁被分到了新版”。
可执行的最小动作:从访问日志或前端埋点里取一段时间内的分配记录,按会话 ID 或用户 ID 统计每个版本收到的访客特征,比如来源渠道、设备类型、登录状态、首次访问还是回访、进入页面时的着陆路径。如果这些特征在两个版本间分布明显不同,说明分配并非独立于访客属性,样本已经污染。
这个动作的结果会直接影响下一步:如果特征分布接近,可以继续比较行为指标;如果分布差异大,先修分配逻辑,再谈对比,否则调参只是拟合噪声。
缺少完整数据或权限时,你仍然可以做几件小事,但要清楚它们各自能推出什么、不能推出什么。
这里要说明适用条件:上述判断只在“你确实做了版本分流”的前提下成立。如果根本没有分流机制,访客看到的版本由缓存、CDN 节点或地区策略决定,那问题性质就变了,属于版本一致性问题,而不是样本污染。
当权限不足以拉全量日志时,退而求其次的做法是构造一条能被复核的证据链,而不是依赖一个汇总数字。例如:
假设情境中,你发现新版只对“从某渠道进入且未登录”的访客展示。那么新版数据里天然缺少已登录的老访客,而老访客的转化行为通常与新人不同。此时即便新版指标更高,也无法排除是人群差异造成的。这条证据链的价值在于它能被他人按同样步骤复核,而不是给出一个无法追溯的结论。
一旦确认分配与访客特征相关,正确的顺序是先让分配独立于访客属性,再重新收集一段干净的数据,最后才判断改版本身是否有效。反过来做——在污染样本上继续调页面、换文案、加模块——只会让后续对比更难解释。
还要注意,修好分配不等于结论自动成立。样本干净只是让对比有意义,它不能替代对改版逻辑的审查,也不能保证指标变化一定来自你改动的那一处。把这两件事分开,诊断才不会停在“数据看起来对了”这一步。