相信每一个互联网行业的数据分析师都做过这样一件事儿:xxx指标掉了(如DAU),分析下什么原因导致的指标下降
是的,这种归因分析,相信每个数分都有经历。
笔者从自身经验出发,大概总结了对于这种日常波动解读的三个步骤。
1、流程check
指标是怎么来的,通过埋点采集,还有etl处理,得到原子指标之后,通过原子指标组合得到的。
那我们再看数据时,我们首先要确认数据的源头是否正确。
因为只有确认了源头无误,后续的拆分和确认才有意义。
就比如一辆运行着的汽车,突然不跑了,我们第一反应应该是确认是否没油了,而不是去检查车子本身出了什么毛病。
这里如何检查出车子是否没油了,非常简单
从细分时间维度上(细分至小时甚至更细的分钟级别),同环比对比之前的数据,看看是否有明显差异。
当然,如果指标有季节性波动(或者猜测为季节性波动),那么我们可能需要对比上月同期,或者去年同期。
通过细分时间维度的同环比数据,我们能够确认数据源头的正确性。
从而避免由于数据源头(或者季节性趋势)出现问题导致的整体指标波动,而我们各种维度拆分钻取都无法找到贡献超过50%以上的因素的情况
如果时间拆分后,时间维度上,数据无误,那么,我们走到第二步:维度拆分
如果时间拆分后,时间维度上有明显差异,那我们走到第三步:业务确认
总结下流程check:
1、客户端or服务端是否有变动(如上线、压测等),如果有,变动时间是否能match数据变化时间点?
2、ETL层是否有修改,整体流程是否有依赖?整体流程运行是否完成?
3、是否是季节性因素?上月同期or去年同期是否有同样情况?
2、维度拆分
顺着步骤一,我们来到步骤二:维度拆分
第一步我们确认了,数据源头上没有问题
但是,我们的xx指标,还是有波动,我们还是没有解释为什么波动。
那我们来具体说说如何进行维度拆分
先说三个原则:
1、要解释50%以上的波动原因(最好80%以上),否则,本次分析未结束
2、所有的维度拆分,都要落地到对应的业务上,倒过来说,所有业务拆分都可以对应到具体业务行为上
3、绝对指标拆分层和业务,算占比;相对指标,算绝对指标的变化
我们先来说下绝对指标:
和用户相关:NU 、DAU等
NU:NU一定和市场强相关,拆分至用户的“来源”,这个来源可能是渠道,可能是营销活动,可能是sem投放,我们在监控数据时,将之拆分为一级类目(即来源),再将之拆分至二级类目(即来源的二次细分),找到贡献超过50%的因素
DAU:同NU类似,但是按照公式 DAU = NU + 活跃 + 回流 来看,我们还需要把DAU分成3个大类目用户,再去按照NU的方式继续往下钻取。
和用户行为相关:如PV,xx行为的PV,我们按照公式 PV=DAU*渗透率*人均消费,先找到三个变量中贡献最大的变量,再去寻找对应的原因。
如渗透率下降,是否端上其他功能由于活动或者改版或者强透出等原因导致渗透率提升?如DAU下降,是哪个类目用户下降,NU还是活跃还是回流?
我们再来说下相对指标:
举个简单的例子
CTR = 消费次数 / PV
如果现在CTR明显上涨 or 明显下降,我们该怎么分析?
根据公示,我们知道,上涨或者下降,一定由于公式中的分子分母涨幅(降幅)不一致导致,那么,我们就按照绝对指标的拆解方式,对应的去寻找分子及分母的变化原因
关于拆解维度:
所有维度其实都和业务强相关,这其实就是我们需要业务确认的原因
如NU,有广义上的“渠道”,也有更细分的“渠道”本身;
如收入,有各种商业化的模式,线上收入,线下合作,线上收入又有对应的线上虚拟服务
如流量,有各个产品流量,各个功能流量,各个人群流量
。。。
在这些维度里,我们需要做的是,找到一个规律,或者说找到和自己业务形态强相关的按照相关性倒叙的维度,不断的拆分下钻,一定能找到和业务强相关的原因
备注:前提,一定要做流程check,毕竟,普涨和普降,下钻起来,真的较难发现是埋点导致,还是ETL导致,或者说,季节因素导致
3、业务确认
刚刚我们说了第二步,维度拆解,里面也说到了我们需要拆解的方向。
那这里就很好理解为什么要业务确认。
毕竟,我们找到了原因,我们还需要和业务确认是否属实
也就是,我们对于数据和业务原因的解释,是否自洽。
当然,也有些原因,或者结论,是需要数分同学来自己确认。
比如,由于过年,寒暑假,高考,开学季,年初三四月份,可能都是招聘,教育,搜索等app的波动点。
以上,就是今天所说的 波动分析三步法。
●用Pandas秒秒钟搞定24张Excel报表!●10大Python数据可视化库!
后台回复“入群”即可加入小z数据干货交流群