什么是购物篮分析?指标、示例和应用场景

购物篮分析是一种用于发现哪些产品在同一次交易中被一起购买的方法。它扫描订单数据,寻找出现频率高于随机预测的商品组合。有三个指标用于描述每种模式:支持度、置信度和提升度。零售商和在线商店将其用于交叉销售、捆绑销售和商品陈列。
本指南将解释该方法的工作原理、如何计算每个指标以及如何解读结果。它还涵盖了常用的算法、主要应用场景以及在根据规则采取行动之前值得了解的局限性。
什么是购物篮分析
购物篮分析背后的基本思想很简单。每个订单都是一个商品篮子。在成千上万个篮子中,某些商品会不断同时出现。该分析可以找出这些组合并衡量每个组合的关联强度。
输出结果是一组关联规则。一条规则可以解读为“如果一个篮子包含 A,那么它也很可能包含 C。”A 被称为前件,C 被称为后件。两者都可以是单个商品或商品组合。
广泛用于此项工作的 Python 库 mlxtend 的文档给出了一个经典的说明。它描述了一条规则,暗示“购买尿布的人也很有可能购买啤酒”。无论这种搭配在特定的商店中是否成立,它都展示了输出结果的形式。
该技术属于一个更广泛的领域,称为关联规则学习。mlxtend 文档指出,Apriori 算法“旨在对包含交易的数据库进行操作,例如商店顾客的购买行为”。零售业是该方法的起点,但任何由“篮子”构成的数据都适用。
工作原理
购物篮分析分两个阶段运行。
第一阶段寻找频繁项集。项集是指任何商品组合,例如 {手机壳, 屏幕保护膜}。当它在所有交易中出现的比例至少达到最低份额时,就被视为频繁项集。您需要设置该最低份额,即支持度阈值。
第二阶段将项集转化为规则。对于每个频繁项集,算法会将其拆分为前件和后件,并对生成的规则进行评分。mlxtend 文档将规则生成描述为“频繁模式挖掘中的一项常见任务”。
输入数据的格式始终相同。每一行代表一次交易,每一列标记其中是否包含某件商品。大多数电商平台的订单导出数据都可以通过透视表重塑为这种格式。
在计算任何指标之前,有三个准备阶段的选择会影响最终结果。首先,确定什么是交易,通常是一个订单 ID。其次,记录是否存在而不是数量,因此一件商品的三个单位仍计为一次。第三,选择细节层级。产品类别会产生较少、较宽泛的规则,而单个 SKU 则会产生更精确的规则,但需要更多的数据。
三个核心指标
每个规则都会得到三个数值。将它们结合起来阅读,才能将有用的规则与巧合区分开来。
支持度
支持度是指包含该项集的所有交易的比例。如果 1,000 个订单中有 60 个同时包含手机壳和屏幕保护膜,则该组合的支持度为 0.06,即 6%。
支持度告诉您某种模式的普遍程度。支持度极低的规则可能是真实存在的,但由于过于罕见而无法据此采取行动。
置信度
置信度是指在篮子中已包含前件的情况下,出现后件的概率。它等于该组合的支持度除以前件的支持度。
置信度是有方向的。A 引导至 C 的置信度通常与 C 引导至 A 的置信度不同。下面的具体示例解释了原因。
提升度
提升度将该组合的实际出现频率与假设这两种商品无关时的预期频率进行比较。它等于规则的置信度除以后件的支持度。
mlxtend 文档清晰地描述了这一参考点:“如果 A 和 C 是独立的,提升度得分将正好为 1。”提升度大于 1 意味着这些商品一起出现的频率高于随机概率。提升度小于 1 意味着它们一起出现的频率低于随机概率。
具体示例
以一家一个月内有 1,000 个订单的在线电子产品商店为例。
| 指标 | 数值 |
|---|---|
| 包含手机壳的订单 | 200 |
| 包含屏幕保护膜的订单 | 100 |
| 同时包含两者的订单 | 60 |
| 该组合的支持度 | 60 / 1,000 = 0.06 |
| 置信度(手机壳到屏幕保护膜) | 0.06 / 0.20 = 0.30 |
| 置信度(屏幕保护膜到手机壳) | 0.06 / 0.10 = 0.60 |
| 提升度 | 0.30 / 0.10 = 3.0 |
用通俗的话来解读这些结果。在购买手机壳的顾客中,有十分之三的人也购买了屏幕保护膜。在购买屏幕保护膜的顾客中,有十分之六的人也购买了手机壳。该组合共同出现的频率是随机预测的三倍。
当完整的规则表返回时,请按固定顺序阅读。按提升度排序以找到最强的关联。舍弃低于最低支持度的规则,因为它们太罕见,无法据此采取行动。然后使用置信度来决定推荐的方向。
这两个置信度数值会导向不同的行动。向购买屏幕保护膜的顾客推荐手机壳是更强有力的推荐,因为他们中已有 60% 的人购买了手机壳。两个方向的提升度是相同的,这就是为什么提升度是衡量关联本身强度的更好指标。
其他值得了解的指标
三个核心指标可以满足大部分需求,但相关库还会报告其他指标,以帮助过滤掉弱规则。
杠杆度 (Leverage) 衡量实际观察到的共同出现与预期共同出现之间的差距。mlxtend 文档通过将观察到的共同出现与“如果 A 和 C 独立时的预期频率”进行比较来定义它。杠杆度为 0 意味着相互独立。
确信度 (Conviction) 衡量后件对前件的依赖强度。与提升度类似,值为 1 表示相互独立。值越高,意味着该规则被违反的频率低于随机暗示的频率。
在实践中,大多数团队会按提升度对规则进行排序,然后通过最低支持度和置信度进行过滤。这种组合可以筛选出关联性强、足够普遍且可靠的模式。
算法:Apriori 和 FP-Growth
Apriori 是经典的算法。mlxtend 文档引用了 Agrawal 和 Srikant 于 1994 年发表的关于挖掘关联规则的快速算法的论文作为其来源。Apriori 逐层构建项集,并剪枝任何子集不频繁的项集,从而使搜索保持在可控范围内。
FP-Growth 通过不同的途径达到相同的频繁项集。mlxtend 文档将其描述为“成熟的 Apriori 算法的流行替代方案”。它构建了一个频繁模式树,并且不需要生成候选集。文档指出,这使得它“对大型数据集特别有吸引力”。
支持度阈值在两者中的工作方式相同。mlxtend 文档给出一个简单的例子:在阈值为 0.5 时,频繁项集必须在至少一半的交易中出现。零售业的阈值通常要低得多,因为即使是受欢迎的商品组合也只占订单的一小部分。
对于大多数业务问题,算法的选择改变的是速度,而不是结果。在相同的支持度阈值下,两者返回相同的项集。
购物篮分析的用途
购物篮分析在零售和电子商务中最常见,但其应用场景远不止于此。
- 交叉销售。当购物车中存在前件时,在结账时推荐后件。
- 捆绑销售。将具有高提升度的商品打包成一个单一的优惠方案。
- 店铺和页面布局。在货架或产品页面上,将经常配对的商品摆放在相邻位置。
- 库存规划。将配对商品一起备货,这样一种商品的短缺就不会悄悄抑制另一种商品的销售。
- 内容和媒体。将用户会话视为一个篮子,找出哪些文章或视频被一起消费。
- 服务。在银行或电信行业,将每个客户的产品视为一个篮子,找出哪些组合倾向于搭配在一起。
- 活动评估。比较活动前和活动期间某组合的提升度。提升度的跃升表明活动改变了购买行为,而不仅仅是销量。
每个应用场景都始于同一个问题:当顾客选择了一样东西时,他们还倾向于选择什么?
随后的行动应该与置信度的方向相匹配。当两种商品都需要搭配在一起时,捆绑销售就会起作用。当一种商品能够可靠地引导至另一种商品时,结账建议就会起作用。
购物篮分析与相关方法的对比
购物篮分析经常与客户细分和推荐引擎混淆。下表展示了它们之间的区别。
| 方法 | 分析单位 | 主要问题 | 典型输出 |
|---|---|---|---|
| 购物篮分析 | 交易 | 哪些商品会搭配在一起? | 包含支持度、置信度和提升度的关联规则 |
| 客户细分 | 客户 | 哪些客户是相似的? | 具有共同特征的客户群体 |
| 协同过滤 | 客户和商品历史记录 | 这个人下一步会喜欢什么? | 个性化推荐 |
| 同期群分析 | 按开始日期分组 | 行为随时间如何变化? | 留存曲线和表格 |
这些方法相辅相成。细分可以告诉您谁是您的高价值客户,而购物篮分析可以告诉您这些客户会一起购买什么。我们关于构建客户细分报告的指南涵盖了前半部分,而我们对同期群分析的解释则涵盖了时间维度。
值得了解的局限性
购物篮分析得出的规则很有用,但很容易被过度解读。
共同出现并不等于因果关系。高提升度的组合告诉您两件商品是一起购买的。它并不能告诉您购买其中一件会导致购买另一件。
阈值决定了结果。如果支持度设置得太高,您会错过小众但有价值的组合。如果设置得太低,您会得到成千上万条规则,其中许多都是噪音。
稀有商品会被遗漏。一件一个月只被购买几次的昂贵商品可能永远无法达到支持度阈值,即使它的配对关联性很强。
退货和取消会扭曲购物篮。如果退回的商品保留在数据中,分析就会计算客户已撤销的配对。我们关于产品退货报告的指南介绍了如何单独衡量这一方面。
大量的组合意味着会出现一些虚假模式。一个包含 500 件商品的目录有超过 100,000 种可能的组合。有些组合仅凭运气就会显示出高提升度。在根据重要规则采取行动之前,请在第二个时间段的数据上对其进行确认。
时间至关重要。节日期间的模式在春季可能并不适用。在更改布局或捆绑销售方案之前,请在可比的时间段上运行分析。
如何在不编写代码的情况下运行分析
经典路线是使用 Python(配合 mlxtend 等库)或使用 SQL 来计算组合。两者都需要将订单数据重塑为每行代表一次交易、每列代表一件商品的格式。
电子表格可以处理小规模的版本。数据透视表计算每件商品的订单数,COUNTIFS 公式计算包含组合中两件商品的订单数。局限性在于规模,因为可能的组合数量会随着商品目录的增加而迅速增长。
AI 工作空间可以根据普通的订单导出数据进行重塑 and 计数。Powerdrill Bloom 在每个方案中都支持上传 Excel 和 CSV。您可以询问哪些产品最常被一起购买,并要求获取热门组合的支持度、置信度和提升度。
从类别层级开始运行,以查看大致的模式。然后针对最重要的类别在 SKU 层级重新运行。
像检查脚本一样检查输出结果。确认交易数量,手动抽检一个组合,并确保排除了退货订单。CSV AI 助手页面展示了文件优先的工作流程。
如果您已经准备好了订单导出数据,可以尝试使用 Powerdrill Bloom,并将热门组合与您团队的预期进行对比。
常见问题解答
简单来说,什么是购物篮分析?
这是一种发现顾客倾向于一起购买哪些产品的方法。它通过查看大量订单,并衡量每个组合出现的频率与随机预测相比如何。
购物篮分析中的提升度是什么?
提升度将两种商品一起出现的频率与假设它们无关时的出现频率进行比较。提升度为 1 意味着没有关联。大于 1 意味着它们一起出现的次数多于预期,小于 1 意味着少于预期。
如何计算支持度和置信度?
支持度是包含该项集的交易数量除以总交易数量。置信度是该组合的支持度除以前件的支持度。两者通常显示为小数或百分比。
购物篮分析使用哪种算法?
Apriori 是经典的算法,FP-Growth 是一种常见的更快的替代方案。两者都从交易数据中寻找频繁项集,然后根据这些项集生成规则并进行评分。
可以在 Excel 中进行购物篮分析吗?
可以,适用于小型数据集。数据透视表计算每件商品的订单数,COUNTIFS 计算包含某个组合的订单数。对于大型目录,组合的数量增长迅速,因此使用脚本或 AI 工具更为实用。
来源: mlxtend, 关联规则 · mlxtend, Apriori。具体示例使用的是说明性数据。