持续跟踪需要区分正常波动与真实异常
别名: 正常波动 · 真实异常 · statistical process distinction
概念解释
持续跟踪的指标每天都在动。正常波动来自样本量、星期模式、投放节奏和季节;真实异常来自产品、数据管道或外部冲击改变了生成过程。跟踪的第一件事是把二者分开,而不是把每一次跳变都当成要改设计的信号。分不开,团队会在噪声里空转,或在真异常里睡过去。
机制
体验计数是随机过程加上结构周期。日完成率在周一和周末本就不同,小样本功能的比例会大幅跳动,一次大型投放会把新客权重抬高。这些是过程仍在原模型里的波动。异常是模型本身变了:埋点丢事件、发布引入失败路径、第三方登录中断、口径被改。用裸眼看折线,结构周期和噪声都会被讲成故事。需要的是对“平时”的显式描述——按星期、按流量、按人群的期望带——跳出力带且不能被已知日历解释的,才进入异常。区分不是一次阈值,而是对生成过程的模型;模型越粗糙,误把波动当异常、把异常当波动的次数越多。
怎么研究
为每条被跟踪的指标拟合含星期、季节和已知活动的基线,预留一部分时间做前测,估计在无发布、无事故日里越过告警线的假阳性率。注入已知异常(下掉一个埋点、模拟一次失败)估计检出时间。比较“固定百分点阈值”和“相对基线的力带”,在同一历史上的漏报与误报。分组看:总指标平稳但某一入口或设备在力带外,属于被平均藏住的真实异常。
边界
新产品没有足够历史来建基线,早期应更宽地人工看,而不是假装有过程模型。真正的缓慢漂移可以一直走在力带边缘而不触发,需要专门的漂移检验,不能只靠点异常。业务方指定的“必须立刻知道”事件(支付全失败)可以走硬阈值,不必等力带。把所有波动解释为正常也会睡过真异常,区分必须允许假阳性存在,只是要控制在可调查的量。
怎么落地
- 为默认跟踪的指标画出含星期和已知活动的期望带,而不是只画原值折线。
- 落在带内的变化不进入设计议题;带外且无日历解释的才开异常单。
- 大活动和假期预先标在日历上,避免年年把同一模式当事故。
- 对关键分群保留同样的带,防止总分把局部异常抹平。