结论先给:如果旧事件已经积累了一段可用于比较的历史,重命名时不要直接改掉旧事件名,而应同时保留旧事件并让新事件从同一时间点开始记录,再在分析层把两者按“旧名截止、新名起始”拼接成一条序列。直接改名会让趋势在改名当天断裂,因为报表看到的是一个停止上报的旧事件和一个从零开始的新事件;保留双写则让断裂点变成一次可解释的口径切换。若旧事件历史不足一个完整周期,或者新旧事件在业务含义上并不等价,这条结论就不成立。
需要区分三种情况,它们的处理代价完全不同。
假设旧事件名为 post_read_old,新事件名为 post_read,且两者触发条件相同。可以这样安排:
这个动作的直接结果是:改名当天不会出现归零的折线,代价是短期内有重复上报,事件总量会暂时偏高。因此下一步不能直接看总量,而要按事件名分别查看,确认两条线在重叠期内走势一致,再决定何时停掉旧名。若两条线在重叠期就明显背离,说明新旧触发条件并不等价,此时应停止拼接,回到上一条的第三种情况处理。
有一种情况双写也救不了趋势:新旧事件虽然名字不同,但统计口径本身已经变了。例如旧事件统计的是页面浏览,新事件统计的是滚动到文末,两者数值接近只是巧合,重叠期一过就会暴露差异。判断依据不是两条线是否接近,而是触发位置、去重规则、是否受同一批用户影响这三项是否一致。只要有一项不同,拼接出来的趋势就没有解释力,应当把新事件当作独立指标重新积累基线,而不是强行接续旧曲线。
另一个反例是数据保留期限短于观察周期。如果旧事件数据只保留有限时间,双写期间还没来得及完成对比,旧数据就可能被清理,导致无法回查。这种情况下应先把旧数据导出留存,再执行改名。
如果已经做了双写,切换后趋势还是掉了一截,按以下顺序排查,每一步都能缩小范围:
完成上述排查后,下一步动作是固定一份口径说明:写明切换日期、新旧事件的定义、重叠期长度和拼接规则。这份说明的作用不是留档,而是让之后看趋势的人知道哪一段是旧口径、哪一段是新口径,避免把口径切换误读成访问量本身的涨跌。