加入 PowerBI自己学 知识星球 可以:下载源文件,边学边练;遇到问题,提问交流,有问必答。
购物篮分析,也叫商品关联分析法,英文名称为Market Basket Analysis(简称MBA),或者Shopping Cart Analysis(购物车分析)。商品之间存在客观的关联关系,有些属于常识,不需要看数据就能知道,比如锅碗瓢盆、啤酒炸鸡等,但是当商品数量成千上万、跨品类关联或缺乏经验判断的时候,常识就起不到作用了,这时可以通过统计研究大量的用户按次的购买商品集合(视为一个购物篮),将不同商品之间进行关联,发现二者之间联系,进而挖掘出消费者行为或商品组合规律的分析方法,就叫做购物篮分析。
关联度有三个指标:
1 支持度(Support),A和B同时被购买的概率,同时购买了A和B的订单数在总订单数中的占比,高支持度就意味着高关联;
2 置信度(Confidence),购买了A又购买了B的概率,同时购买了A和B的订单数在购买了A的订单数中的占比;
3 提升度(Lift),考虑参照物,A对B的置信度/购买B的自然概率大于1的时候,说明购买A对购买B有提升作用。
可以看出,置信度是个中间过程(具有方向性),提升度才是真正判断A和B中间的相互影响(不具方向性)。但是如果同时购买A和B的订单只有一笔,A也只有这一笔订单,置信度达到了100%,提升度也因此变高,但这不能代表规律,因为支持度低。因此要在支持度达到一定水平的前提下,提升度大于1,才算是A对B有好的提升作用。有提升作用,就可以在商品陈列、加买商品优惠、捆绑销售上做文章了。反之,支持度不高,提升度小于1,对提升起反作用也是规律,同样可以被应用于实际工作,比如陈列在不同楼层或区域等。
解决方案
在PowerBI中,写出支持度和提升度的度量值,并按照支持度和提升度划分为4个象限,并将关系定义为4个关联类型:高支持度-高提升度、高支持度-低提升度、低支持度-高提升度、低支持度-低提升度,在散点图中可以展示关系的分布情况。
涉及到的主要PowerBI技巧:
1 PowerQuery无顺序两两组合;
2 商品关联表和订单表不建立关系,直接用SELECTEDVALUE用作FILTER的条件判断;
3 数值范围参数;
4 散点图和参考线。
举例
基于一张销售订单表,进行购物篮分析。
模型
商品关联表Dim_Product_AB
此表是用Dim_Product在PowerQuery中生成的,参考第一章的《笛卡尔积、有序排列组合、无序排列组合》。
参数表Support%-区隔
%Support-区隔 = GENERATESERIES(0, 1, 0.01)
度量值
支持度Support%:
%Support = DIVIDE([#Order_AB],[#Order])
置信度Confidence%:
%Confidence_AB = DIVIDE([#Order_AB],[#Order_A])
提升度Lift%:
%Lift = DIVIDE([%Confidence_AB],[%Order_B])
关联类型Segment:
Segment =
IF(NOT ISBLANK([%Support]),
SWITCH(TRUE(),
[%Support]>=[%Support-区隔 值] && [%Lift]>=1, "高支持-高提升",
[%Support]>=[%Support-区隔 值] && [%Lift]<1, "高支持-低提升",
[%Support]<[%Support-区隔 值] && [%Lift]>=1, "低支持-高提升",
"低支持-低提升"
)
)
操作步骤
STEP 1 在画布中添加散点图并拖入字段,把支持度和提升度放入坐标轴,把A-B商品Key放入值和图例。
STEP 2 继续在格式窗格中,添加参考线,X轴用Support%-区隔参数,Y轴用数字1。
STEP 3 因为需要筛选包含某个商品的所有关系,所以添加了支持模糊查询的文本切片器Text Filter。
设置页面布局和格式后,将支持度区隔设为2%,筛选运动水壶,可以看出运动水壶两种水壶架以及自行车帽、山地英骑都是高支持度高提升度,会是有效的商品组合。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。