历史版本6 :购物篮分析 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 概念

通过研究用户消费数据,将不同商品之间进行关联,并挖掘二者之间联系的分析方法,即「购物篮分析」。

1.2 解决的问题

找出顾客购买行为的模式:

比如用户买了A商品,是否会对B商品产生什么影响?

不同的用户是否具有不同的购买模式?

哪些产品应该放在一起进行捆绑销售?

1.3 预期效果

详情仪表板链接请参见:购物篮分析

32.png

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|(A n 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)使用「集团商品销售总表」创建自助数据集,命名为总购买订单数数据集,并勾选「单据编码」,如下图所示:

1.png

2)添加分组汇总,将「单据编码」分别拖入「分组」和「汇总」栏,并设置汇总栏汇总方式为「去重计数」,如下图所示:

2.png

3)添加新增列,命名为「总购买订单数」,对单据编码个数求和,并点击确定。如下图所示:

4)保存并更新该自助数据集。

2.2 计算购买单个产品的订单数

1)使用「集团商品销售总表」创建一个新的自助数据集,命名为:单个产品的订单数表,勾选「商品名称」和「单据编码」字段,如下图所示:

5.png

2)添加分组汇总,分别将「商品名称」和「单据编码」拖入分组栏汇总栏,并设置汇总栏汇总方式为「去重计数」,如下图所示:

6.png

3)保存并更新该自助数据集。

2.3 计算「同时购买A和B订单数」

2.3.1 左右合并求商品组合

此时需要复制一列相同的商品类别,将两列合并在一起,就可以分出比如A+A、A+B、B+A等的商品组合。

1)使用「集团商品销售总表」新建自助数据集:购物篮分析表。勾选「单据编码」和「商品名称」。如下图所示:

7.png

2)添加「左右合并」,合并数据集为「集团商品销售总表」下的「单据编码」和「商品名称」,如下图所示:

8.png

3)选择「并集合并」,合并依据为「单据编码」,如下图所示:

10.png

4)将「商品名称」作为 A 商品,「集团商品总表-商品名称」作为 B 商品。添加字段设置更改名字,如下图所示:

2.3.2 过滤掉不需要的商品组合

很显然,不需要类似 A+A 的组合,因此需要将该数据过滤掉。

添加过滤,点击「添加公式」,输入函数商品名称!=集团商品销售总表-商品名称,点击「确定」,如下图所示:

12.png

2.3.3 去掉重复数据

由于一个订单中,可能购买了同一个商品多次。我们不需要计算重复数据,因此添加分组汇总,如下图所示:

如此这样的商品组合没有重复值。

13.png

2.3.4 统计同时购买A和B订单数

1)添加一个辅助列也就是值为 1 的常数列,如下图所示:

14.png

2)统计同时购买A和B的订单数,计算相同类别商品中 1 的个数,作为每个商品组合购买的次数,如下图所示:

15.png

2.4 求「购买A的次数」「购买B的次数」

1)添加左右合并,选择之前我们创建的「单个产品的订单数表」,如下图所示:

合并依据选择「A商品名称」与「商品名称」,并将合并结果命名为「A商品名称」

2)同样的,再与「单个产品的订单数表」进行一次左右合并,合并依据选择「B商品名称」与「商品名称」,并将合并结果命名为「购买B的次数」,如下图所示:

3)进行一次字段设置,「单个产品的订单数表-单据编码」和「单个产品的订单数表-单据编码1」分别命名为「购买A的次数」与「购买B的次数」。如下图所示:

23.png

2.5 求「总购买订单数」

将「总购买订单数」这个字段合并到这个宽表中,方便之后计算。

1)添加左右合并,与之前创建的「总购买订单数数据集」进行左合并。如下图所示:

24.png

2)合并依据选择「单据编码」,如下图所示:

25.png

如此所有的基础指标「同时购买A和B的订单数」、「购买A的次数」、「购买B的次数」、「总购买订单数」已经全在这个宽表中了。接下来只需要计算支持度、置信度、提升度就可以了。

2.6 计算「支持度」

支持度=同时购买A和B订单数/总购买订单数,新增列,如下图所示:

2.7 计算「置信度」

置信度=同时购买A和B订单数/购买A的订单数,新增列,如下图所示:

27.png

2.8 计算「提升度」

1)提升度=支持度/((购买A次数/总购买数)*(购买B次数/总购买数)),新增列,如下图所示:

2)保存并更新该自助数据集。

2.9 创建仪表板

1)使用刚刚保存的「购物篮分析表」创建仪表板。选择「自定义地图」,将「A产品名称」和「B产品名称」分别拖入横轴和纵轴。

在图形属性设置矩形快,将「支持度」拖入颜色栏。由于作图会导致多订单的值相加,所以支持度的汇总方式需要选择平均。如下图所示:

2)再新建一个组件,展示「支持度」、「置信度」、「提升度」的明细数据。如下图所示:

其中「支持度、置信度、提升度」由于多订单会合并求和,所以它们的汇总方式要改为「平均」。数值格式设置为百分比,如下图所示:

30.png

2.9 效果展示

详情参见本文 1.3 节。