现在异常排查类的需求非常多,会占用分析师比较多的人力精力,从排查思路、提取数据、统计分析再到分享原因,而且一般异动分析还相对紧急。可是从分析师的角度考虑,异动分析,对个人价值并不高,并且对业务的发展价值也很一般,属于紧急不重要的象限。
所以希望能够用数据产品来解决异常排查类的分析,包含AB实验的不满足预期、发版的不满足预期、指标的不满足预期,从而释放人力,去做更有价值的策略分析。
最近学习了行业上一些常见的根因分析算法,其中之一是微软的Adtributor,行业上应用比较多。
一、关于Adtributor算法的基本介绍
解决了什么问题
对异常问题进行归因,定位到具体的维度和维度下的具体元素
能解决什么指标的问题
量值指标,具有可加性,比如页面访问PV、收入、内容/APP分发量
率值指标,从量值指标衍生而来,比如CPM、下载的应用启动率
使用的原则
奥卡姆剃刀:形式尽可能的简单
找出最令人吃惊的元素(实际值和预测/对照相差最大的维度及元素)
贪婪算法:尽可能解释指标的异动
算法的基本思维简述
计算每个维度下对绝对波动的贡献度
比如我的日常收入由工资1000、投资500构成,结果这个月工资变成了1400、投资变成了800。那总波动是700,其中工资贡献了波动的400/700,投资波动贡献了300/700。显然,收入的绝对贡献更高
计算哪个构成元素最令人惊讶
上述例子中,我的收入变化只有400/1000,而我的投资收入却改变了300/500,所以相对变化它要高的多,最令我吃惊
然后会优先给到惊喜度高、能解释波动的元素作为归因因子
算法的局限性
限制于人的维度拆解,如果可能的因素不在里面,它也没办法
会优先在一个维度里寻找可能的原因,难以考虑因素之间的关联关系
量值类型/率值类型都要可叠加?
原来的算法截图:
二、关于两种指标类型的实战案例
量值类指标的分析步骤详细举例(以下数据和产品纯属虚构):
背景:这里面的指标是分发量,可累加。维度是产品的模块。
Adtributor算法使用的指标:EP、Surprise是算法中需要计算和使用的两个指标,公式如下图中所示:
以下维度是用户年龄
算法详细步骤:
从上面看到,结果还是十分准确的,和肉眼分析出来的是一样的~
率值类指标的分析步骤详细举例(以下数据和产品纯属虚构):
这是衍生指标的分母(和上面量值指标的计算没有任何区别)
这是衍生指标的分子(和上面量值指标的计算没有任何区别)
这里是衍生指标,它的EP和Surprise和量值指标的计算公式有所不同,会同时考虑到分子和分母
可以看到大盘整体的激活率指标降低了12.4%,但是拆开看各个模块,激活率都没有变化。但是通过肉眼观看分子分母,我们能够知道,分发模块的分发占比变化很大
算法最终输出的结果,也是和我们肉眼看到的模块是一致的
算法能够定位到相关的维度(以及下面的元素),最终还需要人给出根本原因。