构造反证问题的核心不是再找一组支持数据,而是先写下一个能被证伪的预测:如果这个解释成立,在什么条件下必须出现什么,在什么条件下必须不出现什么。然后去取能同时区分两种解释的证据。个别样本上成立的解释,一旦放到全量或分渠道数据里,往往会出现例外,这正是反证问题的入口。
面对一个异常,比如某类页面停留时长下降,常见解释至少有三种:入口流量结构变了、页面内容与来访意图不匹配、埋点或统计口径变了。第一步不是判断哪个对,而是判断这些解释是可以同时成立,还是互相排斥。
选择依据在于:共存型解释适合做分层验证,排斥型解释适合做边界验证。把这两类混在一起,反证问题就会变成无效的“找更多数据支持自己”。
一个可用的反证问题通常包含三个部分:条件、预期、否证标准。假设的解释是“新入口带来的用户意图更浅,所以停留短”。把它改写成预测:
第三条就是反证问题:剔除后如果分布没有恢复,说明“新入口意图浅”不足以解释全部变化,可能还有页面本身或统计口径的问题。这里的关键动作是先做剔除或分层,再比较分布形状,而不是只比较一个汇总均值。结果会直接决定下一步:分布恢复,就继续沿入口结构查;分布不恢复,就转去查页面版本、埋点或统计口径。
个别样本成立但规模化后出现例外,通常有三种可区分的原因:
区分方法不是看哪个数字更大,而是看效应在分层后是否稳定。假设一个小样本显示某栏目点击率上升,全量后却下降。先按设备、时段、入口来源分层,如果只有某一层上升、其余层下降,那么“栏目变好”这个解释只在特定条件下成立,不能直接照搬到全量结论。此时正确的动作是缩小结论范围,而不是强行解释全量。
构造反证问题时,最容易出错的是拿不同口径的数据互相验证。站内统计记录的是实际到达页面的行为,第三方估算通常基于抽样或面板,搜索引擎报告反映的是展示、点击等搜索侧信号。三者可以互相参照,但不能互相替代。
如果站内统计显示某页访问量下降,而第三方估算显示上升,这本身不构成“数据错误”的证据,只说明两个口径在定义或覆盖上不同。合理的反证问题是:在同一口径内,该现象是否可复现?如果站内统计下降,但站内另一套日志或另一时间窗口的同类统计也下降,那么下降更可能是真实的;如果只有一套统计下降,其余口径稳定,就要优先怀疑该统计链路本身。
还要注意:请求量、抓取量或某项统计归零,不能单独证明处理正确。归零也可能来自采集失败、过滤规则变更、权限调整或上游数据延迟。反证问题应当追问:如果是采集失败,那么在相邻时段或相邻维度上应当出现同样的缺失模式;如果缺失只集中在一个维度,采集失败的解释就更强。
假设某站发现“注册转化率下降”,初步解释是“落地页改版导致说服力下降”。不要直接改回旧版,先构造反证问题:
执行动作:按版本、来源、设备分层取数,比较断层位置和幅度。结果如何影响下一步——如果只有改版页下降、其它页稳定,就可以优先回滚或做 A/B 验证;如果所有落地页同步下降,改版解释就被削弱,应转向检查流量质量、注册流程后端错误或统计口径。这个例子中的数字和结论均为假设,只用于说明比较方法,不代表任何真实项目结果。
构造反证问题的最终目的,是让下一步动作有明确的转向条件:什么结果支持原解释,什么结果要求换方向。没有这个转向条件的分析,只是在重复确认自己已经相信的结论。