指标口径变更需要标注版本,否则历史趋势会被误读
别名: 指标口径版本 · definition change · 口径变更
概念解释
完成、活跃、满意度的计数规则一旦改了分母、排除条件、事件名或问卷题,新旧数字就不再是同一条序列。口径版本(metric definition versioning)要求每次变更打上版本、生效时间和差异说明,并在图上断开或并行,而不是把新规则接到旧折线后面。不标注,一次埋点修复会看起来像体验暴涨,一次把机器人排除会看起来像活跃崩盘。
机制
折线默认被读成同一生成过程的连续观察。口径是这个过程的一部分:改口径等于换尺子。人眼和自动告警都不会自动知道尺子换了,于是把尺子差当成产品差。变更往往发生在工程侧——事件重命名、去重逻辑、样本框——体验团队若只消费报表,会在不知情时讲错误故事,甚至据此发版或开告警。版本化把“数字叫同一个名字”和“数字还是同一个定义”拆开。名字可以沿用,定义必须有世代。没有世代,历史就不可审计:谁也说不清三个月前的 72% 和今天的 72% 是不是一回事。
怎么研究
审计现行仪表盘上每条序列的定义变更日志是否完整,抽若干拐点核对当时是否有口径事件。做一个拼接实验:把已知的口径变更前后接到同一轴上,请未知情的同事解释拐点,统计有多少人把它讲成产品变化。能双算的窗口应并行跑旧定义与新定义,估计断裂幅度,作为以后读图的注释。对告警规则同样做版本对齐:口径变更日是否误触发或漏触发。
边界
拼写修正或纯展示层改名可以不升主版本,但仍应记补丁,以免检索混乱。无法回放旧定义时(原始事件已丢),断裂必须画成断点,不能用插值假装连续。频繁改口径会使版本本身不可读,应把变更收成有计划的窗口,而不是随每次代码提交改定义。版本化不禁止改进口径,它禁止的是改进之后假装历史可直接比较。
怎么落地
- 每条默认指标在图例显示当前版本号和生效日;变更日在图上画垂直标记。
- 口径变更必须能在重叠窗并行旧定义,重叠结束前不得删除旧序列。
- 对外或对上汇报跨变更日的趋势时,强制加一句“此处尺子已换”。
- 告警规则与口径版本绑定,升版本时重估阈值,禁止沿用旧线。