先别把“页数”当成“对象数”。报告里的每一页可能对应一个关键词、一个关键词加地区、一个关键词加设备,甚至一次分页请求;而实际对象是去重后的查询词本身。判断口径的办法是:从报告里抽10行,看哪些列在变。如果只有页码在变、查询词重复出现,说明分页被计成了对象;如果查询词本身重复但其他列不同,说明是维度叠加,需要先合并再计数。下一步动作是选定一个去重键(通常用查询词加语言加地区),用它重算一遍数量,再和报告页数对比,差多少就能反推重复来自哪里。
常见的不一致有三类。第一类是分页重复:同一批查询结果被拆成多页,导出时每页单独成行,查询词被重复记录。第二类是维度重复:同一查询词在移动端和桌面端各出现一次,或在不同地区各出现一次,被当成两个对象。第三类是历史重复:旧系统导出的表和现在导出的表合并后,同一查询词出现两次,但时间戳不同。
区分办法是看哪些列在变。如果除页码外所有列都相同,属于第一类;如果设备、地区、时间这类列在变,属于第二类或第三类。去重键的选择直接由这个判断决定:分页重复用查询词本身去重即可;维度重复要决定是保留细分还是合并,合并就用查询词加语言加地区;历史重复则要先定一个时间窗口,只保留窗口内最新的记录。
假设你手上有一份导出的报告,页数显示1200,但你觉得实际查询词没那么多。可以按下面顺序处理。
这四步里,第二步的动作最关键。选错去重键,后面删掉的可能是有价值的细分数据,而不是真正的重复。
如果这份报告来自旧系统或旧合作关系,去重不只是删行,还要判断哪些部分仍然有价值。一个实用做法是把记录分成三档:仍然在用的查询词、已经不再维护但还有参考价值的查询词、完全失效的查询词。
这样处理后,报告页数会下降,但下降的部分是可解释的。如果下降后数量仍然和你的预期对不上,问题可能不在去重,而在导出范围本身设得太宽,需要回到查询条件重新限定。
假设一份报告显示1200页,每页10行,共12000行。抽样发现查询词只有约3000个不重复值,其余是分页和设备维度造成的重复。按查询词加语言加地区去重后,得到约4500条记录。这个数字比3000高,说明同一查询词在不同地区确实有独立记录,属于合理的维度差异,不应继续合并。此时可以把4500作为新的基准数,再和1200页乘以每页行数做对比,差值就能对应到分页重复和维度重复两类。这个例子里的数字只是说明比较方法,不代表任何真实报告的量级。
做完这一步,你手上应该有一个明确的基准数、一个写下来的去重规则,以及一份能解释差异的对照说明。下次再遇到页数和对象数不一致,直接套用同一套判断顺序即可,不必每次重新猜。