不能直接按日期字段拼接两张报表。正确做法是先确定一个“分析日界”,把两张表的时间戳都转成同一时区的绝对时刻,再按这个日界切分;如果做不到,就只对齐到同一小时或同一周,放弃“按天对齐”这个粒度。是否值得继续按天分析,取决于两张表的时间戳精度、时区偏移是否固定,以及业务动作发生在哪个时刻。
时区问题通常不是“差几个小时”这么简单,而是三类别混在一起:
2024-06-01T23:30:00+08:00。这类可以直接换算,最可靠。2024-06-01 23:30。你必须知道它记录的是哪个时区的本地时间,否则无从对齐。如果其中一张是聚合结果,另一张是明细,那么按天对齐在数学上就不成立。此时保留原始明细、把聚合表降级为参考,是更稳的取舍。
假设站内统计按 UTC 记录,广告或平台报表按北京时间(UTC+8)汇总。UTC 的 6 月 1 日 00:00 到 24:00,对应北京时间 6 月 1 日 08:00 到 6 月 2 日 08:00。如果你直接把两张表的“6月1日”放在一起,就会把北京时间当天早上的 8 小时算进 UTC 的前一天。
处理动作:选定一个分析时区(通常选业务主要受众所在时区),把两张表的时间戳都转成该时区的时刻,再按该时区的 00:00 作为日界切分。做完这一步后,核对两表的每日总量是否落在同一区间。如果换算后总数仍然对不上,问题多半不在时区,而在去重口径或统计触发点。
有些报表的时区偏移会随夏令时变化,或者平台按账号设置而非固定偏移汇总。这时“每天固定差 8 小时”的假设在切换日附近会失效,误差集中出现在切换当天及其相邻一天。
可区分的原因有三类:
判断属于哪一类,最直接的动作是取一个跨越偏移切换日的样本,分别用两种换算方式算一遍,看哪一种能让两表在切换日的总量吻合。吻合的那种才用于后续分析;两种都不吻合,说明还有第三个变量(如去重规则)在起作用。
退到按周通常比按天更稳,因为周界受时区偏移的影响被摊薄,且业务节奏(工作日与周末)的差异不会在单日放大。退到按小时则只在两表都有精确时间戳时可行。
一个假设例子:站内明细有精确时间戳,平台报表只有按天汇总。你可以把站内明细按平台所用时区重新聚合,再与平台报表逐日比对。如果某些天差异明显大于其他天,先检查那几天是否有活动上线或统计口径变更,而不是立刻归因于时区。差异集中在偏移切换日附近,才支持“时区是主因”这个判断;差异零散分布,时区多半不是主因。
保留按天的前提是两张表都有带时区的精确时间戳,且偏移规则可查。此时按统一日界重算,结果可用于日常诊断。
改写为按周或按小时的前提是至少一张表精度不足,或偏移不固定。改写后结论变粗,但不会把时区误差当成转化变化。
退出按天分析的前提是其中一张只有聚合结果且无法还原。此时继续按天对齐只会制造看似精确的错误结论。更合适的做法是把聚合表当作趋势参考,把明细表当作唯一可精确切分的数据源。
无论选哪一种,都要在报表里显式写出所用时区和日界,否则下一次分析的人会重复踩同一个坑。对齐方式一旦确定,先验证一个已知时间段的换算结果,再把它用于转化率变化的判断——这一步决定了后续结论是否值得信任。