1. 概述编辑
1.1 概念
通过研究用户消费数据,将不同商品之间进行关联,并挖掘二者之间联系的分析方法,即「购物篮分析」。
1.2 解决的问题
找出顾客购买行为的模式:
比如用户买了A商品,是否会对B商品产生什么影响?
不同的用户是否具有不同的购买模式?
哪些产品应该放在一起进行捆绑销售?
1.3 预期效果
详情仪表板链接请参见:购物篮分析
1.4 实现思路
关联分析由以下指标进行衡量。
定义 | 概率描述 | 举例说明 | |
---|---|---|---|
支持度 | 支持度是指A商品和B商品同时被购买的概率,或者说某个商品组合的购买次数占总商品购买次数的比例。 支持度说明了这条规则在所有事务中有多大的代表性,显然支持度越大,关联规则越重要。 | 物品集A对物品集B的支持度support(A==>B)=P(A n B) | 今天共有10笔订单,其中同时购买牛奶和面包的次数是6次,那么牛奶+面包组合的支持度就是6/10=60% |
置信度 | 置信度是指购买A之后又购买B的条件概率,简单说就是因为购买了A所以购买了B的概率 | 物品集A对物品集B的置信度confidence(A==>B)=P(A|B) | 今天共有10笔订单,其中购买A的次数是8,同时购买A和B的次数是6,则其置信度是6/8=75% |
提升度 | 先购买A对购买B的提升作用,用来判断商品组合方式是否具有实际价值,是看组合商品被购买的次数是否高于单独商品的购买次数,大于1说明该组合方式有效,小于1则说明无效。 | L= P(A n B) /[P(A)*P(B)] | 今天共有10笔订单,购买A的次数是8,购买B的次数是6,购买A+B的次数是6,那么提升度是0.6/(0.8*0.6)>1,因此A+B的组合方式是有效的。 |
支持度计算公式:同时购买A和B订单数/总购买订单数
置信度计算公式:同时购买A和B订单数/购买A的订单数
提升度计算公式:支持度/((购买A次数/总购买订单数)*(购买B次数/总购买订单数))
2. 示例编辑
示例数据:「功能数据>第一张仪表板>集团商品销售总表」
由 1.4 节的公式可知需要的指标有:同时购买A和B的订单数、购买A的订单数、购买B的订单数、总购买订单数
2.1 计算「总购买订单数」
1)使用「集团商品销售总表」创建自助数据集,命名为总购买订单数数据集,并勾选「单据编码」,如下图所示:
2)添加分组汇总,将「单据编码」分别拖入「分组」和「汇总」栏,并设置汇总栏汇总方式为「去重计数」,如下图所示:
3)添加新增列,命名为「总购买订单数」,对单据编码个数求和,并点击确定。如下图所示:
4)保存并更新该自助数据集。
2.2 计算购买单个产品的订单数
1)使用「集团商品销售总表」创建一个新的自助数据集,命名为:单个产品的订单数表,勾选「商品名称」和「单据编码」字段,如下图所示:
2)添加分组汇总,分别将「商品名称」和「单据编码」拖入分组栏汇总栏,并设置汇总栏汇总方式为「去重计数」,如下图所示:
3)保存并更新该自助数据集。
2.3 计算「同时购买A和B订单数」
2.3.1 左右合并求商品组合
此时需要复制一列相同的商品类别,将两列合并在一起,就可以分出比如A+A、A+B、B+A等的商品组合。
1)使用「集团商品销售总表」新建自助数据集:购物篮分析表。勾选「单据编码」和「商品名称」。如下图所示:
2)添加「左右合并」,合并数据集为「集团商品销售总表」下的「单据编码」和「商品名称」,如下图所示:
3)选择「并集合并」,合并依据为「单据编码」,如下图所示:
4)将「商品名称」作为 A 商品,「集团商品总表-商品名称」作为 B 商品。添加字段设置更改名字,如下图所示:
2.3.2 过滤掉不需要的商品组合
很显然,不需要类似 A+A 的组合,因此需要将该数据过滤掉。
添加过滤,点击「添加公式」,输入函数商品名称!=集团商品销售总表-商品名称,点击「确定」,如下图所示:
2.3.3 去掉重复数据
由于一个订单中,可能购买了同一个商品多次。我们不需要计算重复数据,因此添加分组汇总,如下图所示:
如此这样的商品组合没有重复值。
2.3.4 统计同时购买A和B订单数
1)添加一个辅助列也就是值为 1 的常数列,如下图所示:
2)统计同时购买A和B的订单数,计算相同类别商品中 1 的个数,作为每个商品组合购买的次数,如下图所示:
2.4 求「购买A的次数」「购买B的次数」
1)添加左右合并,选择之前我们创建的「单个产品的订单数表」,如下图所示:
合并依据选择「A商品名称」与「商品名称」,并将合并结果命名为「A商品名称」
2)同样的,再与「单个产品的订单数表」进行一次左右合并,合并依据选择「B商品名称」与「商品名称」,并将合并结果命名为「购买B的次数」,如下图所示:
3)进行一次字段设置,「单个产品的订单数表-单据编码」和「单个产品的订单数表-单据编码1」分别命名为「购买A的次数」与「购买B的次数」。如下图所示:
2.5 求「总购买订单数」
将「总购买订单数」这个字段合并到这个宽表中,方便之后计算。
1)添加左右合并,与之前创建的「总购买订单数数据集」进行左合并。如下图所示:
2)合并依据选择「单据编码」,如下图所示:
如此所有的基础指标「同时购买A和B的订单数」、「购买A的次数」、「购买B的次数」、「总购买订单数」已经全在这个宽表中了。接下来只需要计算支持度、置信度、提升度就可以了。
2.6 计算「支持度」
支持度=同时购买A和B订单数/总购买订单数,新增列,如下图所示:
2.7 计算「置信度」
置信度=同时购买A和B订单数/购买A的订单数,新增列,如下图所示:
2.8 计算「提升度」
1)提升度=支持度/((购买A次数/总购买数)*(购买B次数/总购买数)),新增列,如下图所示:
2)保存并更新该自助数据集。
2.9 创建仪表板
1)使用刚刚保存的「购物篮分析表」创建仪表板。选择「自定义地图」,将「A产品名称」和「B产品名称」分别拖入横轴和纵轴。
在图形属性设置矩形快,将「支持度」拖入颜色栏。由于作图会导致多订单的值相加,所以支持度的汇总方式需要选择平均。如下图所示:
2)再新建一个组件,展示「支持度」、「置信度」、「提升度」的明细数据。如下图所示:
其中「支持度、置信度、提升度」由于多订单会合并求和,所以它们的汇总方式要改为「平均」。数值格式设置为百分比,如下图所示:
2.9 效果展示
详情参见本文 1.3 节。