先明确一个前提:两个报表的“一天”定义不同,通常不是数据错了,而是各自按自己的时区切分日期。要对齐,先确定以哪个时区为基准日,再把另一份数据按同一时间边界重新聚合,而不是直接把两个“某日”的数字相减或相加。若两份报表都只给出按天汇总值、没有小时级明细,严格对齐往往做不到,只能改用同一时区导出的原始时间戳重新计算。
时区对齐的难度取决于报表的粒度,而不是取决于工具。可以先看三个可核对的证据:报表是否带时区标识、日期字段是日期还是带时间的时刻、导出文件里是否有小时或分钟级记录。
如果两份报表一份是站内统计、一份是第三方估算,它们本身的口径就不同,时区对齐只解决“时间边界”问题,不解决“统计对象”差异。对齐后仍有缺口,应回到“谁统计了哪些事件”去核对,而不是继续调时区。
当转化动作(下单、注册、提交)发生在你的业务系统里,且结算、客服排班都按业务时区走,就以业务时区为基准日。动作是:把另一份报表的每条记录按时间戳换算到业务时区,再按业务日的00:00到24:00重新分组。
这个动作的结果会直接决定下一步:如果换算后两边的日总量接近,说明此前差异主要来自时区边界,可以继续做转化率对比;如果换算后仍差很多,差异就来自统计口径或数据缺失,应转去查事件定义,而不是再调时区。
当你要评估投放效果、且花费和展示都由平台按自己的时区结算时,以平台时区为基准日更合理。动作是:把站内转化记录换算到平台时区,再与平台报表对齐。
这个动作的结果影响下一步判断:若对齐后转化数与平台报表一致,说明可以按平台日做成本与转化对比;若对齐后仍对不上,要检查平台是否按点击时区还是转化时区归因,这两者可能落在不同日期。
假设站内报表按东八区切日,平台报表按 UTC 切日,同一条转化记录在站内记为 1 月 2 日 01:00,在 UTC 下属于 1 月 1 日 17:00。若直接比较“1 月 2 日”的转化数,站内会把它算进 2 日,平台会算进 1 日,两边自然对不上。
对齐动作:把站内记录减去 8 小时换算到 UTC,再按 UTC 日分组,这条记录就落到 1 月 1 日。结果是两边的日期归属一致,可以逐日核对。例外是夏令时地区,偏移量在切换日会变化,不能全年用同一个固定小时数换算,必须按具体日期的实际偏移处理。
把这几项写成一张核对清单,让每个角色填自己负责的那一列,分歧就从“谁的数对”变成“哪一项定义不同”,可以逐条核对。
时区问题之所以反复出现,往往是因为不同角色默认自己的报表就是事实。可行的做法是:在核对表里固定三列——基准时区、日期字段类型、归因规则,每份报表各填一行。填完后,能对齐的项直接确认,不能对齐的项标注原因。
动作上,先只对齐一天的数据做验证,不要一次性重算全部历史。若这一天在统一时区后能对上,再把同样的换算规则应用到其他日期;若对不上,先解决定义分歧,再扩大范围。这样每一步的结论都能被下一个角色复核,而不是靠口头解释维持一致。