先给结论:当同一批访客因为分流、地域、设备或登录状态被分到不同页面版本时,样本污染通常不是“数据错了”,而是分母被混在一起。识别它的关键是先固定一个可复现的分配规则,再对比该规则下各版本的分母构成;如果某个版本里出现了按规则不该出现的访客,就应判定为污染,而不是继续比较转化率。
随机分流指系统按固定比例把访客分到 A、B 版本,同一来源、同一设备类型的访客理论上应均匀进入两组。被动分流则没有主动随机,而是由缓存、地域跳转、登录状态、旧链接或页面内脚本条件决定访客看到哪个版本。两种条件下,识别污染的动作不同。
选择依据很简单:如果你能拿到每个访客的分配标识,优先按标识回查;如果没有分配标识,只能按来源、设备、地域、登录状态等可观测维度做分层对比,并接受分层后样本量下降的代价。
假设分流系统会给进入实验的访客写入一个标识,例如 exp_group=A 或 exp_group=B,而统计工具记录的是页面版本参数。你可以导出一段固定时间窗内的访问明细,按访客标识去重后,统计每个标识实际看到的版本。
如果发现大量标识为 A 的访客在统计里被记成 B 版本,说明统计口径与分流口径不一致,此时继续看转化率没有意义。下一步应先修正统计埋点,让统计记录的是分配版本,而不是渲染版本。这个动作的结果会直接决定后续比较是否成立:口径对齐后,分母才代表同一批被随机分配的访客。
例外情况是:如果版本切换本身是业务逻辑的一部分,例如已登录用户自动进入新版本,那么“被记成另一个版本”不一定是污染,而是分层条件。此时应把登录状态作为独立维度,分别比较各层内的版本差异,而不是合并成一个总转化率。
没有分配标识时,可以按来源、设备、地域、新老访客等维度分别看两个版本的分母构成。判断污染的信号不是“某版本流量少”,而是“某版本在某一维度上的占比明显偏离预期”。
例如,假设两个版本本应各占一半流量,但你发现 B 版本中移动端占比接近九成,而 A 版本中移动端只占三成。这不一定证明污染,因为也可能只是投放渠道本身在时间上变化。可核查的证据链是:先看同一渠道内两个版本的设备占比是否接近;如果同一渠道内也出现明显偏离,才更可能是分配或统计环节出了问题。
需要提醒的是,第三方估算流量、搜索引擎报告与站内统计口径不同,不能用一个来源的数字去否定另一个来源。站内统计里某版本流量归零,也可能是埋点未触发、页面未渲染完成或过滤规则误伤,不能单独证明分流处理正确。
确认污染后,不要直接删掉某个版本的数据。更稳妥的动作是:先按分配规则能覆盖的访客范围重新划定分母,只比较规则内可解释的部分;如果剩余样本仍能支撑判断,就继续;如果剩余样本太小,或污染比例无法估计,就应停止当前比较,修复分配或统计环节后重新开始。
这个取舍的条件是:能说清哪些访客被错误分配,并且错误方向一致时,可以修正后继续;说不清错误来源,或错误方向在不同渠道间相反时,修正后继续的风险很高,应重跑。
最后,记录修复前后的分配规则和统计口径变化,而不是只记录转化率变化。这样下次再出现版本间差异时,你能先判断是版本效果,还是样本本身已经被污染。