指标归因平台建设思路

  数据异常归因分析对于数据分析师来说是一件非常常见,但也是非常头疼的事情。例如:今日GMV突然下降20%。往常的做法是,对可能影响指标GMV,DAU的维度进行关联、下钻分析,这无疑带来了巨大的工作量,而且效率也低,重要的是整个归因分析思路无法沉淀,同样无法共享。那如何对日常的归因分析进行提效、沉淀分析体系?接下来我将介绍下如何借用归因分析平台解决这些问题,这里只是提供一些解决思路,仅供参考。
  归因分析平台包括两部分:维度下钻分析关联指标分析
  先看个功能草图:
在这里插入图片描述

第一部分:维度下钻分析
  指标维度下钻分析目的在于通过维度分析,快速找到指标波动的绝对路径。该功能的好坏取决于指标宽表模型完善度,指标宽表是通过数仓的轻度汇总事实表和维度表构建的轻度汇总分区表,由此可知数仓元数据维护是指标归因平台搭建的必要条件。同时指标宽表模型有一个缺点,新增维度成本很高,对于这一情况,我们会重新构建宽表,通常会回溯一周数据(取决于指标分析周期)。
在这里插入图片描述

  为了保证维度下钻分析性能,指标宽表构建完后,会把数据导入到StarRocks上。StarRocks作为新一代mpp数据库,保证了在归因这种复杂查询场景下也能够在很短时间响应请求。

  宽表构建完后,我们会提前对指标每个维度计算波动贡献值以及环比波动情况(如下图)。
波动贡献值可以对指标归因分析提供一些分析方向。可以很直观的看到指标在各维度下的表现情况。波动贡献计算公式例子:O(os:Android)=abs((前一天Android成交额-昨天Android成交额)/(前天总成交额-昨日总成交额))*100%。需要注意的是,只有一些低基数维度才会计算波动贡献值,基数过大的维度计算波动贡献值意义不大,通常对于维度基数在1000之下的会计算波动贡献值(这个需要看数据情况)。波动贡献值计算完后,可以按照大小倒序展示(图例中未排序)。
在这里插入图片描述
  在GMV归因例子中,GMV环比下降8%,从“单一维度波动贡献”列表中,得知在“user_type”维度下,波动贡献最大,因此可以点击“+”,从弹框中选择对“user_type”进行下钻,同时勾选需要分析的维度枚举值(“0”,“1”)。对“user_type”下钻后,可以清楚的看到“user_type=1”时,数据波动较大。因此选择“user_type=1”的分支继续往下分析。从波动贡献列表中可以观测到,按照“channel”拆分,环比波动比较明显,此刻可以考虑按照“channel”方向往下分析,依次类推。每一次往下分析,都会带上父节点的条件(例如:user_type=1)。指标归因分析的方向因人而异,主要取决于分析人员对数据的理解。
在这里插入图片描述
在这里插入图片描述
  整个维度归因的过程都是基于“指标宽表”,在选择对“channel”方向分析时,环比sql如下:

with a as (select channel,sum(amount) agmv from d_GMV_20221010 where day=20220930 and user_type=1 group by channel),
	 b as (select  channel,sum(amount) bgmv from d_GMV_20221010 where day=20221001 and user_type=1 group by channel)
select a.channel,agmv,bgmv,abs(agmv-bgmv),abs(agmv-bgmv)/agmv from a join b on a.channel=b.channel  order by abs(agmv-bgmv)/agmv desc limit 10;

+-----------------+------------+------------+------------------+---------------------------+
| channel         | agmv       | bgmv       | abs(agmv - bgmv) | (abs(agmv - bgmv)) / agmv |
+-----------------+------------+------------+------------------+---------------------------+
| channelA    |    3734781.1 |    1112964.76 | 2621816.34          |       0.702 |
| channelB |  2085048.2 |   287736.65 | 1797311.55         |        0.862 |
+-----------------+------------+------------+------------------+---------------------------+

  波动贡献值,可以使用倒数第二列的值除以gmv前日和昨日整体的差值。指标波动归因结束后,我们将得到一个指标归因分析树,这就是沉淀下来的指标分析思路,这对后续的问题的排查和经验共享非常有价值。

第二部分:关联维度分析。
  一个指标的异常,通常会引起相关联指标的波动。例如:GMV的波动可能受当日是否有活动、日活的影响,所以它相关联的指标可以是DAU,客单价,活动收入等,关联指标通常是一些正相关的指标。关联指标更多是从宏观层面去定位问题。在上面例子中,GMV关联指标“活动收入”环比波动较其他关联指标要大的多,显示为红色,这也是分析人员需要重点关注的地方。点击“活动收入”指标,就进入到了“活动收入”指标归因的模块,这里就不赘述了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值