反证问题的构造方式,是先写下一个能被数据直接否定的预测,再去查这条预测是否成立。如果安装后某页面访问量下降,既有解释都说得通时,不要继续为原假设找证据,而要为每个解释各写一条“若它成立,必然还能看到什么”的预测,然后逐条验证。预测落空的那条解释,才值得优先排除。
百度统计安装后出现的异常,假设通常落在两个层面。口径类假设指向数据本身怎么被记录,例如代码是否在所有模板生效、是否重复触发、是否把站内跳转算成了新会话。行为类假设指向用户真实动作,例如入口来源变化、页面内容调整、外部活动结束。
两类假设的反证方式不同。口径类假设的反证,靠比对同一时间窗内不同报表或不同采集方式是否一致;行为类假设的反证,靠看与行为直接相关的其他指标是否同向变化。把两类混在一起验证,最容易出现“每个解释都有一点道理”的僵局。
判断一个假设属于哪一类,可以问:如果用户行为完全没变,这个假设还成立吗?成立就是口径类,不成立就是行为类。这个提问本身就是构造反证问题的起点。
一个假设之所以有多种解释,往往是因为它写得太宽,无法被证伪。例如“安装后数据不准”就无法反证,因为任何结果都能塞进去。改写的方法是补上对象、方向和时间窗,形成一条明确预测。
假设:某栏目页访问量下降是因为百度统计安装后该模板漏装代码。可否定预测:若该模板漏装,则该栏目页在统计中的访问量应接近零,而同站其他模板页面保持原有量级。验证动作:在统计的页面维度报表中按目录筛选,比较该目录与其他目录在同一时间窗的量级关系。结果如何影响下一步:若该目录并非接近零而是同等量级下降,漏装解释被削弱,应转向行为类假设;若确实接近零,则优先检查模板与代码部署。
假设:访问量下降是因为外部投放停止。可否定预测:若投放停止是主因,则来自该渠道的会话数应同步下降,而直接访问与自然搜索的会话数不应同幅下降。验证动作:按来源类型拆分会话,观察各类来源的变动方向是否一致。结果如何影响下一步:若所有来源同幅下降,投放解释不足以单独成立,应继续查口径或全站性因素。
注意,预测必须是“若成立则必然可见”的形式,而不是“可能看到”。带“可能”的预测无法反证,只会延长排查。
面对同一组异常,先查口径还是先查行为,取决于两个可观察条件。
两个条件都指向口径时,先做口径反证,代价是可能延迟对真实行为变化的响应;两个条件都指向行为时,先做行为反证,代价是若口径确实有问题,后续所有分析都建立在错误基数上。没有一种顺序永远正确,取舍依据是哪个错误的代价更难承受。
假设某站安装百度统计后,三天内总访问量下降约三成,同时有两个解释:代码未覆盖全部页面,或一次外部推广结束。这两个解释都合理,构造反证如下。
这里的数字仅用于说明比较方法,不代表任何真实站点结果。关键在于两条预测指向不同的可观察证据,而不是靠推理偏好选边。
预测落空只能说明该解释未被支持,不等于其他解释已被证明。第三方估算流量、搜索引擎报告与站内统计口径本就不同,三者不一致时,不能单凭某一项归零或下降就断定处理正确。抓取量、请求量或某个指标的归零,还可能来自统计延迟、采样、报表口径调整或数据尚未回传,这些都需要单独排除。
实际动作上,建议把每条假设连同它的预测、验证动作、结果和下一步写成一行记录。当某条预测落空时,记录中应写明“该解释被削弱”,而不是“已排除”,除非验证动作本身能覆盖该解释的全部可能路径。这样做的结果是,下一轮排查可以直接从尚未被削弱的解释继续,而不必重复已经验证过的环节。
最终要回答的不是哪个解释听起来最合理,而是哪条预测已经被数据否定。被否定的解释越多,剩下的候选范围越窄,结论才越接近可核查的证据链,而不是偏好。