先给结论:当同一批访客因为分流规则、缓存或登录状态被拆到不同版本时,站内统计里的“同一指标”其实来自不同总体,样本污染就出现了。识别它的关键不是看总量涨跌,而是把分流变量本身变成可核对的分组,再看各组的访客构成是否可比。如果分流变量无法还原,保留这份数据只会让后续判断反复摇摆,此时更合理的动作是改写采集口径或退出这次对比。
访客被分到不同版本,常见原因有两类:一类是主动的分流实验,比如按用户ID、地域或设备把访客分配到A、B两个页面;另一类是被动的缓存或登录状态差异,比如未登录访客命中旧缓存页,登录访客看到新版本。两类污染的识别方式不同。
主动分流下,你通常能在站长分析工具里找到分流所依赖的维度,比如用户ID尾号、来源渠道或设备类型。此时要做的第一件事,是把该维度作为分组条件重建报表,而不是继续看合并后的总访问。假设分流按用户ID奇偶进行,那么奇数组和偶数组在理论上应具有相近的访客构成;如果两组的来源渠道占比、新老访客比例差异明显,说明分流并未随机,样本已经不可比。
被动缓存下,分流变量往往不可见。此时可核对的证据是同一URL在不同登录状态、不同入口下的返回内容是否一致。若同一路径对一部分访客返回旧版、对另一部分返回新版,而统计工具只按URL汇总,那么这条URL的指标本身就是两个版本的混合值。遇到这种情况,先不要急着下结论说新版更好或更差,而应确认缓存策略和版本切换时间点,再决定是否保留这段数据。
判断样本是否被污染,不需要复杂模型,只需要一张访客构成核对表。把分流后各组在以下维度上的分布列出来,逐项比较:
如果某一组在这些维度上系统性偏离,那么两组之间的指标差异可能来自访客本身,而不是版本差异。例如,A组里回访访客占比明显更高,B组里新访客更多,那么A组的停留时间更长,未必是版本更受欢迎,而可能是老访客本来就更熟悉站点。这一步的实际动作是:把偏离最明显的维度单独拉出来,看它是否同时影响你要比较的核心指标;如果影响成立,就该在该维度内再做一次分层对比,而不是直接使用合并结果。
确认污染存在后,处理方式取决于污染是否可还原。
保留适用于分流变量完整、且各组访客构成经过核对后基本可比的情况。此时可以在报表中固定分组条件,把两个版本当作两个独立总体分别观察,而不是合并成一个总数。保留的前提是你能持续拿到分流变量,并且分流规则在观察期内没有变化。
改写适用于分流变量部分缺失,但你能通过其他字段近似还原分组的情况。比如分流按登录状态进行,而统计工具没有直接记录登录状态,但记录了某个仅登录后才会出现的页面路径。此时可以用该路径作为代理变量重建分组。改写的风险在于代理变量不等于原变量,需要先用一小段已知分组的数据验证代理是否准确,再决定是否推广到整段观察期。
退出适用于分流变量完全不可还原,或版本切换与缓存刷新时间点无法确定的情况。此时继续分析这段数据,只会把版本差异和访客差异混在一起。退出的具体动作是:停止基于这段数据的对比结论,记录下本次分流的时间范围和已知变量,等下一次分流规则更清晰时重新采集。退出不是放弃诊断,而是避免用被污染的数据做出不可复核的判断。
假设某栏目同时上线了两个标题版本,分流规则是按来源渠道:来自站内推荐的访客看到A版,来自外部搜索的访客看到B版。统计工具显示B版点击率更高。但核对访客构成后发现,外部搜索访客本身带着更明确的需求进入,站内推荐访客则更偏浏览。此时B版的高点击率至少有两种解释:版本更好,或者外部搜索访客本来就更愿意点击。要区分这两种解释,可以在来源渠道内部再做一次对比,或者改用随机分流重新采集。若无法做到,那么这次对比只能作为线索,不能作为结论。
多个角色对同一事实有不同理解时,分歧往往出在各自看到的样本不同。把分歧转成可核对项目,可以按以下顺序推进:
这套顺序的作用是让分歧落到具体字段和具体条件上。如果某一步无法完成,比如分流变量在统计工具中根本不存在,那么后续对比就缺少共同基础,此时退出的判断也就有了依据。第三方估算流量、搜索引擎报告与站内统计的口径本就不同,在样本已经被分流拆散的情况下,更不能用单一指标反推版本优劣。