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

目录:

1. 概述编辑

1.1 概述

通过研究用户消费数据,将不同商品之间进行关联,并挖掘二者之间联系的分析方法,即「购物篮分析」。由于「购物篮分析」是对不同商品之间的关联程度进行分析,因此一笔订单内应当有多个商品,该分析是基于订单维度的分析。

1.2 解决的问题

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

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

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

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

1.3 预期效果

通过明细表形式,可以直观展示商品A与商品B之间的关联强度。例如下图,西红柿 + 本地小白菜提升度高达 2.58,说明买了西红柿的人,购买小白菜的概率是平时的 2.58 倍。置信度 0.46 意味着 46% 买西红柿的人都会顺手带一把小白菜,可以把这两件商品放在比较近的位置。

2025-12-31_15-40-35.png

1.4 实现思路

关联分析由以下指标进行衡量。


定义概率描述举例说明
支持度

支持度是指A商品和B商品同时被购买的概率,或者说某个商品组合的购买次数占总商品购买次数的比例。

支持度说明了这条规则在所有事务中有多大的代表性,显然支持度越大,关联规则越重要。

物品集A对物品集B的支持度support P(A n B)

今天共有10笔订单,其中同时购买牛奶和面包的次数是6次,那么牛奶+面包组合的支持度就是6/10=60%
置信度置信度是指购买A之后又购买B的条件概率,简单说就是因为购买了A所以购买了B的概率

物品集B对物品集A的置信

度P(B|A)

今天共有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. 示例编辑

2.1 上传数据

示例数据:购物篮分析数据.xlsx

2.2 计算需要的指标

由 1.4 节的公式可知需要的指标有:同时购买 A 和 B 的订单数购买 A 的订单数购买 B 的订单数总购买订单数

2.2.1 计算「A商品的订单数」

1)选择「购物篮分析数据」数据,点击「+>分析表」,如下图所示:

66.png

2)将「分析表」重命名为「A商品的订单数」,点击「+>选字段」添加选字段步骤,选择「单据编码」和「商品名称」字段,如下图所示:

66.png

3)新增「分类汇总」,将「单据编码」字段拖入汇总,重命名为「A商品的订单数」;将「商品名称」字段拖入分类,重命名为「A商品名称」,如下图所示:

 2025-12-29_15-07-45.png

2.2.2 计算「B商品的订单数」

1)由于「B商品的订单数」分析表的制作步骤与「A商品的订单数」分析表制作步骤类似,可通过复制分析表操作得到「B商品的订单数」分析表,点击「批量」操作,勾选「全部」,点击「复制」操作,如下图所示:

2025-12-29_15-13-43.png

 2)新建分析表并重命名为「B商品的订单数」,点击「+」下的「粘贴」操作,即可得到「B商品的订单数」分析表,如下图所示:

2025-12-29_15-16-58.png

2.2.3 计算「总购买订单数」

1)选择「购物篮分析数据」,点击「+>购物篮分析」创建分析表,点击「+>更多>选字段」添加选字段步骤,选择「单据编码」和「商品名称」字段,如下图所示:

55.png 

2)新增「分类汇总」,将「单据编码」拖入汇总,并重命名为「总订单数」,选择「合并上一步数据」,选择「单据编码」和「商品名称」字段,点击「确定」,如下图所示:

2025-12-29_15-30-13.png

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

为了计算同时购买 A 和 B 的订单数,需要根据订单将商品进行两两配对,随后剔除商品 A 与商品 B 相同的无效记录,最后按商品组合进行分类汇总,即可得出同时购买A和B订单数。

1)添加「左右合并」,合并「购物篮分析数据」中的「单据编码」和「商品名称」字段,可以将A商品和B商品合并到一个表中,方便后续分析,如下图所示:

2025-12-30_09-37-42.png

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

注:操作后的数据量会急剧扩张,由于系统会对每一个订单内的商品进行穷举式配对,数据量会出现平方级膨胀(例如:一个订单内有100个商品,匹配后就是100*100行数据,即A和A、A和B、A和C… 需在前期对这样的订单进行调整。)

Snipaste_2025-12-29_15-59-52.png

3)添加字段设置步骤,将「商品名称」和「商品名称1」分别改成「A商品名称」和「B商品名称」,如下图所示:

Snipaste_2025-12-30_11-29-15.png

4)当「A商品名称」和「B商品名称」相同时,它们是同一个产品,计算支持度、置信度、提升度没有意义,我们可以过滤掉这部分的商品组合。

新增「筛选」步骤,添加公式条件:[A商品名称]<>[B商品名称],即A商品名称不等于B商品名称,如下图所示:

Snipaste_2025-12-30_11-37-11.png

5)将「A商品名称」和「B商品名称」字段拖入分类,将「单据编码」拖入汇总,并重命名为「同时购买A和B的数据」,点击 「合并上一步数据」,如下图所示:

2025-12-30_14-35-58.png

6)合并「总订单数」字段,如下图所示:

2025-12-30_11-55-03.png

2.3 左右合并求商品组合

这一节我们要把 2.2.1 和 2.2.2 节创建的「A商品的订单数」和「B商品的订单数」表,合并到「购物篮分析」表中,合并后要及时对字段重命名,以区分A和B的订单数,为购物篮分析做最后的数据准备。

1)添加「左右合并」,选择之前我们创建的「A商品的订单数」,选择「A商品名称」和「A商品的订单数」字段,如下图所示:

2025-12-30_14-52-12.png

2)选择「左合并」,合并条件为「A商品名称」,如下图所示:

2025-12-30_14-53-49.png

3)添加「左右合并」,选择之前我们创建的「B商品的订单数」,选择「B商品名称」和「B商品的订单数」字段,如下图所示:

2025-12-30_14-55-41.png

 4)选择「左合并」,合并依据为「B商品名称」,如下图所示:

2025-12-30_15-05-05.png

2.4 计算支持度、置信度、提升度

2.4.1 求「支持度」

支持度=同时购买A和B订单数/总订单数,选择「新增字段>公式」,命名为「支持度」,如下图所示:

2025-12-30_15-31-08.png

2.4.2 求「置信度」

置信度=同时购买A和B的商品的数据/A商品的订单数,选择「新增字段>公式」,新增「置信度」字段,如下图所示:

2025-12-30_15-39-08.png

2.4.3 求「提升度」

提升度=[支持度]/([A 商品的订单数]/[总订单数]*[B商品的订单数]/[总订单数]),选择「新增字段>公式」,新增「提升度」字段,如下图所示:

2025-12-30_16-46-57.png

2.4.4 删除重复值

1)前面的计算会导致数据中出现多条重复数据,可以使用「删除重复数据」功能进行去重。如下图所示:

2025-12-30_17-03-52.png

2)勾选去重的字段:B商品名称、A商品名称、支持度、置信度、提升度,如下图所示:

Snipaste_2025-12-30_17-06-39.png

3)这样就将重复数据去除了,效果如下图所示:

Snipaste_2025-12-30_17-08-51.png

2.5 制作图表

点击「图表」,选择「明细表」进行展示,将字段拖入对应的区域。在明细表中,如果两种商品的提升度高,证明两种商品的关联度高,组合方式有效,可以考虑放在一起售卖。如下图所示:

Snipaste_2025-12-31_15-30-00.png

2.6 效果展示

2025-12-31_15-40-35.png