如果你对数据分析感兴趣,希望学习更多的方法论,希望听听经验分享,
欢迎移步公众号「小火龙说数据」,更多精彩原创文章与你分享!
「经验」如何30min内排查出指标异动的原因https://mp.weixin.qq.com/s/XD6TQD8T_FsMxjnv_y0VrQ
一、序言
当针对业务搭建好指标体系后,作为产品/运营同学,通常会选择1-2个「北极星指标」来度量产品的健康度。而作为数据同学,我们需要协助产品来监控日常指标波动,如果发现指标波动不符合预期,则需要对其进行查询。
作为数据同学,最大的问题可能有以下两点:
1、指标本身会自然波动,如何一眼就知道当日指标不正常?
2、当感知到指标异常后,如何快速对N多维度进行拆解,给出量化结论?
最开始,针对一些比较棘手的问题,我们有时会花半天到一天的时间进行排查,后来随着整套方案的落地及工具化,给出初步结论大概在30min以内。下面将和大家分享一下我们之前的排查方案,希望能够对你有所帮助~~
二、如何快速发现指标异常
当指标在某天发生波动时,我们如何判断波动属于正常范围还是异常范围,往往是通过口口相传的经验判断的,核心在于「经验」。经验固然是判断指标波动阈值的核心,但对数据同学来说,我们可以更好的利用数据,「量化度量 + 经验」进行判断,往往会更加标准化一些。
量化的方式可以涵盖很多种,这里我们主要根据均值+标准差进行衡量,以APP某功能CTR指标为例,如下图:
步骤一:选取过去30日内的CTR指标作为近期趋势,时间不宜过长,主要度量近期情况。
步骤二:计算指标的均值和标准差,并且根据以往经验,初步选取加减一倍标准差作为正常区间范围,以上图为例,大概是均值±1%。(一般情况下,离线调研一次,心里大体有个数,指标的正常波动在什么范围内;如果追求精准,可以每天根据过去一段时间的趋势,动态评估)。
步骤三:在日常数据评估中,当指标波动大于阈值时,可重点关注。当然,并不代表波动小指标就不存在问题,这里解决的主要是概率的问题。
三、如何定位异动原因
当发觉指标的波动远远超过我们经验的阈值时,一般情况,会对指标进行下钻分析,通过维度的下钻,聚焦问题点。定位问题的方式也非常多的,这里主要向大家介绍一种相对通用且高效的排查思路,涵盖六步,如下图:
从图中我们可以看到,整个排查思路是一个从宏观→微观→宏观的流程,最终目的是给出量化的数据结论。
步骤一:宏观-多维钻取
当某天指标波动异常,我们下意识会想到是某个维度变化所导致的,例如:某天pv下降,可能是某个渠道、某个小时、某些类目所导致等。相信很多同学都是根据经验进行的判断。
其实维度钻取本身并不难,难点在于如何全面、高效的将所有维度进行钻取,并且可以精准的定位问题。因此,为了达到全面、高效的目的,需要做以下两点:
其一:维度累积。这个主要靠日常工作中我们对于业务的理解,将所有可能影响指标的维度提取出来,并且对核心维度进行交叉组合,作为多维钻取的养料。
例如:业务维度(渠道、品类);时间维度(小时、上午/下午/晚上);人群维度(年龄、性别)等。
其二:工具沉淀。要完成以上众多维度的高效钻取,通过一段段写SQL查询,效率会很低,因此我们需要一套可例行的多维分析工具,这部分内容会在下面几期进行详细介绍。
通过以上两个方面,我们就可以实现全面、高效的将可能触及问题的维度挖掘出来,产出内容包括但不限于:维度波动分数(例如:JSD分数)、当天pv、同期pv、pv变化绝对diff、pv变化相对diff等。
步骤二:宏观-异常聚焦
当完成多维钻取,产出各维度涨降幅数据后,需要将细分维度对大盘的影响进行量化度量,即我们常说的:贡献度度量,核心在于量化。
例如:整体pv增长100w,其中男性pv增长50w,则男性对整体大盘pv的贡献度为50%,在结论中需要体现量化结果。
其中贡献度在不同类型指标上有不同的计算方式,这个也会在下面几期进行分享。
在常规业务分析中,一般到此步骤,已经能解决80%左右的实际波动问题。而这两步也可以封装成例行“核心指标监控工具”,每日产出,快速定位数据问题。
但如果很不幸遇上了另外20%的情况,即:通过以上维度的下钻,各维度值均表现出普涨/普降的情况,这时就要考虑下钻到微观层面探索问题的本质。
步骤三:微观-Case分析
微观case层面主要是通过用户详细行为数据或者轻度汇总数据进行挖掘,这一步主要的目的在于发现可能的异常问题。但由于是单用户行为,会存在诸多干扰的情况,很容易被带偏,所以此步骤的核心在于发现问题,快速试错。
例如:我们通过随机抽取100个用户行为数据,维度涵盖底层数据表已有的所有维度,发现这些用户在某些版本上的行为分布明显较低,则可以将此维度作为聚合维度进行上卷,重复步骤一二的步骤。
到这一步,大概可以解决90%左右的实际波动问题。
步骤四:微观-假设及场景模拟
如果到此步,还没能找出核心的问题点,则说明此问题相对隐蔽,并且是我们日常维度累积中没有涉及到的。这个时候就需要我们根据业务场景,假设问题出现的原因,并尝试找到可度量的维度进行验证。到这一步,基本可以解决95%左右的实际波动问题。
步骤五:宏观-维度上升
当进行完步骤三和步骤四之后,我们已经对可能的问题有了一定的累积,这个时候就可以将此维度上升到宏观层面,利用多维钻取工具进行挖掘,判断是否此问题,导致的指标大幅波动。
如果仍然不是此问题,那非常遗憾,仍然需要重复步骤三和步骤四,直至找到相应问题。
步骤六:宏观-输出结论
最后也是最为重要的一步,则是对问题下结论,正所谓“没有结论的分析都是耍流氓”。结论输出需要涵盖“数据发现问题”和“业务解释问题“,在与产运方沟通后,得出“业务化”的结论,这样才能更对老板的口味。
不好的结论:pv下降原因,50%是由于母婴类目影响。
好的结论:pv下降原因,50%是由于母婴类目影响,主要由于母婴频道上线推广活动所导致,预计下周将恢复往期水位。
另外一个需要注意的,则是大盘指标变动往往受到多方因素的影响,无法100%精确解释,或多或少会存在预估的成分,这个属于正常情况。
以上就是指标问题常规定位的方式,大家可以参考借鉴。
以上就是本期的内容分享
如果你也对数据分析感兴趣,更多「原创」文章,与你分享!!
微信公众号:小火龙说数据