能否识别样本污染,取决于你能否把“版本分配”从“统计口径”里拆出来。如果不同版本共用同一套站长统计代码,且没有把版本标识写进可筛选的维度,那么你看到的整体转化率、停留时长或跳出率,很可能是两个版本访客混在一起的结果;此时先不要比较版本优劣,而应先把样本按分配规则切开。反过来说,如果版本切换只影响页面外观、不改变统计代码触发条件,且你能按入口或参数还原分组,那么整体指标仍可用于趋势观察,但不足以直接判定某个版本更好。
样本污染通常不是统计工具坏了,而是分配逻辑没有进入数据。常见情况是:A、B两个版本由前端根据某个参数、登录状态或缓存决定,但站长统计只记录页面地址和基础访问信息,不记录这个参数。结果就是同一张报表里既有A版访客,也有B版访客。
要判断是否已经污染,可以做一个最小验证:在统计代码或事件上报中,把版本标识作为独立字段或事件参数写入。若无法写入,就退而求其次,用可区分的落地地址、入口来源或跳转参数做人工分组。动作的关键不是立刻改版,而是先让“版本”变成可筛选条件;一旦版本不可筛选,后续所有对比都只能算混合样本,不能归因到某个版本。
一个可核对的证据链是:同一时间段内,从带版本参数的入口进入的访客,在站长统计中能否被单独筛出;如果能筛出,再看该组访客的后续行为是否与另一组分开。若两组数据在报表中完全重合,说明版本维度缺失,样本污染已经发生。
访客被分配到不同版本,不一定等于样本污染。分配不均本身只是两组人数不同;样本污染的核心是两组访客的统计记录无法区分,或者区分后仍混入了不属于该组的访问。两者处理方式不同。
这里有一个反例会让结论失效:假设两个版本共用同一落地页,只是按钮颜色不同,而统计只记录页面访问,不记录按钮点击所属版本。此时即使你按入口分组,也无法判断点击来自哪个版本,因为点击事件本身没有版本字段。这种情况下,任何“A版点击率更高”的说法都缺乏依据,下一步应是补事件级版本标识,而不是继续放大报表差异。
假设某业务把新访客分配到B版,老访客仍看A版,站长统计只记录访问量和页面停留。此时整体停留时长上升,不能直接说B版更好,因为老访客和新访客本身的行为习惯不同,版本和访客类型混在一起。
可操作的做法是:先按“新访客/老访客”筛出两组,再分别看两组内部的停留分布。如果新访客组内B版停留明显高于A版,且老访客组内没有同样变化,那么版本差异才值得进一步验证。若新访客组内没有版本标识,只能看到新访客整体变化,那么下一步应先补版本字段,而不是调整页面。
这个例子的假设前提是:新老访客可由登录状态或首次访问标记区分。如果这个前提不成立,比如新老访客也无法区分,那么样本污染程度更高,应先解决访客分组,再谈版本对比。
发现样本污染后,不建议立刻停掉版本分配,也不建议直接宣布某个版本胜出。更稳妥的顺序是:先判断污染是否影响当前决策。如果当前只是观察趋势,且版本差异不大,可以先补版本标识,继续收集;如果当前要决定是否全量切换,且报表无法拆分版本,那么应先暂停切换决策,直到版本维度可用。
具体动作可以这样安排:第一步,在站长统计中增加版本参数或事件字段;第二步,用一小段流量验证该字段能否稳定区分两组;第三步,回看已有数据,判断污染是否已经改变了结论方向。若污染前后结论方向一致,说明当前决策对样本混合不敏感;若方向相反,则必须等新口径数据积累后再判断。
需要留意的是,第三方估算流量、搜索引擎报告和站内统计口径不同,不能互相替代。站内统计缺少版本字段时,不要用外部估算去反推版本差异,那只会把口径问题变成猜测。
如果出现以下情况,说明版本分配和统计口径仍在脱节:同一入口的访客在报表中无法按版本筛选;版本切换后,整体指标变化但分组指标没有对应变化;事件上报中缺少版本字段,只能靠页面地址猜测。此时应优先补字段,而不是继续解读整体数据。
另外,请求量或抓取量归零不能单独证明样本已经干净,它还可能来自采集延迟、过滤规则调整或访问来源变化。要确认污染是否消除,应看版本字段能否稳定筛选出两组,并检查两组数据是否还有交叉。
最后一步动作是:把版本标识写入统计口径后,重新跑一次分组对比,并明确记录哪些结论只适用于当前分配规则。如果分配规则发生变化,比如从随机分配改为按用户状态分配,那么之前的版本对比结论需要重新验证。