异动分析(一)如何快速进行异常定位

异动分析(一)如何快速进行异常定位

小P:小H,最近X(某指标)下降的有点狠啊,帮忙找找看原因呗~

小O:小H,今天Y(某指标)怎么没数据了,帮忙查查呗,急~

小H:…

相信大家对这些话应该很熟悉吧,作为一名数据分析师,异动分析是最重要也是最频繁的专题分析场景,狭义上异动分析只涉及指标的异常波动,广义上所有的数据异常都可以归纳到异动分析范畴。本文就给大家介绍下如何快速进行异常定位。

数据传输异常

首先应该确认是否是数据传输造成的异常,一般情况下,指标骤降、数据丢失最有可能的原因就是传输异常造成的。

  1. 查看调度日志,血缘关系,同步数据情况等

    • 调度日志确认是否数仓延迟

    • 血缘关系确认上游依赖是否存在执行问题

    • 同步数据确认Hive在同步过程是否有丢失情况

  2. 脚本从下往上溯源,查看指标依赖的主表底层逻辑是否出现重复或缺失情况

    • 出现缺失情况一般反馈给业务研发

    • 出现重复,如果业务逻辑上认可该重复场景,则需修改脚本逻辑,去重规则由业务指定

    • 出现重复,业务逻辑上认为是BUG,则交由研发修复

  3. 拉出明细,找出典型case反馈给业务研发进行商讨

    • 如果该case是业务逻辑漏洞,要么研发修复,要么数分从脚本上进行逻辑排除

    • 如果该case是脚本逻辑BUG,数分修复脚本逻辑

    • 如果该case是研发BUG,交由研发修复

排除正常波动

数据嘛,带点波动正常的。你只要将周期拉长,你就可能会发现该波动是周期性的或者波动幅度也没那么夸张了,然后你就可以安慰业务不要过于敏感了。

  1. 周期性波动:一般常见的如周末、行业淡季、特定节假日等

  2. 正常区间波动:一般采用3-sigma​原理、z-score法则、业务Dmin等判断波动是否在正常区间外

    • 3-sigma原理:在正态分布中,数据点落在距离平均值3 σ \sigma σ的概率为99.7。如果数据不服从正态分布,则可以描述为远离平均值3倍标准差。(日常业务中,时序数据服从正态的较少,一般需要根据业务设定为k倍标准差)

    • z-score法则:切比雪夫定理中,对于任何分布,约 1 − 1 z 2 1-\frac{1}{z^{2}} 1z21的数据与均值在 z z z个标准差内,一般的 z = 3 z=3 z=3

    • 业务Dmin:业务经验设定的最小波动。

    在方法上,3-sigma原理与z-score法则是基本一致的,选取该datePoint前的T时间窗口的数据,计算其样本均值( x ˉ \bar x xˉ)和样本标准差(S),然后计算datePoint的数值 x x x与样本均值距离样本标准差的距离是否大于3,即 ( x − x ˉ ) / S > 3 (x-\bar x)/S >3 (xxˉ)/S>3

    工业上检测时间序列异常值的方法很多,可以参考基于时间序列的异常检测,但对于异动分析来说就显得过于复杂了,因此只建议统计上的简单判断。

内因分析

如果你查看了调度,任务上下游,脚本逻辑,数据明细,也排除了正常波动还是无法确认异常的原因时,这个时候就需要着手进行专题分析了。一般通过趋势对比+维度下钻+指标拆解三板斧,并结合业务通过历史数据去挖掘可能的内在原因。

三板斧定义

  • 趋势对比也叫纵向对比,一般包含环比和同比,趋势对比是维度下钻和指标拆解的应用基础
  • 维度下钻本质上是横向对比,根据MECE原则对相关维度进行穷尽
  • 指标拆解一般分为公式拆解和路径拆解,公式一般依赖于业务定义,路径则依赖于转化漏斗(如AARRR)和用户行为路径(如UJM)

分析步骤

  1. 确定相关指标、维度和时间范围

    对异动指标尽可能的拆解,一般是异动指标=某个初始指标*过程转化率*结束指标;结合业务尽可能的梳理主要影响维度;确定异动开始的时间(不明确时可用时间范围代替)

  2. 数据抽样

    根据相关指标、维度和异动时间,选取包含异动时间的近期历史数据 。

  3. 对比分析

    • 单维对比:选定一个维度进行下钻,通过时间趋势比较各子维度的样本占比是否在异动时间有明显变化;查看是否存在某个子维度异动指标的趋势与其他子维度明显有差异;进一步查看该子维度拆解指标的趋势与其他子维度是否有明显差异;按此步骤依次遍历所有维度。
    • 多维对比:对上述维度进行交叉得到更细的维度,查看是否存在细分群体导致的异常。一般不建议过度交叉,因为过度交叉后的细分群体样本极少,少数样本是很难影响大盘走势的。
  4. 得出结论

    • 某个子维度的样本占比变化造成的

    • 某个子维度指标变化异常造成的,进一步拆解发现是某个环节的指标异常造成的

    • 某个细分群体的样本占比变化造成的

    • 某个细分群体指标变化异常造成的,进一步拆解发现是某个环节的指标异常造成的

  5. 业务追溯

    将上面的结论给到业务去寻求业务解读,一般情况是业务动作或研发BUG造成的影响。如果业务无法解读该原因,研发也没有查出BUG,那就需要在此结论的基础上进一步进行异动分析。

  6. 落地跟进

    对于最终的结论一般会讨论出解决方案,解决落地后,需要持续追踪该指标的变化是否符合方案预期。

上面的分析步骤尽可能的将问题复杂化了,只有这样才能起到"以偏概全"的效果。实际业务中会先通过报表简单进行维度下钻,查看样本占比变化是否异常,查看异动指标和拆解指标的趋势是否异常,这就是报表的作用,优秀的报表往往能解决大部分的异动分析。

只有在碰到特别棘手的异动情况才会大海捞针似的进行专题分析,挖掘出影响目标的一些主要指标,再对这些指标进行拆解下钻,趋势对比。

如果抽丝剥茧之后还是无法明确原因时,一般就需要考虑经营问题与环境政策了,详见下面的外因分析。

外因分析

外因分析的方法很多,例如通过PEST模型进行市场环境、政策环境分析;通过SWOT模型波特五力模型进行竞对分析;通过4P理论用户5五要素模型进行自我剖析。实际上很难及时且准确的获得外部数据,所以大多数情况下,外因分析的结论都是定性的,无法定量。

结论

正如开篇中所说的,异动分析是一个综合性分析,因为涉及的场景千变万化,但核心思想总归是对比分析。只要掌握了维度下钻、指标拆解,并结合趋势对比,随便它怎么动~

共勉~

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值