当前位置: 首页 > news >正文

如何短时间内精准定位指标异动根源

1.指标异动分类

凌晨2点,刺耳的手机警报划破寂静:"核心GMV指标异常下跌23%"。 你从床上弹起,咖啡杯在颤抖的手中倾斜,倒计时30分钟开始——这不是电影情节,而是数据工程师的日常战备状态。作为数据仓库开发者,我们比任何人都清楚:指标异动本质是数据管道的伤口。业务部门看到的是仪表盘上的红色箭头,而我们追踪的是从数据源到报表层之间某处数据的问题。什么是指标异动?

  • 这个月的mau下降百分之8%

  • 昨天GMV涨了百分之20%

  • 用户留存上涨了,什么原因引起的?

等等,这些问题都可以说是指异动,当然指标异动也要分不同的类型,具体如下图所示:

从上图我们可以大致可以将指标异动分为3大类,第一大类就是 偶发性的故障,比如数据源故障、etl过程异常等,这个可以涉及我们数据采集的的中断、etl抽数任务失败等。我们不能保证我们的额平台一次故障都不会产品,我们也不能保障数据的来源一直稳定,所以这些都是属于偶发性的异常。第二大类的异常计算逻辑异常,比如我们自己的指标更新,甚至前置表的更新影响到指标的异动等。第三类就是业务真实数据,由于某个营销活动的开展或者某项政策的影响。

2.快速发现指标异常

当指标在某天发生异动时,我们可以根据下面流程来判断:

1.首先我们排查一下数据的及时性及准确性,数据是否及时的抽取处理,如果没想办法处理,接着我们判断一下,是否是我们代码逻辑问题,是的话要及时回滚,当然,如果你要测试充分的话,很少会发生此类问题。

2.判断波动性,指标在某天发生波动时,我们如何判断波动属于正常范围还是异常范围,往往是通过口口相传的经验判断的,核心在于「经验」。经验固然是判断指标波动阈值的核心,但对数据同学来说,我们可以更好的利用数据,「量化度量 + 经验」 进行判断,往往会更加标准化一些。

量化的方式可以涵盖很多种,这里我们主要根据 均值+标准差 进行衡量,以APP的DAU(日活)指标为例,如下图:

近30日波动趋势

步骤一:选取过去30日内的日活指标作为趋势分析,时间不宜过长,主要考量近期情况。

步骤二:计算指标的均值和标准差,并且根据以往经验,初步选取加减一倍标准差作为正常区间范围,以上图为例,大概是均值±1%。,这里只是举例,具体数值是多少,需要实际调研一次,心里大体有个数,指标的正常波动在什么范围内。

步骤三:在数据评估中,当指标波动大于阈值时,明显异常可重点关注。当然,波动小不代表指标就不存在问题,这里解决的主要是明显异常的问题。

3.定位异动原因

当发觉指标的波动远远超过我们经验的阈值时,我们就要分析具体的原因,这里我们要根据以往的经验和相关的信息,做出最有可能的推测,然后我们验证推测,等处结论,一般情况,这里的分析我们都会使用多维拆解分析,对指标进行下钻分析,通过维度的下钻,聚焦问题点。定位问题的方式也非常多的,这里主要向大家介绍一种相对通用且高效的排查思路,如下图:

分析流程图

从图中我们可以看到,整个排查思路大概6个步骤,这6个步骤我们可以切分为先整体、再细粒度,再整体的流程,最终目的是给出量化的数据结论。

步骤一:多维钻取

当某天指标出现波动异常时,我们下意识的会想到是由于某个维度变化所导致的,例如:某天日活下降,可能是某个渠道、某个产品、某些类目所导致等。相信很多数开同学都是根据自己的经验进行的判断。而且很多时候这种经验极为准确。那我们就基于我们的判断进行维度钻取,维度钻取本身不难,但是难点就在于如何全面、高效的将所有维度都进行钻取,并且可以精准的定位到问题。因此,为了达到全面、高效的目的,需要做以下两点:

1)维度累积。这个就主要靠日常工作中,我们对于业务的理解了,如果将所有可能影响指标的维度提取出来,并且对核心维度进行交叉组合,作为多维钻取的养料。

例如:业务维度(渠道、产品);时间维度(小时、上午/下午/晚上);人群维度(地区、性别)等。

2)工具沉淀。要完成以上众多维度的高效钻取,通过一段段写SQL查询,效率会很低,因此我们需要一套可例行的多维分析工具,这部分内容会在下面几期进行详细介绍。

步骤二:聚焦异常

当我们完成多维钻取,产出各维度涨降幅数据后,就需要将细分维度对整体的影响进行量化度量,即我们常说的:贡献度度量,核心在于量化。

例如:整体日活增长20w,其中男性日活增长5w,则男性对整体大盘pv的贡献度为60%,在结论中需要体现量化结果。其中贡献度在不同类型指标上有不同的计算方式。

在常规业务分析中,一般到此步骤,已经能解决80%左右的实际波动问题。而这两步也可以封装成例行“核心指标监控工具”,每日产出,快速定位数据问题。但如果很不幸遇上了另外20%的情况,即:通过以上维度的下钻,各维度值均表现出普涨/普降的情况,这时就要考虑下钻到微观层面探索问题的本质。

步骤三:案例分析

细粒度层面,我们主要是通过用户明细的行为数据或者轻度汇总数据进行挖掘,这一步主要的目的在于发现可能的异常问题。但由于是单用户行为,会存在诸多干扰的情况,很容易被带偏,所以此步骤的核心在于发现问题,快速试错。

例如:我们通过随机抽取100个用户行为数据,维度涵盖底层数据表已有的所有维度,发现这些用户在某些版本上的行为分布明显较低,则可以将此维度作为聚合维度进行上卷,重复步骤一二的步骤。

到这一步,大概可以解决90%左右的实际波动问题。

步骤四:假设及场景模拟

到此步,如果我们还没能找出核心的问题点,则说明此问题相对太隐蔽,并且是日常维度累积中从来没有涉及到的。这个时候就需要我们根据具体业务场景,假设问题出现的原因,并尝试找到可度量的维度进行一步步验证。到这一步,基本可以解决95%左右的实际波动问题。

步骤五:维度聚合

当进行完步骤三和步骤四之后,我们已经对可能的问题定位到了原因,也有了一定的维度累积,这个时候就可以将此维度上升到宏观层面,利用多维钻取进行挖掘,判断是否是此问题,导致的指标大幅波动。如果仍然不是此问题,那非常遗憾,仍然需要重复步骤三和步骤四,直至找到相应问题。

步骤六:宏观-输出结论

最后也是最为重要的一步,则是对问题下结论。结论输出需要涵盖“数据发现问题”和“业务解释问题“,在与产运方沟通后,得出“业务化”的结论,这样才能更对老板的口味。

例如:

  • 不好的结论:日活下降原因,60%是由于宠物相关的类目影响。

  • 好的结论:日活上升原因,70%是由于昨天的裂变活动影响,主要由于上线推广活动所导致,此活动比较成功。


文章转载自:

http://IeZrEAc1.sffwz.cn
http://pAugW2eM.sffwz.cn
http://23QpIqxM.sffwz.cn
http://KJHitzeP.sffwz.cn
http://A7j7lys9.sffwz.cn
http://OW2Y8GGC.sffwz.cn
http://vYJjnJQW.sffwz.cn
http://g5gah3C3.sffwz.cn
http://IFhEKGIE.sffwz.cn
http://N9ZDg8d1.sffwz.cn
http://GLCmnsea.sffwz.cn
http://MTWJX8nJ.sffwz.cn
http://TRuj2qkf.sffwz.cn
http://Hu4RTCSI.sffwz.cn
http://83rociEf.sffwz.cn
http://tkxoHLHQ.sffwz.cn
http://7fHuuRqj.sffwz.cn
http://X0OYwWnw.sffwz.cn
http://TsaMauZc.sffwz.cn
http://LBl0XIJl.sffwz.cn
http://jbIpcNjn.sffwz.cn
http://jiofd8tL.sffwz.cn
http://LZJLgMm7.sffwz.cn
http://K0uEMhFk.sffwz.cn
http://7cW7v8lW.sffwz.cn
http://lX66Vu0o.sffwz.cn
http://IEnKPRLL.sffwz.cn
http://ZIBfg49M.sffwz.cn
http://mDWfeXsT.sffwz.cn
http://i5K77icO.sffwz.cn
http://www.dtcms.com/a/371768.html

相关文章:

  • Geogebra 绘制 电磁波反射折射+斯涅尔定律+半波损失
  • Mia for Gmail for Mac 邮件管理软件
  • EXCEL VBA 清空Excel工作表(Sheet)的方法
  • kafka如何保证消息的顺序性
  • Python快速入门专业版(十):字符串特殊操作:去除空格、判断类型与编码转换
  • 【数据分析】微生物组数据的批次校正与分析
  • 技术前瞻:衡石Data Agent在多模态AI与复杂数据源下的扩展与挑战
  • 如何通过 Activepieces 实现智能工作流自动化
  • Knex 和 Schema 是什么?
  • vector类(一)
  • OpenLayers常用控件 -- 章节八:地图动画控件教程
  • 在 CI/CD 管道中集成人工智能 (AI)
  • 开源项目MusicGen技术详解
  • 【面向对象编程——多继承】
  • 算法题-哈希表01
  • 云平台面试内容(二)
  • Carlsson_HEAL-SWIN_A_Vision_Transformer_On_The_Sphere_CVPR_2024_paper_analysis
  • 微服务的保护方式以及Sentinel详解
  • 【jenkins】--安装部署
  • Vue 路由传参的四种方式
  • HTML 表格基础
  • CD76.【C++ Dev】AVL的模拟实现(1) 以左单旋为切口,分析旋转规律
  • 中国计算机发展史
  • LeetCode刷题记录----20.有效的括号(Easy)
  • 从voice和练习发声谈起
  • 5.python——数字
  • 数据化运营的工作流程
  • llama_factory 安装以及大模型微调
  • Linux | i.MX6ULL 搭建 Web 服务器(第二十章)
  • 量子電腦組裝之三