识别样本污染的关键,不是先看两版指标差多少,而是先确认分流单元是否稳定、同一访客是否可能跨版本、以及分析口径是否把跨版本行为合并。若分流以登录账号为准且账号唯一,污染通常较小;若以设备、Cookie 或 IP 为准,同一人换设备、清缓存或共享网络就可能进入另一版本,此时应先做分流对账,再谈版本效果。
版本分配依赖一个“分流单元”。常见单元包括登录账号、设备标识、浏览器 Cookie、会话或 IP。单元越稳定,样本污染越少,但适用条件不同:账号分流适合登录后行为,设备分流适合未登录浏览,Cookie 分流适合短期活动。若你的分析目标是注册后的留存,却用 Cookie 分流,同一账号在不同设备上可能被分到两个版本,后续行为会被拆散或重复归因。
判断方法不是看总量,而是看同一标识是否在多个版本出现。比如假设分流单元是设备 ID,可以抽取一批设备 ID,检查其中是否同时命中 A 版和 B 版的事件记录。若存在,说明分流层或埋点层至少有一处把版本标识写错、覆盖或丢失。这个动作的结果决定下一步:若跨版本设备占比很低,可先按单元去重后再分析;若占比较高,应先修分流逻辑,否则后续比较没有意义。
样本污染可能发生在三个位置:分流服务、前端埋点、后端日志。三者的版本标识应当能对上。可执行的动作是取同一时间窗,分别导出分流服务记录的“单元—版本”、前端事件里的版本字段、后端请求里的版本参数,按分流单元做交集核对。
这套对账只说明标识是否一致,不能单独证明版本效果。第三方估算流量、搜索引擎报告与站内统计口径不同,不能互相替代;某日抓取量或请求量归零,也可能是采集延迟、过滤规则变化或服务重启,不等于分流正确或错误。把现象和解释分开记录,才能避免把口径差异当成污染。
条件一:污染比例低且集中在未登录访客。此时可先保留实验,把分析限定在登录账号或已稳定识别的单元上,同时在报告中标注未登录部分不参与结论。动作是建立分层视图,结果会影响下一步——若登录层两版差异稳定,可继续观察;若登录层样本太少,应延长观察或改分流单元。
条件二:污染比例高且跨版本行为与核心指标相关。例如被重复计入的访客恰好更活跃,此时先修分流再分析,否则任何版本比较都会被这批人放大。动作是暂停新访客进入实验、修复版本标识写入、回放一段历史日志验证修复效果。修复后的数据只能用于后续判断,不能直接修补旧结论。
例外是:当实验只用于排查前端故障而非评估效果时,可以接受一定污染,因为目标是定位错误版本,而不是比较转化。此时仍要记录污染范围,避免把故障排查结论外推到版本效果。
多个角色对同一事实有不同理解时,不要争论“数据准不准”,而是把分歧拆成可核对项:分流单元是什么、版本标识在哪一层写入、同一单元是否允许跨版本、分析时是否去重、时间窗是否一致。每一项都对应一条可查记录。例如产品说“用户看到的是新版本”,开发说“请求参数是旧版本”,运营说“报表里两版都有”,这三句话可以分别对应前端截图、请求日志和报表口径,逐项核对后,污染位置自然浮现。
实际动作可以是一次短对账:选定一个分流单元,拉出它从进入到转化的完整事件链,标出每一步的版本字段。若事件链中间出现版本跳变,就回到对应层查原因;若整条链版本一致,但报表仍显示跨版本,则检查报表是否按会话而非按单元聚合。这个动作的结果决定下一步是修采集、修分流,还是只修报表口径。
减少样本污染不靠增加指标,而靠固定分流单元、固定版本写入位置、固定分析去重规则。可以在实验开始前写清三条约束:同一单元只进一个版本;版本标识随每次请求传递并在后端落库;分析时按分流单元去重而非按会话去重。若业务必须允许跨设备,则应把账号作为主单元,设备作为辅助观察,而不是把两者混在一个版本比较里。
最后要接受一个边界:任何分流都无法保证绝对干净,尤其是未登录、多设备、共享网络场景。识别样本污染的目标不是追求零污染,而是知道污染来自哪里、影响哪些指标、结论能覆盖哪些人。把这三件事写进分析记录,下一次实验就能直接复用判断路径,而不是重新争论同一批数据。