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

小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}} 1−z21​的数据与均值在 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 (x−xˉ)/S>3。

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

内因分析

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

三板斧定义

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

分析步骤

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

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

  2. 数据抽样

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

  3. 对比分析

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

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

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

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

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

  5. 业务追溯

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

  6. 落地跟进

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

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

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

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

外因分析

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

结论

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

共勉~

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

  1. 异动分析技术解决方案—异动归因之指标拆解

    简介:归因的方法有多种,这篇文章的重点是指标拆解,也是我们做业务分析时最常用到的方法.我们的目的是解放人力,将指标拆解实现自动化,一方面可以加快业务迭代速度,快速定位问题:另一方面可以对可能产生异动的 ...

  2. 【业务理解】指标异动分析

    作者:木兮 来源:木木自由公众号 这是加薪的第七篇推文,关于数据分析思维-数据指标异动分析.在日常生活工作中,我们经常会遇到"产品XX数据指标出现异常波动,或上升或下跌"的问题,X ...

  3. 数据分析思维|数据指标异动分析

    这是加薪的第七篇推文,关于数据分析思维-数据指标异动分析.在日常生活工作中,我们经常会遇到"产品XX数据指标出现异常波动,或上升或下跌"的问题,XX指标包括但不限于日活.次日留存率 ...

  4. 异动分析(四)利用Python计算指标贡献度

    异动分析(四)利用Python计算指标贡献度 小P:有些异动的原因是多方面的,我看网上说可以通过计算贡献度进行量化. 小H:是的,容我想想- 虽然不是必要的,但有时候异动的原因多个,通过计算每个原因的 ...

  5. 异动分析--基础指标监控及查因思路

    一.用户规模 dau 新用户 新户的情况较为简单 渠道投放,渠道的用户信息情况占比 新户的曝光和push 二.用户留存 三.收入 总结:异动分析框架

  6. 【数据应用案例】异动分析——指标逻辑树

    案例来源:@美团技术博客 案例地址:https://zhuanlan.zhihu.com/p/31676443 1. 目标:在BI实践中,快速定位到使某个业务指标发生异动的因素,并对该因素进行细分维度 ...

  7. 基于“贡献指数”指标对多因素造成的占比类指标异动进行快速归因

    一.背景 作为数据分析师,对指标的异动原因进行定位,是常见的一类工作.笔者通常会针对某一业务场景(如电商销售),提前搭建好指标体系,并做好可视化.方便后续分析异动时,能够快速进行横向(如人群.类目.入 ...

  8. 指标异动排查中,3种快速定位异常维度的方法

    如果你对数据分析感兴趣,希望学习更多的方法论,希望听听经验分享, 欢迎移步公众号「小火龙说数据」,更多精彩原创文章与你分享! 「经验」指标异动排查中,3种快速定位异常维度的方法https://mp.w ...

  9. 一个案例两种分析方法告诉你数据涨跌异动该如何处理?附送涨跌问题常见五种假设

    前言 说到数据涨跌,平时我们可能更多的是去关注跌了多少,因为人之本性,大家都是比较怕失去的,一旦跌了之后,我们往往要通过分析找到跌的原因,然后呢,再采取一些具体的动作来减缓这个跌的趋势,或者是直接把这 ...

最新文章

  1. RESTful服务最佳实践
  2. c语言回收字符串空间,C语言基础知识(字符串,函数,内存空间)
  3. Git错误non-fast-forward后的冲突解决
  4. c#操作word表格
  5. hibernate一对一关系实现
  6. python脚本-记录Python脚本的运行日志的方法
  7. 从BMW Vision iNEXT 看宝马如何进军自动驾驶 1
  8. python类和对象_Python类和对象
  9. linux c语言头文件 在另外的地方,linux下的c语言的头文件在windows下头文件是哪几个?...
  10. 英特尔®以太网700系列的动态设备个性化
  11. 计算机网络对生活的影响论文,浅论计算机对我们生活的影响论文
  12. 5G移动通信发展历程
  13. 王权小福贵儿的Java学习笔记
  14. moc 文件自动生成
  15. 勒索病毒来袭!及时备份数据吧!
  16. Unity2023 Alpha新功能简介
  17. 计算机断电后信息会丢失的存储设备是什么,断电会使原存信息丢失的储存器是什么...
  18. unity Device Simulator的使用
  19. python键盘记录器_使用Python设计键盘记录器
  20. 去哪儿网首页分析 Home.vue

热门文章

  1. com.baomidou.mybatisplus.core.exceptions.MyBatisPlusException: java.net.UnknownHostException
  2. uniapp使用ucharts图表及问题汇总
  3. php wps导入数据库,wps excel表格怎么导入数据库-如何把excel表格导入wps
  4. 洛谷1903 带修莫队
  5. html创建一个四行三列表单,HTML(三)表格table与表单form的基本使用
  6. “咱们吃鸡吧”的背后
  7. 密码加盐(salt)
  8. CTF-安卓手机文件分析取证(陌陌发送的图片)
  9. 【企业】乔吉拉德之 250 定律
  10. 向西,向西,到栖霞去(二)--走马看福山