『数据分析case』如何快速分析群体差异(附代码)!
本篇和大家唠唠交流群中群友描述的
发生在真实工作环境中的业务case:
▷ 某业务方:小a,有个急活!最近头好疼,老板总是push我想方案,我想看看我负责的这个场景到底有没有可做空间啊,我好回复老板
▷ 分析师a:好的,背景我大概清楚了,具体说说看你的目标和接下来的预期/规划是啥?
▷ 某业务方:哦,你还是一如既往的一针见血,其实我主要好奇我负责的场景和大盘比的用户画像是啥样?尤其是购买行为相关,想比较一下各个场景和大盘用户到底有没有差异,我好做策略规划。
▷ 分析师a:奥,我先确认下,你是想从支付角度看差异对吗,具体说说看你的想法~
▷ 某业务方:是的是的
(...此处省略N个来回battle,最终围绕业务todo确立了分析锚点)
▷ 分析师a:好的,排个期,我做一个分析规划再次讨论确认下~
▷ 某业务方:好,需求紧急!抓紧啊!
可以先想想如果是你,你会怎么做?
六哥也会抛砖引玉,给出自己的快速分析思路
(含具体实现过程的方法+代码)
来,开始唠唠本次分享😁
------正文手动分割线------
本文结构速览:一、case描述
二、分析思路确认
3.2 定量方法(定义+case+优缺点总结)
一、case 描述
从刚才的讨论来看,问题背景已清楚
再一次确认,分析目标为:
业务侧想对比大盘和本场景
从支付角度是否有差异?
主要差异点在哪里?
二、分析思路确认
快速脑暴了下和支付相关的特征,举例 :
▼ 支付基础特征
-
购买频次
-
购买金额
-
支付累计统计窗口(不同统计周期下用户的行为会有不同)
-
......
▼ 支付偏好特征
-
购买间隔天数
-
购买时机
-
笔单价
-
......
▼ 影响支付的营销特征
-
优惠券
-
促销活动
-
-
......
-
提示:当然,如果觉得业务侧所关注的方向有些片面和局限,也可以从分析师角度,根据对业务的理解和洞察拓展一些画像维度,可以看看六哥的往期文章:用户画像到底该如何做?
三、具体实现方法
其实想一想业务侧本质是想知道啥?
是想对比两个场景用户的差异
啥差异?
——基于业务所关注特征方面的结构分布差异
如何定义差异?
——差异的基石是对比,这个case主要就是两类群体间的比较,大盘的用户作为比较标的,对比分析场景用户与之的结构分布上有什么不同
既然是分布差异,好,基于这个目标
其实有2类方法可以实现:定性和定量方法
-
定性:用眼睛看
-
定量:用数字量
▋ 定性方法
第一时间想到的快速方法就是画图嘛!
非常方便快捷,又相对直观,且业务好理解
所以这里的定性,不是传统意义上的定义
就是一般我们所说的描述性统计
可以画画图看看分布差异,做做描述
但由于很难说清楚是在什么特征差异最大,所以是定性描述。
▋ 定量方法
这里六哥提供2种快速方法做参考 ~
① TGI指数
在行研或者用户画像报告中经常用到的一个指标:TGI指数
▼ 方法介绍
TGI是Target Group Index的缩写,可以反应分类群体相比整体在某些特征的偏好程度(和平均水平对比)
计算公式:
TGI=[目标群体中具有某一特征的群体所占比例/总体中具有相同特征的群体所占比例]*标准数100。
含义解释:TGI的值和100的差距越大区分度越大越有价值
-
>100则表示分类群体具有相对倾向或者偏好,数值越大倾向和偏好越强;
-
<100则表示相关倾向较弱(和平均相比);
-
=100则表示平均水平。
▼ case分析
我拿列举的其中2个支付特征举例:
-
S1:针对关注的特征,分别计算场景和大盘在各维度值下的uv占比
-
S2:计算场景用户相对于大盘用户关于特征维值占比的偏好程度。
-
S3:比较TGI指数大小,核心关注远小于100%和远大于100%的特征。发现相比大盘,场景用户近30天购买订单数和大盘用户结构差异较为明显。
▼ 优缺点总结
优点:
-
用较易理解和直观的方式,相对定量的对比衡量了群体间在某种特征上的差异。
-
计算逻辑较为简单,可以研究特征和目标人群的关联度,可快速发掘一些潜在用户和数据的潜在价值。
缺点:
-
受量级影响,波动幅度会较大,即如若分类群体的量级较少,TGI可能会失真,参考价值会减弱
-
如若特征较多,最后的结果呈现和展示不是很友好。
② 熵法
前面说是比较群体间基于某些特征的结构差异
其实就是大盘用户和场景用户在分布上有没有较大的区别
提到多类群体的特征差异,想到了啥?
在决策树里常用什么来度量特征的重要性?
——对,信息熵
信息熵就是对信息不确定性的期望度量
所以可以从熵的角度度量群体间的特征差异
▶ 比如利用信息增益,分析在哪些特征产生了较多的信息增益,也即场景与大盘的显著差异是在哪些特征
▶ 也可以利用相对熵,度量各群体特征分布之间的差异
这里我们针对信息增益方法来做介绍
▼ 方法介绍
信息增益的原理大家都有一定的了解,网上也有很多资料,其实核心原理就是:代表了在一个条件下,信息复杂度(不确定性)减少的程度。
信息增益 = 分类前的总体熵 - 分类后的信息熵
用特征条件对原变量分类后,原变量的不确定性就会减小,不确定程度减少了多少就是信息的增益。信息增益越大,说明这个特征越有用。
直接抛出信息增益计算公式:
提示:这里信息增益率可以修正样本数非常少时,增益非常大的极值情况,故要较信息增益更好些~
▼ case分析
同样,拿列举的其中2个支付特征,针对信息增益率方法来举例:
-
S1:以是否为场景用户作为Y取值,计算整体熵
-
S2:针对关注的分类特征,分别计算各维值X条件下用户的信息增益
-
S3:计算在此分类特征下,场景用户的信息增益率
-
S4:比较信息增益率大小。发现相比大盘,场景用户仍旧是近30天购买订单数和大盘用户结构差异较为明显。与前面结论一致~
▼ 优缺点总结
优点:
-
针对多个特征时,若利用信息增益率方法结果会相对清晰明了些;
-
相比描述性统计,针对性较强,重点关注信息增益率高的特征做进一步研究分析,会减少一些无用功。
缺点:
-
对分析师而言,相比定量方法计算逻辑较为复杂和费时,且需要注意一些细节点。
-
对业务侧而言,存在一定的解释成本。
针对缺点1,可在数据获取时
利用sql实现重要特征筛选的计算:
#数据准备
#第二步:计算条件熵值
ps.以上为了逻辑更清楚,每步骤分开拆写
其实还有一种一步到位的SQL实现方法
想要源码的朋友点个赞后可来找我
对了,另一种相对熵方法利用SQL也可以实现
感兴趣的欢迎自己动手实践,也可以在评论区交流方法~
以上就是关于『快速分析分群差异』的方法分享~