便利店店长想弄清哪些商品该摆在一起:饭团和茶饮、啤酒和花生、关东煮和湿巾。收银系统里躺着几十万条小票,让 AI 去挖,几秒钟就能吐出几百条「买了 A 也买 B」的组合。真正难的是判断哪一条值得动手。关联规则做的就是这件事,三个指标各回答一个问题,混着看就会做出错误的陈列决策。
一条规则由两个集合和三个数字构成
规则写成 A 到 B,A 叫前项,B 叫后项。方向不能反:「买尿布的人常买啤酒」和「买啤酒的人常买尿布」是两条不同的规则,支持度相同,置信度往往差很远。前者可能只有几十单支撑,后者覆盖上万单。
挖掘之前要先定两件事:交易怎么算一笔,按小票还是按会员单;商品怎么归并,按单品还是按品类。这两件事定错,后面所有指标都是错的,而且错得很隐蔽。
三个指标,各回答一个问题
| 指标 | 怎么算 | 说明什么 | 单看它会误判成什么 |
|---|---|---|---|
| 支持度 | 同时含 A 和 B 的交易数除以总交易数 | 这条规律覆盖多少生意,值不值得占货架资源 | 几单巧合被当成规律,冷门组合的支持度低,噪声占比却高 |
| 置信度 | 含 A 且含 B 的交易数除以含 A 的交易数 | 买 A 的人里有多大比例也买 B,规则准不准 | 把「B 本来就畅销」误当成「A 带动了 B」 |
| 提升度 | 置信度除以 B 的支持度 | A 的出现有没有真的抬高 B 的概率 | 提升度很高但支持度极低,可能只是几十单的偶然 |
三个数要连起来读:支持度决定这条规则够不够大,置信度决定它准不准,提升度决定它是不是废话。任何一项单独看都能得出错误结论,这是购物篮分析最容易踩的坑。
提升度剔除的是「本来就畅销」
算一遍就清楚了。1000 单里 800 单有矿泉水,200 单有面包,其中 180 单两者都有。面包到矿泉水的置信度是 180 除以 200,等于 90%,看着很高;但矿泉水本身就有 80% 的人买,提升度只有 90% 除以 80%,约 1.13,几乎等于没有关系。反过来,某进口酱料只有 5% 的人买,买牛排的人里 30% 会买它,提升度是 6,虽然只覆盖几十单,却值得试着放在一起。
经验阈值:提升度在 1 附近表示两件商品基本独立,1.2 以上可以看一眼,2 以上才值得做陈列实验。这个阈值随品类密度变化,生鲜和日用品不能套同一套标准。
挖掘靠两步:先找频繁项集,再切规则
Apriori 用一条性质剪枝:一个项集频繁,它的所有子集必然频繁;反过来,子集不频繁,超集一定不频繁,可以直接丢掉。这一步把指数级的组合数压到可算。FP-Growth 换了一种数据结构,不生成候选集,在稠密数据上通常更快。
商品上千时,二阶三阶项集还能跑,四阶以上数量爆炸,业务上也用不上——没人会为「啤酒加尿布加牙膏加电池」设计一个货架。真正决定成败的是支持度阈值:设高了挖不出东西,设低了全是噪声,通常从千分之一到百分之一之间试几档。
它和K-means 聚类常被放在一起讲,因为两者都不需要标签。区别在于聚类按距离把样本分组,关联规则按共现把商品配对:一个回答「谁和谁像」,一个回答「谁和谁一起出现」。想按相似度找同类商品,那是余弦相似度与欧氏距离要解决的问题,和共现规律不是一回事。
规则有保质期
季节、改价、货架调整、竞品进场都会改变共现结构。上个月挖出来的规则这个月可能已经失效,而算法不会提醒你。固定周期重跑,并记录每条规则的提升度变化曲线,比一次性挖完有用得多。这类现象和数据漂移是同一回事:数据分布变了,基于旧分布得出的结论就不可靠。
重跑的频率取决于商品周转速度。生鲜便利店一周一跑不算频繁,家居建材一个月一跑也够。频率定得太低,等于拿去年的规律指导今年的陈列。
它只能说一起出现,说不出因为
相关性不等于因果,这是第一条。啤酒和尿布同现,可能是「有婴儿的家庭」这个没被观测到的因素同时带动了两者,据此做捆绑未必有效。要判断因果,得做对照实验:把商品摆在一起,看销量是否真的变化,而不是看规则分数。
第二条是辛普森悖论。整体算出来提升度 1.8,按门店拆开可能每家都低于 1,因为高提升度集中在几家大店。第三条是它丢掉了数量和顺序:同一张小票买了两瓶还是一瓶,规则不区分;先买后买的次序也不保留,那属于序列模式挖掘的范围。
还有一层是解释成本。一次挖出几百条规则,业务方看不过来,最后还是要靠人筛。规则数量本身不是成果,能被执行的规则才是。
落地前还要过三道业务筛
毛利:提升度高但毛利为负的组合,捆在一起是赔钱。客单价:两件商品本来就常被一起买,再捆绑反而拉低整体价格。库存:不稳定或临期的商品不能做主推,规则跑得再准也供不上。
指标负责从数据里挑候选,生意常识负责最后一刀。把这两步混在一起,要么挖出一堆无法执行的规则,要么凭直觉错过真正的组合。指标口径怎么和业务口径对齐,可参考评估指标的取舍。
速查:判断一条规则能不能用
- 支持度够不够:低于千分之一的规则先放一边,样本太少。
- 提升度是否明显大于 1:接近 1 说明两者独立,置信度再高也没用。
- 方向对不对:A 到 B 和 B 到 A 是两条规则,别混用。
- 拆开还成立吗:分门店、分时段复核,防止辛普森悖论。
- 能不能执行:毛利、库存、货架空间至少过一关。


