异动分析(一)如何快速进行异常定位
异动分析(一)如何快速进行异常定位
小P:小H,最近X(某指标)下降的有点狠啊,帮忙找找看原因呗~
小O:小H,今天Y(某指标)怎么没数据了,帮忙查查呗,急~
小H:…
相信大家对这些话应该很熟悉吧,作为一名数据分析师,异动分析是最重要也是最频繁的专题分析场景,狭义上异动分析只涉及指标的异常波动,广义上所有的数据异常都可以归纳到异动分析范畴。本文就给大家介绍下如何快速进行异常定位。
数据传输异常
首先应该确认是否是数据传输造成的异常,一般情况下,指标骤降、数据丢失最有可能的原因就是传输异常造成的。
查看调度日志,血缘关系,同步数据情况等
调度日志确认是否数仓延迟
血缘关系确认上游依赖是否存在执行问题
同步数据确认Hive在同步过程是否有丢失情况
脚本从下往上溯源,查看指标依赖的主表底层逻辑是否出现重复或缺失情况
出现缺失情况一般反馈给业务研发
出现重复,如果业务逻辑上认可该重复场景,则需修改脚本逻辑,去重规则由业务指定
出现重复,业务逻辑上认为是BUG,则交由研发修复
拉出明细,找出典型case反馈给业务研发进行商讨
如果该case是业务逻辑漏洞,要么研发修复,要么数分从脚本上进行逻辑排除
如果该case是脚本逻辑BUG,数分修复脚本逻辑
如果该case是研发BUG,交由研发修复
排除正常波动
数据嘛,带点波动正常的。你只要将周期拉长,你就可能会发现该波动是周期性的或者波动幅度也没那么夸张了,然后你就可以安慰业务不要过于敏感了。
周期性波动:一般常见的如周末、行业淡季、特定节假日等
正常区间波动:一般采用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)
分析步骤
确定相关指标、维度和时间范围
对异动指标尽可能的拆解,一般是
异动指标=某个初始指标*过程转化率*结束指标
;结合业务尽可能的梳理主要影响维度;确定异动开始的时间(不明确时可用时间范围代替)数据抽样
根据相关指标、维度和异动时间,选取包含异动时间的近期历史数据 。
对比分析
- 单维对比:选定一个维度进行下钻,通过时间趋势比较各子维度的样本占比是否在异动时间有明显变化;查看是否存在某个子维度异动指标的趋势与其他子维度明显有差异;进一步查看该子维度拆解指标的趋势与其他子维度是否有明显差异;按此步骤依次遍历所有维度。
- 多维对比:对上述维度进行交叉得到更细的维度,查看是否存在细分群体导致的异常。一般不建议过度交叉,因为过度交叉后的细分群体样本极少,少数样本是很难影响大盘走势的。
得出结论
某个子维度的样本占比变化造成的
某个子维度指标变化异常造成的,进一步拆解发现是某个环节的指标异常造成的
某个细分群体的样本占比变化造成的
某个细分群体指标变化异常造成的,进一步拆解发现是某个环节的指标异常造成的
业务追溯
将上面的结论给到业务去寻求业务解读,一般情况是业务动作或研发BUG造成的影响。如果业务无法解读该原因,研发也没有查出BUG,那就需要在此结论的基础上进一步进行异动分析。
落地跟进
对于最终的结论一般会讨论出解决方案,解决落地后,需要持续追踪该指标的变化是否符合方案预期。
上面的分析步骤尽可能的将问题复杂化了,只有这样才能起到"以偏概全"的效果。实际业务中会先通过报表简单进行维度下钻,查看样本占比变化是否异常,查看异动指标和拆解指标的趋势是否异常,这就是报表的作用,优秀的报表往往能解决大部分的异动分析。
只有在碰到特别棘手的异动情况才会大海捞针似的进行专题分析,挖掘出影响目标的一些主要指标,再对这些指标进行拆解下钻,趋势对比。
如果抽丝剥茧之后还是无法明确原因时,一般就需要考虑经营问题与环境政策了,详见下面的外因分析。
外因分析
外因分析的方法很多,例如通过PEST模型
进行市场环境、政策环境分析;通过SWOT模型
、波特五力模型
进行竞对分析;通过4P理论
、用户5五要素模型
进行自我剖析。实际上很难及时且准确的获得外部数据,所以大多数情况下,外因分析的结论都是定性的,无法定量。
结论
正如开篇中所说的,异动分析是一个综合性分析,因为涉及的场景千变万化,但核心思想总归是对比分析。只要掌握了维度下钻、指标拆解,并结合趋势对比,随便它怎么动~
共勉~
异动分析(一)如何快速进行异常定位相关推荐
- 异动分析技术解决方案—异动归因之指标拆解
简介:归因的方法有多种,这篇文章的重点是指标拆解,也是我们做业务分析时最常用到的方法.我们的目的是解放人力,将指标拆解实现自动化,一方面可以加快业务迭代速度,快速定位问题:另一方面可以对可能产生异动的 ...
- 【业务理解】指标异动分析
作者:木兮 来源:木木自由公众号 这是加薪的第七篇推文,关于数据分析思维-数据指标异动分析.在日常生活工作中,我们经常会遇到"产品XX数据指标出现异常波动,或上升或下跌"的问题,X ...
- 数据分析思维|数据指标异动分析
这是加薪的第七篇推文,关于数据分析思维-数据指标异动分析.在日常生活工作中,我们经常会遇到"产品XX数据指标出现异常波动,或上升或下跌"的问题,XX指标包括但不限于日活.次日留存率 ...
- 异动分析(四)利用Python计算指标贡献度
异动分析(四)利用Python计算指标贡献度 小P:有些异动的原因是多方面的,我看网上说可以通过计算贡献度进行量化. 小H:是的,容我想想- 虽然不是必要的,但有时候异动的原因多个,通过计算每个原因的 ...
- 异动分析--基础指标监控及查因思路
一.用户规模 dau 新用户 新户的情况较为简单 渠道投放,渠道的用户信息情况占比 新户的曝光和push 二.用户留存 三.收入 总结:异动分析框架
- 【数据应用案例】异动分析——指标逻辑树
案例来源:@美团技术博客 案例地址:https://zhuanlan.zhihu.com/p/31676443 1. 目标:在BI实践中,快速定位到使某个业务指标发生异动的因素,并对该因素进行细分维度 ...
- 基于“贡献指数”指标对多因素造成的占比类指标异动进行快速归因
一.背景 作为数据分析师,对指标的异动原因进行定位,是常见的一类工作.笔者通常会针对某一业务场景(如电商销售),提前搭建好指标体系,并做好可视化.方便后续分析异动时,能够快速进行横向(如人群.类目.入 ...
- 指标异动排查中,3种快速定位异常维度的方法
如果你对数据分析感兴趣,希望学习更多的方法论,希望听听经验分享, 欢迎移步公众号「小火龙说数据」,更多精彩原创文章与你分享! 「经验」指标异动排查中,3种快速定位异常维度的方法https://mp.w ...
- 一个案例两种分析方法告诉你数据涨跌异动该如何处理?附送涨跌问题常见五种假设
前言 说到数据涨跌,平时我们可能更多的是去关注跌了多少,因为人之本性,大家都是比较怕失去的,一旦跌了之后,我们往往要通过分析找到跌的原因,然后呢,再采取一些具体的动作来减缓这个跌的趋势,或者是直接把这 ...
最新文章
- RESTful服务最佳实践
- c语言回收字符串空间,C语言基础知识(字符串,函数,内存空间)
- Git错误non-fast-forward后的冲突解决
- c#操作word表格
- hibernate一对一关系实现
- python脚本-记录Python脚本的运行日志的方法
- 从BMW Vision iNEXT 看宝马如何进军自动驾驶 1
- python类和对象_Python类和对象
- linux c语言头文件 在另外的地方,linux下的c语言的头文件在windows下头文件是哪几个?...
- 英特尔®以太网700系列的动态设备个性化
- 计算机网络对生活的影响论文,浅论计算机对我们生活的影响论文
- 5G移动通信发展历程
- 王权小福贵儿的Java学习笔记
- moc 文件自动生成
- 勒索病毒来袭!及时备份数据吧!
- Unity2023 Alpha新功能简介
- 计算机断电后信息会丢失的存储设备是什么,断电会使原存信息丢失的储存器是什么...
- unity Device Simulator的使用
- python键盘记录器_使用Python设计键盘记录器
- 去哪儿网首页分析 Home.vue
热门文章
- com.baomidou.mybatisplus.core.exceptions.MyBatisPlusException: java.net.UnknownHostException
- uniapp使用ucharts图表及问题汇总
- php wps导入数据库,wps excel表格怎么导入数据库-如何把excel表格导入wps
- 洛谷1903 带修莫队
- html创建一个四行三列表单,HTML(三)表格table与表单form的基本使用
- “咱们吃鸡吧”的背后
- 密码加盐(salt)
- CTF-安卓手机文件分析取证(陌陌发送的图片)
- 【企业】乔吉拉德之 250 定律
- 向西,向西,到栖霞去(二)--走马看福山