先明确一点:把两个报表的时区直接改成同一个,往往仍对不上,因为“一天”的边界不同。正确做法是先确定以哪个时区为基准日,再把另一份数据按时间戳重新归日,最后核对边界小时的归属。若只改显示时区而不改归日逻辑,差异会稳定出现在每天首尾各若干小时。
假设A报表按UTC+8归日,B报表按UTC归日。某天在A报表里是北京时间00:00到23:59,在B报表里却是北京时间08:00到次日07:59。你把B报表的显示时区改成UTC+8,看到的时间标签变了,但它的“日”仍然是按UTC切分的,所以两边的日汇总不会重合。
这时常见的两个解释是:
能区分这两个解释的证据是:去查原始明细里是否保留了带时区的时间戳。如果原始表有完整时间戳,属于解释一,重新归日即可;如果只剩“日期+汇总值”,属于解释二,需要回到上游取明细,或接受边界差异并单独说明。
动作一:选定基准时区并写进核对说明。先约定以哪份报表的时区为基准日,例如统一用UTC+8。这一步的结果决定了后续所有归日操作的方向,也避免两个角色各自按自己的习惯理解“一天”。
动作二:把另一份数据按时间戳重新归日。如果B报表保留的是UTC时间戳,转换公式可以写成:
本地时间 = UTC时间 + 8小时
然后按本地日期分组求和。这一步的结果是让两边的“日”边界一致,差异应从整段偏移收敛到个别边界记录。
动作三:单独核对边界小时的记录。对齐后如果仍有少量差异,重点看基准日首尾各几小时的记录,比如北京时间00:00到08:00这段。检查这些记录在B报表里被算进了前一天还是当天。这一步的结果能帮你判断差异是归日规则造成,还是存在重复或遗漏。
假设A报表显示某日转化数为120,B报表显示为100。先不急着判断哪边错,按下面顺序核对:
这个例子里,20的差距大部分来自归日边界,而不是数据丢失。如果重新归日后差距没有明显缩小,才需要转向检查去重逻辑、过滤条件或数据是否完整。这个判断顺序能避免一上来就怀疑对方报表出错。
当多个角色对同一事实理解不同时,不要停留在“你的时区不对”这种结论上。把分歧拆成可核对的项目:基准时区是什么、原始时间戳是否保留、边界小时如何归属、差异记录能否逐条列出。每一项都能用具体记录验证,而不是靠印象争论。
如果站内统计和第三方估算的日数据本身口径就不同,时区对齐只能解决时间边界问题,不能消除统计范围差异。这时应先把时区对齐,再单独说明口径差异,两者不要混在一起处理。
对齐完成后,建议把基准时区和归日规则写进交接文档,下一次核对时直接沿用,减少重复确认。