数据异动分析方法论

news2025/1/11 9:02:38

注:本文首发于公众号:书剑双修,欢迎关注。
数据异动分析是一类典型的数据分析问题,也是分析师日常工作中会频繁遇到的问题。很多的数据分析面试过程中,都会对这个方面进行考察,以此来判断分析师思考问题的全面性与严谨性。
常见的数据异动,按照MECE原则可以分为以下5大类:

接下来,我们分别对5类情况进行说明:

周期性波动

一个成熟的业务模式,一般都会具有较为稳定的周期性。数据的周期性波动是一种自然形态下的正常波动。比如:

  • 对于游戏业务来说,周末,节假日的DAU一般要高于工作日;在一天之内,中午,晚上的活跃也要高于上班时间。
  • 对于外卖业务来说,工作日的活跃一般要高于休息日。

  • 因此,遇到数据波动时,首先应该看看是否是由于周期性波动造成的。如果是正常的周期性波动,那么就不用再继续排查了。如果数据波动范围超出了正常周期性的波动范围,那就需要继续排查。
    这个原因比较好判断,对业务发展有了基本了解之后,能比较容易识别出周期性波动。比如下图这种情况,从周日到周一,dau下降了约30%,但其实是由于周波动引起的,因此就不属于异常波动。
    在这里插入图片描述

业务内部因素引起的数据波动

业务内部因素,一般是由公司内部的运营活动引起。比如push/短信的推送召回;拉新、促活、促销活动等引起的短暂的指标变化。
举个例子,比如某段时间,业务方发起了一个老用户短信召回活动,那么短时间内活跃用户数就会有明显的增长。当遇到这种情况时,一般需要和业务方进行协作排查。在真实的工作场景中,业务方在做这些活动之前,都会通知到数据分析师,请分析师帮忙监控数据变化,评估活动效果。
在这里插入图片描述

业务外部因素引起的数据波动

除了公司业务方做的运营活动之外,还有一些外部因素也会对数据造成比较明显的变化,常见的有:竞品的策略调整,特殊的节假日,政策变化等。在这里举几个例子:

  1. 节假日效应:每到大型节假日,比如春节,国庆,中秋,端午等,大部分app的活跃/新增用户都会呈现一些下降的趋势。因为在这些时间点,大家的注意力都集中在节庆上,停留在某些app上的时间就会降低。与此同理的,还有双11、618这些购物节,每当临近这些节点的时候,购物类的app数据会增长,其他类型的app就会逐渐下降。因此app数据的变化,其实最终还是要归因到对用户注意力的争夺。
  2. 政策变化。近三年来,每个城市都面临了多次的口罩反复,城市封控。每次封控期间,居家办公,减少通勤,都会导致app的数据表现与正常的工作日出现差异。比如,摸鱼时间会增长,导致各类娱乐产品的数据会增长;在裁员背景下,招聘产品的数据会增长。
    在这里插入图片描述

数据链路异常引起的数据波动

在排除了上述周期性波动、内外部因素影响之后,数据波动还可能受到数据链路异常的影响。这一点在具备完整的数据技术能力的公司不会经常发生,但是在一些中小型公司,或者进行数字化转型中的公司里,是经常发生的事情。
排查监控面板的数据异常,是早期数据分析师的常规工作,也是一家公司数据能力不断完善过程中必不可少的一步。
一般可从监控面板到底层埋点数据进行逆向排查,排查流程如下图所示:

  1. 数据库中是否有数据;
  2. 数据调度是否正常;
  3. 底层数据是否正常产生;
  4. 客户端/服务端埋点是否存在异常
    在这里插入图片描述

其他因素引起的数据波动

上述的思考维度,是一些常规性的拆解方法。如果都不能定位到数据波动的原因,那就需要针对具体的数据指标进行拆解,通过维度下钻的方法来定位业务问题。
比如常见的DAU波动问题,可以按照DAU = 新增用户+回流老用户进行拆解。看看是新用户出了问题,还是老用户出了问题。
新用户,可以继续拆分渠道来源,版本分布,地区分布等;
老用户,可以拆分注册时间,地区分布等;

写在最后的总结(重点)

最后,当发现数据异常时,不建议大家一上来就考虑各种影响因素,而应该也确认一下数据的真实性,因为在真实的业务场景中,数据的链路非常长,涉及到非常多的上游环节,每一个步骤出错,都会对最终的数据产生影响。
当确认没有数据异常时,也不建议大家第一步先自己对着数据去拆,影响日活数据的因素很多,不可能把所有维度逐一拆解对比,容易浪费时间却没有任何有价值的发现。做数据异常原因分析的核心就是结合以往经验及各种信息,找出最有可能的原因假设,通过数据的拆分进行多维度分析来验证假设,定位问题所在。过程中可能会在原假设基础上建立新的假设或者是调整原来假设,直到定位原因。

以上就是进行数据异动排查的一般步骤,可以作为大家在遇到这类问题时的一个参考思路,大家也可以在自己的工作中不断完善分析角度,丰富自己的分析思路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/146248.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用IIS服务器搭建一个网站

1、什么是IISIIS全称为Internet Information Services,是一种Web服务组件。通过在自己电脑上安装好IIS服务,就可以把你自己的电脑当作一个网站的服务器。2、搭建一个IIS2.1、开启windows的IIS服务Step1、控制面板——程序——程序和功能——启用或关闭wi…

微软的COM、DOM和COM+

纯粹的为了记录一下 COM 组件对象模型(COM),是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术。在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起…

大数据NiFi(九):NiFi集群页面的添加、配置处理器操作

文章目录 NiFi集群页面的添加、配置处理器操作

jdb2/kworker

测试代码出自&#xff1a;块设备IO优化的典型案例分析_papaofdoudou的博客-CSDN博客_kworker/u2:2-2- #include <stdio.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/ioctl.h> #include <unistd.h&g…

基础算法 - 常见算法模板题(最简洁写法)【下】

目录 双指针 最长连续不重复子序列​编辑 二进制中1的个数 离散化 区间和 区间合并 双指针 最长连续不重复子序列 思路&#xff1a; 设左右指针 j&#xff0c;i&#xff1b;用 i 遍历数组&#xff0c;对【j&#xff0c;i】范围路径数值出现次数记录若次数大于1&#xff0c;则…

Seata-go 发布 1.0.3,补齐 AT 模式

文&#xff5c;赵新&#xff08;花名&#xff1a;于雨 )蚂蚁集团 Seata 项目开源负责人本文 3902 字 阅读 10 分钟发布概览Seata-go 1.0.3 版本补齐了 AT 模式下对 Insert/Delete 的支持&#xff0c;这意味着除了 “select for update” 外&#xff0c;Seata-go 的 AT 模式与 S…

【c++】 STL的组件简介与容器的使用时机

STL六大组件简介 STL提供了六大组件&#xff0c;彼此之间可以组合套用&#xff0c;这六大组件分别是:容器、算法、迭代器、仿函数、适配器&#xff08;配接器&#xff09;、空间配置器。 容器&#xff1a;各种数据结构&#xff0c;如vector、list、deque、set、map等,用来存放…

ECS概述

1.ECS概述ECS全称Entity-Component-System&#xff08;实体-组件-系统&#xff09;&#xff0c;是基于组合优于继承&#xff08;将不变的部分使用继承以方便复用&#xff0c; 将多变的部分用组合来方便拓展&#xff09;的原则的一种模式&#xff0c;游戏中的每一个单元&#xf…

使用Redis踩过的16个坑

如果你在使用 Redis 时,也遇到过以下这些「诡异」的场景,那很大概率是踩到「坑」了: 明明一个 key 设置了过期时间,怎么变成不过期了? 使用 O(1) 复杂度的 SETBIT 命令,Redis 竟然被 OOM 了? 执行 RANDOMKEY 随机拿出一个 key,竟然也会阻塞 Redis? 同样的命令,为什么…

Linux基础命令学习(Bandit通关)(未完成)

一、前言 Bandit是一个学习Linux的网站&#xff0c;它采用游戏通关的方式来帮助我们学习linux基本使用的命令&#xff0c;十分适合没有基础或基础较弱的同学学习。【虽然是英文但是很容易&#xff0c;用翻译也可】 官网地址是&#xff1a;OverTheWire: Bandit 二、第一~六关…

自从用了这个良心浏览器后,我卸载了UC,太香了

要是以前如果有人问我手机上用什么浏览器好&#xff0c;我肯定一律无脑推荐UC浏览器。一方面它确实功能强大&#xff0c;另一方面是用了很多年已经习惯了&#xff0c;有感情因素在。然而&#xff0c;这次可能要打自己的脸了。 最近&#xff0c;有了个“新欢”&#xff0c;其实…

线程3

一.阻塞队列阻塞队列&#xff0c;也是特殊的队列&#xff0c;虽然也是先进先出的&#xff0c;但是带有特殊功能。阻塞&#xff1a;1.如果队列为空&#xff0c;执行出队列操作&#xff0c;就会阻塞&#xff0c;阻塞到另一个线程往队列中添加元素&#xff08;队列不空为止&#x…

C程序设计笔记(上篇)

笔记正文 第一模块 C基础知识 考试大纲的要求 &#xff08;1&#xff09;掌握数据类型、变量和赋值&#xff1b; &#xff08;2&#xff09;掌握输入和输出&#xff1b; &#xff08;3&#xff09;掌握基本运算符和表达式&#xff1b; &#xff08;4&#xff09;了解简单控制…

米尔国产开发平台T507-H之Android系统发布说明

安卓系统作为目前世界上最受欢迎的移动操作系统&#xff0c;它可以在大量的设备上使用&#xff0c;它正在接管平板电脑、汽车、智能电视、可穿戴设备、家用电器、游戏机等市场&#xff0c;它为嵌入式平台提供了独特而熟悉的体验&#xff0c;从小的手机屏幕到显示器&#xff0c;…

SpringCloud 网关组件 Gateway 原理深度解析

引入网关的必要性 在微服务架构下&#xff0c;我们一般会把相对独立的业务或功能划分为不同的服务&#xff0c;不同服务之间相互隔离&#xff0c;独立部署。这些微服务由服务注册中心集中管理。对于来自外部的用户请求来说&#xff0c;在处理请求的核心业务逻辑之前&#xff0…

Vector - VT System - 模拟输入仿真_VT2004

在我们的测试工作中&#xff0c;经常会遇到一些模拟信号的输入&#xff0c;如果我们使用实际的样件的话一个成本过高&#xff0c;另外一个就是对我们测试人员对环境搭建要求过高&#xff0c;因此最好的办法就是有一个设备能够模拟我们需要的任意信号&#xff0c;这样就能完美的…

Pytorch TextCNN实现中文文本分类(附完整训练代码)

Pytorch TextCNN实现中文文本分类(附完整训练代码) 目录 Pytorch TextCNN实现中文文本分类(附完整训练代码) 一、项目介绍 二、中文文本数据集 &#xff08;1&#xff09;THUCNews文本数据集 &#xff08;2&#xff09; 今日头条文本数据集 &#xff08;3&#xff09;自…

字节跳动青训营笔试题解

文章目录前言一、单选题二、多选题三、编程题T1.旋转数组最大值题目思路代码T2.社交圈题目思路代码四、简答题题目思路前言 第五届字节跳动青训营-后端专场笔试题解&#xff0c;简单做了一下&#xff0c;选择题和简答题不知道是否正确&#xff0c;编程题是通过了的&#xff0c…

基于javaSpringboot+mybatis+layui的装修验收管理系统设计和实现

基于javaSpringbootmybatislayui的装修验收管理系统设计和实现 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文…

创建List保存学生信息

1 问题创建一个存储学生对象的集合&#xff0c;存储3个学生对象&#xff0c;使用程序实现在控制台遍历该集合。2 方法1、定义学生类2、创建List集合对象3、创建学生对象4、将学生添加到集合5、遍历集合创建的学生类代码&#xff1a;package no10;public class Student { …