当51la统计里出现一个异常,而你手上至少有两个都能解释它的假设时,不要继续加数据,而要先设计一个能“杀死”其中一个假设的反证问题。反证问题的核心不是再找支持证据,而是问:如果这个假设是真的,那么在哪一个可观测的维度上,它必然留下另一种痕迹?如果那个痕迹不存在,假设就不成立。常规做法失效,往往不是因为数据不够,而是因为两个假设在同一个指标上给出相同预测,必须换一个维度才能区分。
假设你在51la统计中看到某栏目访问量连续几天下降,而平均停留时间基本持平。这里有两个常见解释:一是外部来源变少,真实到达的人减少;二是统计口径或代码触发条件发生变化,部分访问没有被记录。两者都会让访问量下降,但它们对“停留时间”的影响方向不同。第一个解释下,留下的人仍是同样质量的访客,停留时间可能不变;第二个解释下,如果丢失的是特定入口的访问,停留时间的分布通常会偏移。单看访问量,两个假设无法区分。
要构造反证问题,先把每个假设翻译成“如果为真,则必然出现”的可观测条件。对外部来源减少这个假设,反证问题是:如果来源真的变少,那么来源列表中的具体渠道应同步减少,且减少应集中在某几个渠道上,而不是所有渠道均匀下降。对统计口径变化这个假设,反证问题是:如果代码触发条件变了,那么同一时间段内,不同入口或不同设备的记录比例应出现结构性偏移,而不是总量等比缩小。注意,这两个反证问题指向不同的观测维度:一个是渠道构成,一个是入口或设备构成。
下一步是去51la统计里分别查看渠道构成和入口构成。如果渠道构成中只有一两个渠道明显萎缩,其余渠道基本稳定,那么外部来源减少的解释更站得住。如果渠道构成整体等比缩小,但某个入口的记录比例突然升高或降低,那么统计口径变化的解释更可能成立。这里要强调:单个指标归零或下降,不能单独证明某个假设正确。它可能来自缓存、跳转链路调整、第三方脚本加载时机变化,甚至是访客行为本身的改变。反证问题的作用是缩小解释范围,而不是直接给出结论。
假设某站点在51la统计中看到“直接访问”占比从三成升到六成,同时总访问量下降两成。解释A:外部渠道投放减少,真实来源变少。解释B:外部来源的跳转参数丢失,被归入直接访问。反证问题可以这样设计:如果解释B为真,那么原本应带参数的来源页面,其访问量应出现同步下降,而直接访问的绝对量应基本不变或上升。如果实际观察到直接访问绝对量也下降,那么解释B的预测不成立,解释A更合理。这个例子中的数字仅用于说明比较方法,不代表任何真实站点数据。
具体动作是:选定一个时间窗口,分别导出渠道构成和入口构成两组数据,比较它们的相对变化而不是绝对变化。如果两组数据中只有一组出现结构性偏移,那么对应假设获得支持;如果两组都出现偏移,说明可能存在第三个遗漏条件,比如页面改版同时影响了来源追踪和入口记录。这个动作的结果会直接决定下一步:若支持外部来源减少,就转向检查投放或外链;若支持统计口径变化,就转向检查代码触发条件和跳转链路。不要在没有完成这一步之前,就同时修改投放和统计代码,否则两个变量一起动,后续更难区分。
第一个误区是把“访问量下降”本身当作证据,它只是待解释的现象。第二个误区是只增加样本量,如果两个假设在同一指标上预测相同,样本再多也无法区分。第三个误区是忽略第三方估算流量、搜索引擎报告与站内统计口径的差异,三者本来就不该直接对齐。反证问题适用于你已经尝试过常规排查、但仍有两个以上合理解释的情况。如果异常只持续一个很短的时间窗口,或者数据量本身很小,反证问题可能无法给出稳定区分,此时更合理的做法是先记录现象,等窗口拉长再判断。反证问题的价值在于帮你排除一个假设,而不是一次解决所有问题。