先给结论:报告页数大于实际对象数量时,优先怀疑“同一对象被多种标识重复计入”,而不是先怀疑工具算错。去重的第一步不是删数据,而是给每个对象确定一个稳定主键,再判断哪些行属于同一主键。在缺少完整数据或权限的情况下,你仍可以抽取少量样本手工比对,得出“该报告能否直接用于决策”的结论,但不能据此认定全量数据的真实规模。
页数虚高通常有三种来源,处理方式完全不同。第一种是同一对象换了标识,例如同一页面出现带与不带结尾斜杠、大小写不同、带查询参数的多个地址;第二种是同一对象被多行记录,例如一个栏目页在报告中同时以列表页和详情页出现;第三种是对象本身不同但被聚合口径合并或拆分,例如把多个子域算作一个站点。前两种属于技术去重,第三种属于口径问题,改代码解决不了。
判断方法很直接:从报告里抽二十到五十行,人工标注每行指向的实际对象,看重复出现在哪一列。如果重复集中在地址列,是标识问题;如果重复集中在标题或对象名称列,是聚合问题。
保留适用于重复行本身携带不同信息的情况。例如同一对象的两行分别记录了不同来源的数据,直接删掉会丢失维度。此时保留全部行,但新增一列主键,后续统计按主键去重,明细仍可追溯。
改写适用于标识不统一但对象明确的情况。把地址统一为小写、去掉追踪参数、统一结尾斜杠,再重新分组。改写的前提是你有权修改数据,并且改写规则本身不会误伤真正不同的对象。
退出适用于重复比例高到无法用规则修复,且你没有权限拿到原始数据的情况。此时继续在这份报告上做汇总只会放大误差,更合理的动作是退回上游,要求提供带唯一标识的导出,或改用能直接给出对象级明细的查询方式。
没有全量数据和后台权限,仍然可以做三件事。第一,用抽样估算重复率:随机取若干行,标注真实对象数,算出页数与对象数的大致比例,并注明这是抽样估计而非精确值。第二,用地址规则做一次可解释的归并,例如统一大小写和去掉常见追踪参数,观察归并后行数变化。第三,把结论写成条件句,例如“在抽样范围内,约三成行属于同一对象”,而不是“报告虚报了三成”。
这些动作的结果会直接影响下一步:如果抽样重复率低,报告可以继续用于趋势观察;如果重复率高且集中在某类地址,应先修数据再谈结论;如果重复无法用规则解释,说明问题在口径而非数据,需要先和报告提供方确认统计单位。
假设一份报告有 1000 行,抽样 50 行中有 15 行与另 15 行指向同一对象,即 50 行对应 35 个对象。按这个比例粗略外推,1000 行可能对应约 700 个对象。这个数字只能用于说明量级差异,不能当作精确结果,因为抽样未必代表整体。若你据此决定是否采购更多查询额度,应把估算区间一并写出,而不是只写一个点值。
行数下降不等于数据质量提升,也可能只是归并规则把不同对象合并了。重复率归零也不能单独证明处理正确,因为可能是过度合并或过滤掉了有效行。同样,页数多也不必然意味着覆盖更广,可能只是标识更乱。去重之后真正能确认的只有一件事:在当前主键定义下,有多少个可区分的对象。至于这些对象的质量、收录状态或价值,需要另外的证据。