先别急着改工具配置或加指标。反证问题的构造目标,是找到一种能推翻当前解释的观测:如果某个解释为真,那么在指定条件下必然出现某种结果;如果实际没有出现,这个解释就被削弱。对流量统计工具而言,最有效的反证往往不是再看一份总量报表,而是把同一批流量按另一条维度重新切一次,看差异是否跟着解释一起移动。
假设你在一个内容站上观察到:抽查五个页面时,站内统计的访问量与第三方估算的流量趋势基本一致,页面排序也接近;但当页面数量扩大到几百个、时间拉长到几个月后,两者的差距开始变得没有规律,有的页面差得多,有的几乎不差。这时你会得到两个都说得通的解释。
这两个解释都能解释“小样本一致、规模化后例外”,所以不能靠再读一遍总报表来区分。需要构造一个能让它们给出不同预测的问题。
反证问题的核心,是让每个解释说出“如果我是对的,你会看到什么”。可以这样写:
注意这两条预测指向不同的分组维度:一个是行为维度,一个是技术维度。只要按这两个维度分别切一次,就能看出差异跟着谁走。
具体动作可以这样安排。先从流量统计工具里导出同一时间段的页面级数据,保留页面路径、会话数、停留时长分档、入口来源类型;再从第三方估算或另一套统计里导出对应的页面级估算值。然后做两件事。
第一,按停留时长分档比较缺口。把页面分成短停留为主和长停留为主两组,分别算两组内“站内统计减第三方估算”的相对差。如果短停留组的缺口明显大于长停留组,口径差异的解释得到支持;如果两组缺口接近,口径差异就不足以解释全部现象。
第二,按页面模板比较缺口。把同一模板下的页面归为一组,看组内缺口是否稳定。如果某个模板整体缺口偏大,而其他模板正常,采集覆盖不全的解释得到支持;如果缺口在模板内也忽大忽小,就要考虑第三种原因,比如页面级的事件触发条件不一致。
这个动作的结果会直接决定下一步:若证据偏向口径差异,下一步是统一会话定义并在报表里标注口径,而不是去改采集代码;若证据偏向覆盖不全,下一步是检查该模板的统计脚本加载条件,而不是去调第三方估算的模型参数。
假设某站有A、B两种文章模板,站内统计显示A模板页面平均访问量高于B模板,但第三方估算显示两者接近。先构造反证:如果差异来自口径,那么A、B模板在“停留超过一分钟”的访问上应趋于一致;如果差异来自采集,那么A模板的统计脚本触发率应低于B模板。
按停留时长切分后,若A、B在长停留访问上仍然差距明显,口径解释被削弱;再按模板检查脚本触发日志,若A模板在部分浏览器下未触发,采集解释得到支持。此时下一步应是修复A模板的触发条件,然后重新观察缺口是否收窄,而不是直接调整报表口径。这个例子只用于说明比较方法,数字和结论都依赖实际数据。
反证问题只在“两个解释对同一现象给出不同预测”时有效。如果两个解释的预测完全重合,再怎么切分也区分不了,这时需要引入新的观测维度,比如时间上的先后顺序或改动前后的对照。
另外,第三方估算、搜索引擎报告和站内统计的口径本来就不同,某一项指标归零或某项统计突然下降,不能单独证明处理正确。它也可能是采集延迟、过滤规则变化或数据回填造成的。构造反证问题时,要把这些替代解释一并列出,再判断哪个解释能被现有证据排除。
最后,规模化后的例外往往不是单一原因造成的。反证问题的作用不是一次定案,而是把“看起来都说得通”的解释缩小到可验证的范围,让下一步动作有明确的检验对象。