异动分析技术解决方案—异动归因之指标拆解

2022 年 3 月 30 日 阿里技术


一  前言


唯一不变的是变化,在拥抱它前,请事先探知、归因、并充分准备。


在相对完善的指标体系建设背景下,我们需要通过指标以及指标波动的解读来描述、追踪、推动业务。当一个指标波动时,我们首先需要从业务视角判断其波动是否异常,即异动检测,其次判断异常背后的原因是什么,即异动归因。


归因的方法有多种,这篇文章的重点是指标拆解,也是我们做业务分析时最常用到的方法。我们的目的是解放人力,将指标拆解实现自动化,一方面可以加快业务迭代速度,快速定位问题;另一方面可以对可能产生异动的维度进行全局量化,增强可比性,明确下一步的业务行动点的优先级。自动化异变归因的目的是为了尽快判断并抓住机遇,寻求以数据驱动作为灯塔指引业务航向。

二  目的

将目标指标定义为 , 波动为 ,其中 是当月的数据, 为上个月(同比/环比)的数据。 


文章目的是为了研究组成 的集合 对于 的贡献:


其中, 表示指标(或维度) 对于 的贡献度(contribution)。 


另外,贡献的拆解算法是根据组合方式不同决定,集合 组成 的方式包括:


  1. 加法 (例,各渠道uv加和) 


  1. 乘法 (例,已知rpm=cpc*ctr下,算出cpc、ctr分别对rpm的贡献)


  2. 比率型指标(例,各广告计划的cpf, 或者各个渠道的cpuv等)



三  贡献率的拆解方法


1  加法拆解


已知 
目标波动 


贡献等于  ,证明见附录。


举例针对绝对值指标的维度拆解都是加法拆解。绝对量指标的同比/环比变化,就是各个分指标变化的加权求和,例如访问uv总和等于各渠道uv加总, 那么总uv的变化下钻贡献率等于各渠道分别的变化除以上个月的总uv数。 


2  乘法拆解


已知  

目标波动  

贡献等于  , 证明见附录。


其中 是当月的数据 为上个月(同比/环比)的数据,   为平均对数权重: 


举例 漏斗模型,借助用户动线,拆解指标。

以全站商品详情页的浏览量(ipv)为例,其变动涉及流量、承接页到商品详情页的转化(uv-d转化)、商品详情页用户人均浏览量(人均pv),分别对应了用户增长、搜推场景承接以及私域用户活跃度等业务域或用户行为指标。借此对全站ipv的构成链路进行静态乘法拆解: 


同时,我们可以计算各乘积因子对目标指标变化的贡献率 ,衡量3个指标的重要性:


是平均对数权重,


3  比率型指标拆解


已知 ,  ,  

当分析比率指标进行维度下钻,分项对整体的贡献,受两个因素影响

  • 分项的相对数指标波动贡献 ,即当期与基期的分项规模一致时,分项指标带来的变化:

分项的指标波动贡献 = 指标同比变化值 * 上期基数占比


  • 分项的结构变化 ,即当期与基期分项规模变化部分的指标变化:

分项的结构变化  = 占比同比变化值 * (分项本期指标 - 整体上期指标 )


 , 其中是当月的数据,为上个月(同比/环比)的数据。   , 证明见附录。


举例 以承接页到商品详情页的转化率(uv-d转化率rate)为例, ,流量渠道可分为付费、免费、自然、其他,每种渠道的uv-d转化率为 ,各渠道的商详页访问人数(duv)占比用 表示,各渠道人数(uv)占比用 ,如果uv-d转化率同比下跌,我们想定位出哪个渠道出现了问题;各渠道的贡献  是怎么样计算为:


4  实例应用


根据上文提到的不同指标的计算方法,支持全类型指标下钻求贡献的场景, 可根据先验业务输入搭建多层的归因逻辑模型, 层层下钻,最终将指标波动定位。

图二:计算贡献率之后的数据结果样式


以2011年某日ipv同比下跌的异动分析为例:


第一层拆解,借助用户动线,将存在异动变化的指标ipv构成链路进行乘法拆解,如下:



这里帮助我们定位到可能导致指标异动的关键节点,这有助于我们将问题定位到具体业务域,例如是uv的问题,转化的问题,还是人均ipv的问题?


第二层拆解,对关键节点处的多个维度进行下钻,将问题定位到某些维度的某些水平上,同时避免陷入辛普森悖论等陷阱,这有助于我们形成具体业务域有所行动, 例如如果是转化的问题,究竟是哪个渠道的转化减少了?


下图“异动分析拆解流程图”是根据先验的业务输入搭建的归因模型,根据其框架得以进行贡献率拆解与问题定位:

图三:指标拆解逐层归因

红色表示的链路指标或维度代表对总值下跌贡献率较大,经过一层一层的拆解定位到app端自然流量中转化的降低导致总转化下降。 

基于流量跨端调控以及流量预算减投的业务背景,我们现将对ipv贡献最大的uv/duv根据端型、流量渠道类型、流量渠道、国家四个维度进行贡献率拆解。


在本实例中,通过本文对贡献率拆解方法与业务人工看数得到的问题定位基本一致,该方法可以实现异动贡献率量化与提效的目的,具体核心结论如下:

结论一 (第一层拆解)ipv下降主要影响因素是uv-d转化率的波动。 

结论二 (第二层拆解)uv-d比率的波动主要由APP端与WAP端导致,两种端型贡献持平。 

结论三 (第三/四层拆解)APP端的自然流量和wap端的付费流量是uv-d总比率波动的主要贡献维度。

结论四 (第五层拆解)APP端self-visit中美国对uv-d比率的波动贡献较大。

通过建立多层归因下钻维度模型, 用自动化的方式层层剥析,从而能尽求完善且正确的归因到某个维度,从而节省人力,提高准确和科学性。


四  多层下钻归因方案—决策树


本节重点在拆解求出贡献率之后,如何探查异动。我们已经把不同维度下,每个维值的贡献率求出, 下一步的目的是求出贡献最大(有异动的)的维度维值组合,测三种拆解方案,包括逐层下钻(同上文3.4的下钻方式)、多层同步下钻、 决策树模型,发现决策树模型效果最好。这里决策树输入为不同的维值组合,输出为贡献率,做的是回归预测。


主要做法是求贡献率的熵,找到信息增益最高切割方法。这里自然而然想到决策树模型,通过贪心算法,切割数据空间, 找到贡献率绝对值最高的维度组合空间。图四长方形整体表示数据空间,  表示两个维度,其下角标表示维度下的维值。下图具象的看出通过不同维值的组合,把数据空间切割成不同块,用不同的颜色代表。


图四:决策树对数据空间的切割可视化


1  剪枝


决策树存在过拟合的问题, 为了解决这个问题,我们决定了剪枝的方法,采用后剪枝(Post-pruning)。后剪枝就是先把整颗决策树构造完毕,然后自底向上的对非叶结点进行考察,若将该结点对应的子树换为叶结点能够带来泛华性能的提升,则把该子树替换为叶结点。


后剪枝的方法包括:REP-错误率降低剪枝, PEP-悲观剪枝, CCP-代价复杂度剪枝, MEP-最小错误剪枝。

我们借鉴了CCP—代价复杂度的方法。选择节点表面误差率增益值大的层级的非叶子节点,删除该非叶子节点的左右子节点,若有多个非叶子节点的表面误差率增益值相同小,则选择非叶子节点中子节点数最多的非叶子节点进行剪枝。这个算法的参数为 , 表示算法的复杂度:


其中,  表示的是结点 的方差(近似加权熵的概念:impurity,下文都泛称为熵,计算公式 ), 是结点的子树 的熵的总和, 为决策树结点个数 。  高,表示结点往下分的信息增益高。图五表示异动维数的个数与决策树层结点熵的平均数的关系:以黄线为例, 当异动的维数为2时,决策树在第二层的熵最高,从第二层往后,再往下分熵越小,信息增益少,过拟合明显。从折线明显看到,熵的拐点在第二层,决策树最大深度等于2。 

图五:异动维数的个数与结点方差(熵)的关系

我们从图五的事例启发,按照CPP的方法, 找跃层增益较大的“拐点”,找到合适的 进行剪枝。 


五  模型表现


1  模拟数据


我们模拟的维度和维值如下,共4个维度(两两独立), 涉及维值共40个,4个维度维值组合(笛卡尔积 31*2*3*4=744)共744个。模拟的时间对比为月环比,模拟指标为广告消耗。

维度字段
country_cn_name
is_free
terminal_type_cd
imps_cnt_bins
维度
国家
渠道
端型
曝光档位
维值数
31
2
3
4
举例
马来西亚
免费
WAP
(-1.0, 0.0]

无异动数据:用白噪音 模拟无异动的维度组合的时间序列,见图六

图六:无异动的时间序列


有异动数据:用随机游走的累积和来模拟异动,公式如下,见图七



图七(a):有异动的时间序列1


2  模型评估


在上图四个维度(国家、渠道、端型、曝光档位),指定特定的维度和维值在3月有异动,通过决策树模型,测试是否找到正确异动点。模拟case考虑的主要是可能存在异动的真实情况:

1. 某个PID数据录入异常,会影响单维度的异动(仅那个PID的数据)。

2. 某个渠道且某个端型的减投,会影响多个维度组合的异动。由于指标异动涉及的业务繁杂,不同团队在不同方向的优化,影响到不同的维值组合。

例一:异动维度在两处


异动维值组合:

a. 国家=伊拉克, 渠道=免费, 端型='WAP', 曝光档位=[5:100]
b. 国家=法国, 渠道=免费, 端型='PC', 曝光档位=[0:5]

将贡献度算出,数据输入决策树模型, 结果见图八,可以看出决策树精确的找到异动的数据(共精确找到7个维值,共8个), 且这两组标红数据对于异动的贡献绝对值最大。我们自定义树结构找父节点的方法,自动剪掉冗余分支,只截取重点枝干呈现。


图八:决策树结果呈现

特征重要性也符合预期:


例二:异动维度在一处,只异动一个维度在付费上


异动维值组合:a. 渠道=付费

通过剪枝,模型成功找到一维信息,避免提供太多噪音令用户混淆。

更多


表一包含更多维值组合案例, 以及模型表现,包括F1-score,模型输出的结果,和特征重要性。已探索11个案例,平均F1-score达到91.9%。

下面的数量是异动的维值个数:


| Positive Prediction | Negative Prediction
Positive Class | True Positive (TP) 34 | False Negative (FN) 6
Negative Class | False Positive (FP) 0 | True Negative (TN) 0

最后结果:

Precision = 34 / (34 + 0) = 100%
Recall = 34 / (34 + 6) = 85% 
F-1 Score Overall = 91.9% 



异动维值组合
(label/y_true)


F1-Score
模型结果1:模型输出(结果可视化展现,自动剪掉冗余分支,只截取贡献高的枝干呈现)
模型结果2:特征重要性
1
APP
100%
APP ->贡献率为 0.58
APP: 0.790
2
法国
100%
法国 ->贡献率为 0.84 
法国 : 0.542;
3
付费 
100%
付费 ->贡献率为 0.43 
付费 : 0.570;
4
法国&付费
100%
法国 -> 付费 -> 贡献率为 0.81 
法国 : 1.988; 
付费 : 1.019;
5
法国&APP
100%
法国 -> APP -> 贡献率为 0.84 
法国 : 1.895;
APP: 1.360
6
APP&付费
100%
APP -> 付费 -> 贡献率为 0.41 
APP: 1.591
付费 : 1.203;
7
APP&付费&法国
100%
法国 -> APP -> 付费 ->贡献率为 0.88 
法国 : 1.944;
APP: 1.374;
付费 : 1.047;
8
APP&付费&法国&(5.0, 100.0]
100%
法国 -> (5.0, 100.0] -> APP -> 付费 ->贡献率为 0.90 
法国 : 1.836;
APP: 1.469;
(5.0, 100.0]: 1.369;
付费 : 1.302;
9
APP&付费&法国&(5.0, 100.0]
or
PC&免费&伊拉克
83%
非伊拉克 -> 法国 -> (5.0, 100.0] ->贡献率为 0.14 
伊拉克 -> PC -> 非付费 ->贡献率为 0.87 
伊拉克: 1.610;
PC : 1.027;
付费 : 0.772;
法国 : 0.062;
(5.0, 100.0]: 0.052;
10
APP&付费&法国
or
PC&免费&伊拉克&(5.0, 100.0]
83%
非法国 -> 伊拉克 -> (5.0, 100.0] ->贡献率为 0.14 
法国 -> APP -> 非免费 ->贡献率为 0.87
法国 : 1.559;
APP: 1.101;
免费 : 0.839;
伊拉克: 0.064;
(5.0, 100.0]: 0.058;
PC : 0.000
11
APP&付费&法国
or
PC&免费&伊拉克&(5.0, 100.0]
or
美国&免费&APP
88%
非美国-> 非法国-> 伊拉克-> (5.0, 100.0]->贡献率为 0.14 
非美国-> 法国-> APP-> 付费->贡献率为 0.84 
美国-> APP-> 非付费->贡献率为 0.84
APP : 1.218 美国 : 0.936 付费 : 0.907 法国 : 0.863 伊拉克 : 0.035 (5.0, 100.0]: 0.033 土耳其 : 0.000

六  局限


但此方法论还是有其局限性的,主要在于归因变量(下钻维度)有限,大多数情况下是按照业务的理解和先验的经验来判断。本方法只能识别业务已经认可的拆解维度和链路定位,拆解到的指标或维度都是已知业务系统内的指标,诸如工程问题、宏观政策等因素难以识别,需要辅以定性分析。具体来说,我们看到pv下降,下意识要去从渠道下钻,主要原因是我们因为渠道作为变量,是和pv数有正向(或者因果)关系的。举个极端的例子,有可能是服务器的故障,导致全平台的pv下跌。这样的潜在变量,如果和常用下钻变量彼此相互独立的条件下,是无法通过此方法论探查得到的。我们后续的工作将重点放在对相互独立的指标和相关事件的角度做进一步更全面的因果推断算法研究。 

七  技术产品化


我们工作中月报和周报中通常分析的方法与此类似,不同的是,因为人力有限,数据庞杂,往往下钻维度和层数局限,比率类型指标不知道如何下钻等等,导致科学性和严谨性很难保持。这套方法实现了自动化,保证计算的准确性,节省人日。我们将此技术沉淀在内部数据产品“象数”上。象数中心是ICBU数据驱动的基石产品,是集数据资产定义与管理、A/B实验、洞察分析于一体的数据平台。它提供的核心价值在于好找、敢用、持续保鲜的数据资产,大规模、可信的端到端实验能力,以及因果、异动等智能化的分析工具。




八  附录


证明 加法贡献算法 

已知 

贡献等于 



证明 乘法贡献算法 

已知 


贡献等于 



目标波动 


证明 比率贡献算法 
已知


, 其中是当月的数据,为上个月(同比/环比)的数据。 


贡献等于 

算法得到的贡献率依旧相互独立,符合MECE原则,且通过分别观测 有助于我们避开辛普森悖论带来的陷阱。



备注: 符合mece原则证明:相互独立: 的计算公式中不涉及其他分项的完全穷尽。

参考


  1. Ang, Beng W., F. Q. Zhang, and Ki-Hong Choi. "Factorizing changes in energy and environmental indicators through decomposition." Energy 23.6 (1998): 489-495.
  2. Ang B W . The LMDI approach to decomposition analysis: a practical guide[J]. Energy Policy, 2005, 33(7):867-871.
  3. 《波动解读—指标拆解的加减乘除双因素》 https://zhuanlan.zhihu.com/p/412117828



开源 Elasticsearch技术训练营

点击阅读原文查看详情
登录查看更多
5

相关内容

决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。Entropy = 系统的凌乱程度,使用算法ID3, C4.5和C5.0生成树算法使用熵。这一度量是基于信息学理论中熵的概念。 决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。 分类树(决策树)是一种十分常用的分类方法。他是一种监管学习,所谓监管学习就是给定一堆样本,每个样本都有一组属性和一个类别,这些类别是事先确定的,那么通过学习得到一个分类器,这个分类器能够对新出现的对象给出正确的分类。这样的机器学习就被称之为监督学习。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【AI+军事】附论文+PPT 《重新评估隐藏者-引导者问题》
专知会员服务
45+阅读 · 2022年4月16日
《5G+智慧农业解决方案》22页PPT,三昇农业
专知会员服务
50+阅读 · 2022年3月23日
【AI+医疗健康】美国数字健康战略(附44页最新报告)
专知会员服务
87+阅读 · 2022年3月15日
专知会员服务
12+阅读 · 2021年9月15日
【干货书】掌握Python算法,337页pdf
专知会员服务
79+阅读 · 2021年3月20日
【干货书】机器学习Primer,122页pdf
专知会员服务
104+阅读 · 2020年10月5日
【SIGIR2020】LightGCN: 简化和增强图卷积网络推荐
专知会员服务
72+阅读 · 2020年6月1日
华为发布《自动驾驶网络解决方案白皮书》
专知会员服务
118+阅读 · 2020年5月22日
积分梯度:一种归因分析方法
极市平台
1+阅读 · 2022年3月17日
从0到1,搭建经营分析体系
人人都是产品经理
0+阅读 · 2022年3月6日
因果学习在用户增长中的实践
专知
1+阅读 · 2022年2月8日
你做不好数据分析,可能是被这3个问题禁锢住了!
人人都是产品经理
0+阅读 · 2022年2月2日
移动应用分发广告的科学归因之路
CSDN
0+阅读 · 2022年1月25日
【指标需求思考】如何做好指标类需求建设
阿里技术
0+阅读 · 2022年1月20日
用户复购行为,该如何分析
人人都是产品经理
0+阅读 · 2021年12月4日
数据分析,如何挖掘业务机会
人人都是产品经理
0+阅读 · 2021年11月10日
用户分析体系,该如何搭建
人人都是产品经理
0+阅读 · 2021年10月20日
快手如何搭建一个好的数据指标体系?
专知
0+阅读 · 2021年9月11日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Arxiv
0+阅读 · 2022年4月19日
Arxiv
0+阅读 · 2022年4月18日
Image Segmentation Using Deep Learning: A Survey
Arxiv
42+阅读 · 2020年1月15日
VIP会员
相关VIP内容
【AI+军事】附论文+PPT 《重新评估隐藏者-引导者问题》
专知会员服务
45+阅读 · 2022年4月16日
《5G+智慧农业解决方案》22页PPT,三昇农业
专知会员服务
50+阅读 · 2022年3月23日
【AI+医疗健康】美国数字健康战略(附44页最新报告)
专知会员服务
87+阅读 · 2022年3月15日
专知会员服务
12+阅读 · 2021年9月15日
【干货书】掌握Python算法,337页pdf
专知会员服务
79+阅读 · 2021年3月20日
【干货书】机器学习Primer,122页pdf
专知会员服务
104+阅读 · 2020年10月5日
【SIGIR2020】LightGCN: 简化和增强图卷积网络推荐
专知会员服务
72+阅读 · 2020年6月1日
华为发布《自动驾驶网络解决方案白皮书》
专知会员服务
118+阅读 · 2020年5月22日
相关资讯
积分梯度:一种归因分析方法
极市平台
1+阅读 · 2022年3月17日
从0到1,搭建经营分析体系
人人都是产品经理
0+阅读 · 2022年3月6日
因果学习在用户增长中的实践
专知
1+阅读 · 2022年2月8日
你做不好数据分析,可能是被这3个问题禁锢住了!
人人都是产品经理
0+阅读 · 2022年2月2日
移动应用分发广告的科学归因之路
CSDN
0+阅读 · 2022年1月25日
【指标需求思考】如何做好指标类需求建设
阿里技术
0+阅读 · 2022年1月20日
用户复购行为,该如何分析
人人都是产品经理
0+阅读 · 2021年12月4日
数据分析,如何挖掘业务机会
人人都是产品经理
0+阅读 · 2021年11月10日
用户分析体系,该如何搭建
人人都是产品经理
0+阅读 · 2021年10月20日
快手如何搭建一个好的数据指标体系?
专知
0+阅读 · 2021年9月11日
相关基金
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员