异常分析的原理、方法论和应用
什么是异常分析?
异常分析(Anomaly Analysis)是指对不正常的数据(指标)进行分析,尝试找出原因,并给出解决方案。
异常分析是数据分析师、数据运营、数据产品和数据开发工程师的一项基本工作,比如指标的突然上升或者突然下降,也或者是指标的持续上升或者持续下降,只有找到背后真实的原因,才能更好的进行后续动作,否则就是盲打。
异常分析的具体场景,比如:
- 搜索领域:假设百度的流量突然降低了,是什么原因?
- 短视频领域:假设抖音的人均活跃时长连续7天下降了,该如何分析?
- 电商领域:假设京东的9月GMV比8月GMV下降了30%,该怎么分析?
本文可以看作上一篇《因果分析(因果推断)的原理、方法论(模型)和应用》的应用,以异常分析为切入点,由结果(异常)找原因。
本文尝试从宏观视角,用逻辑来推导异常分析的原理、方法论,构建异常分析的知识体系。
首先,介绍了异常分析的概念、如何判断是异常和异常分析的分类等异常分析的基础知识;
接着,介绍了确定性异常分析的原理和不确定性异常分析的原理;
然后,介绍了奥运会金牌数不一致和日活(DAU)下降了等异常分析的应用案例;
最后,对异常分析进行总结,指出异常分析的本质、误区和前提。
本文目录如下:
1. 异常分析基础
1.1. 异常分析的概念
1.2. 如何判断是异常?
1.3. 异常分析的分类
2. 异常分析原理
2.1. 确定性异常分析的原理
2.2. 不确定性异常分析的原理
3. 异常分析应用
3.1. 奥运会金牌数不一致
3.2. 日活(DAU)下降了
4. 异常分析总结
4.1. 异常分析的本质
4.2. 异常分析的误区
4.3. 异常分析的前提
接下来,让我们一起走进异常分析的世界,去尝试探讨异常分析的原理及应用。
1. 异常分析基础
1.1. 异常分析的概念
异常 (Anomaly)是指不同于寻常(不正常)。
异常分析 (Anomaly Analysis)是指对不正常的数据(指标)进行分析,尝试找出原因,并给出解决方案。本文聚焦数据指标的异常分析。
1.2. 如何判断是异常?
基于二分法,把异常分为确定性异常和不确定性异常。
再基于时间维度,把不确定异常分为突然性异常、持续性异常和累积性异常。
具体用累积还是累计呢?个人先选择累积吧。
异常的分类如下:
那么,如何判断异常呢?
确定性异常表现为数据指标的不相等,往往是数量型的。
不确定性异常表现为数据指标的下降了或者提高了。
1.3. 异常分析的分类
基于异常的分类,把异常分析分为:确定性异常分析和不确定性异常分析。
不确定性异常分析又分为突然性异常分析、持续性异常分析和累积性异常分析。
举一些不确定性异常分析的例子,比如
- 百度的流量突然降低了,这属于突然性异常分析;
- 抖音的人均活跃时长连续7天下降,这属于持续性异常分析;
- 京东的9月GMV比8月降低30%,这属于累积性异常分析。
2. 异常分析原理
异常分析,首先是从异常(结果)找原因。
接下来,分别从确定性异常分析和不确定性异常分析两个方面介绍异常分析的原理。
2.1. 确定性异常分析的原理
第一步:业务拆解,建立业务体系;
第二步:量化每个关键要素(或者关键节点),定位异常。
2.2. 不确定性异常分析的原理
第一步:宏观分析,判断是否是真的异常;
第二步:业务拆解,建立指标体系;
数据基础设施完善的话,往往结合数据看板,这一步就省略了。
第三步:指标对比,定位可能原因的位置;
第四步:假设检验,找到具体原因。
适合A/B实验的,可以用A/B实验验证。
这四步不是必须的,但要注意其内在的逻辑:
所以,异常分析还要进行因果验证,验证是不是这个原因导致的异常,实际应用中往往忽视掉了。
留个思考题:本文只给出整体的不确定性异常分析思路,那么突然性异常分析、持续性异常分析、累积性异常分析,三者异常分析有什么区别吗?评论区留言,咱们一起交流。
3. 异常分析应用
分别举一个确定性异常分析和不确定性异常分析应用的例子如下:
3.1. 奥运会金牌数不一致
异常描述:2020东京奥运会金牌总数是339,但基于数据源聚合计算后不是这个数(比如 341)。
第一步: 按项目、日期对奥运会金牌总数进行拆解,缩小异常范围;
第二步: 对比每个项目、每天的金牌数,从差异找到异常点。
奥运会项目的业务知识可参考:
3.2. 日活(DAU)下降了
先定位问题,是突然下降还是持续下降?
更多日活(DAU)指标,可以参考我之前的文章《DAU指标的原理、方法论和应用》
其中第二步(业务拆解,建立指标体系)可以用鱼骨图进行可视化描述。
4. 异常分析总结
4.1. 异常分析的本质
异常分析的本质是因果分析。
另一个视角看,异常分析先是由结果(异常)找可能的原因,属于归纳法,最后验证可能的原因是由原因推结果,属于演绎法,所以异常分析是归纳法与演绎法的综合应用。
4.2. 异常分析的误区
- 无业务逻辑,缺乏系统性分析
- 只进行原因的归纳,而没验证因果关系
- 陷入一个个异常分析,无总结归类
4.3. 异常分析的前提
我们以上的分析都建立在一个前提:数据统计是正确的。数据不正确,所有的分析都是假的。
总结:
异常分析时,避免陷入具体业务的异常分析,要总结,归纳,迁移,提高工作效率。
异常分析的形式是多样的,或许全面性、系统性、逻辑性才是最重要的。
最后,异常分析要有结论有行动,形成异常分析报告,指导业务动作。
结束语:
由于个人的经历、能力和水平是有限的,我的可能是片面的,也可能是错的,这里抛砖引玉。
理论本身是务虚的,需要实践、实践、再实践。
你的反馈,正的负的都是有价值的,有助于我加速迭代升级——更深入、更全面。
你可能会有更好的理论、实践案列,欢迎在评论区留言,咱们一起讨论。