04_从啤酒与尿布,聊关联规则推荐

“把啤酒放在尿布旁,有助于提升啤酒销售量”是关联规则推荐的经典案例,今天,和大家聊聊“关联规则推荐”,正文不含任何公式,保证PM弄懂。

 

一、概念

什么是关联规则(Association Rules)?

:关联规则是数据挖掘中的概念,通过分析数据,找到数据之间的关联。电商中经常用来分析购买物品之间的相关性,例如,“购买尿布的用户,有大概率购买啤酒”,这就是一个关联规则。

画外音:如果把买尿布记作A,买啤酒记作B。

“买尿布的用户有较大概率买啤酒”这个关联规则记作A -> B。

 

什么是关联规则推荐(Association Rule Based Recommendaion)?

:顾名思义,利用关联规则,来实施推荐。关联规则推荐的目标,是希望达到

 “将尿布放入购物车之后,再推荐啤酒”

“直接推荐啤酒”

获取有更好的售卖效果

画外音:这个目标非常非常重要,有些场景,或许直接推荐更有效。

 

关联规则推荐的典型应用

  • 线下,可以将尿布和啤酒放在一起

  • 线上,可以在用户将尿布放入购物车后,立刻推荐啤酒

 

二、如何实施

假设某电商会售卖ABCD四种商品,历史上共5笔订单,分别卖出{A,B,C}, {B,C,D}, {A,B,C,D}, {A,C}, {C} 如何来实施“关联规则”推荐呢?

 

第一步:数据准备

如上图,纵坐标所有历史订单横坐标每笔订单售出的商品

 

第二步:计算关联规则(组合商品)的支持度

 

什么是支持度(support)?

:共5笔订单,3笔包含商品A,A的支持度是3/5。

很容易计算出,各个商品的支持度。从支持度可以看出,Best Seller是商品C,100%的订单中都包含商品C,C的支持度是1。

 

除了单个商品,组合商品也有支持度。

共5笔订单,2笔同时包含AB,即A->B的支持度是2/5。

画外音:全局总共4种商品,假设关联规则只关联2种商品,则一共需要计算C(4,2)共6种组合商品的支持度{AB,AC,AD,BC,BD,CD}。

 

支持度评估商品包含在订单中的“概率”,一个订单,有多大概率包含这个商品。

画外音:一般会先对支持度高的商品实施推荐,如果先实优化支持度低的商品,即使推荐效果翻倍,总体订单提升效果也会很有限。

 

第三步:计算关联规则的置信度

 

什么是置信度(confidence)?

:已知购买了A,有多大概率购买了B(即同时购买了AB),称A -> B的置信度。

可以看到,商品A有3次购买,这3次中有2次购买了B,A->B的置信度是2/3。

 

画外音:额,本来不想贴公式的

confidence(A->B) = support(A->B)/support(A)= (2/5)/(3/5) = 2/3

这也相对比较好理解,

  • 分子:support(A->B)是同时购买AB的比例

  • 分母:support(A)是只购买A的比例

二者相除,得到“购买了A,有多大概率购买B”,置信度的本质是条件概率

 

这里需要注意的是,X->Y与Y->X的置信度不一定相等。

如上图:

B->C的置信度是1,买商品B时,100%会买C,

C->B的置信度是3/5,买商品C时,只有3/5买了B。

画外音:

support(B->C)=3/5

support(C->B)=3/5

confidence(B->C)=support(B->C)/support(B)=1

confidence(C->B)=support(C->B)/support(C)=3/5

公式是给程序看的,excel表格是给人看的,结果都一样。

 

第四步:计算关联规则的提升度

 

上一个例子里,confidence(B->C)=1,即:如果用户购买商品B,100%会买C,那是不是意味着,如果用户将商品B放入购物车,就可以向用户推荐商品C呢?

:不是。

 

我们来回顾一下,关联规则推荐的目标,是希望达到

 “将尿布放入购物车之后,再推荐啤酒”

“直接推荐啤酒”

获取有更好的售卖效果

虽然购买商品B,100%会买C

画外音:confidence(B->C)=1

但直接推荐C,用户也100%会买C

画外音:support(C)=1

 

会发现,购买B与购买C是独立事件,用户买不买C和用户买不买B没有直接关系。这里的关联规则推荐,并没有比直接推荐获取更好的效果。

 

用什么指标来评估关联规则推荐的效果呢?

:提升度。

 

什么是提升度(lift)?

:A->B关联规则推荐,与直接推荐B,的比值,可以用来评估推荐效果:

  • 大于1,说明有效,在购买A时推荐B,比直接推荐B,效果更好

  • 等于1,说明无关,购买A与购买B,是独立事件

  • 小于1,说明负相关,购买A时推荐B,效果还不如直接推荐B

画外音:又有公式了

lift(A->B) =confidence(A->B)/support(B)

这也相对比较好理解,

  • 分子:confidence(A->B),购买A时,有多大概率同时购买B

  • 分母:support(B),有多大概率直接购买B

二者相除,得到效果是否更好。

 

还是通过两个直观的例子来看。

来看看关联规则A->B,与直接推荐B,效果有没有提升:

  • 有3个订单购买A,这3个订单中有2个订单购买了B,所以A->B的置信度是2/3,即买了A有2/3的概率会买B

  • 直接推荐B的话,5个订单中有3个购买了B,所以B的支持度是3/5,即有3/5的概率会直接买B

会发现,关联规则推荐的效果更好。

 

画外音:根据公式

confidence(A->B) =support(A->B)/support(A) = 2/3

support(B) = 3/5

lift(A->B) =confidence(A->B)/support(B) = 10/9

lift(A->B) > 1,故关联规则推荐是正相关的。

 

来看看关联规则A->D,与直接推荐D,效果有没有提升:

  • 有3个订单购买A,这3个订单中有1个订单购买了D,所以A->D的置信度是1/3,即买了A有1/3的概率会买D

  • 直接推荐D的话,5个订单中有2个购买了B,所以D的支持度是2/5,即2/5的概率会直接买D

会发现,关联规则推荐的效果很差,还不如直接推荐。

 

画外音:根据公式

confidence(A->D) =support(A->D)/support(A) = 1/3

support(D) = 2/5

lift(A->D) = confidence(A->D)/support(D)= 5/6

lift(A->B) < 1,故关联规则推荐是负相关的。

 

三、总结

  • 关联规则A->B推荐,目标是,在“用户将A放入购物车时,推荐B”比“单独推荐B”获取更好的效果

  • A->B的支持度,是用户同时购买A和B概率

  • A->B的置信度,是用户购买A的同时,有多大概率购买B

  • A->B的提升度,是“用户购买A的同时,有多大概率购买B”与“直接购买B的概率”的比值

(1)这个值大于1时,说明A->B有正向效果

(2)这个值等于1时,说明A和B是独立事件

(3)这个值小于1时,说明A->B有负向效果

 

希望这1分钟,大家能有收获。

 


《1分钟了解协同过滤,pm都懂了》

《1分钟了解基于内容的推荐,pm又懂了》

《1分钟了解相似性推荐,pm真懂了》


原创: 58沈剑 架构师之路 4月9日

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
尿布啤酒的故事 这是一个老故事, 但每次看总是能从中想到点什么.在一家超市里,有一个有趣的现象:尿布啤酒赫然摆在一起出售。但是这个奇怪的举措却使尿布啤酒的销量双双增加了。这不是一个笑话,而是发生在美国沃尔玛连锁店超市的真实案例,并一直为商家所津津乐道。原来,美国的妇女们经常会嘱咐她们的丈夫下班以后要为孩子买尿布。而丈夫在买完尿布之后又要顺手买回自己爱喝的啤酒,因此啤酒尿布在一起购买的机会还是很多的。 是什么让沃尔玛发现了尿布啤酒之间的关系呢? 研究“啤酒尿布关联的方法就是购物篮分析,购物篮分析曾经是沃尔玛秘而不宣的独门武器,购物篮分析可以帮助我们在门店的销售过程中找到具有关联关系的商品,并以此获得销售收益的增长! 商品相关性分析是购物篮分析中最重要的部分,购物篮分析英文名为market basket analysis(简称MBA,当然这可不是那个可以用来吓人的学位名称)。在数据分析行业,将购物篮的商品相关性分析称为“数据挖掘算法之王”,可见购物篮商品相关性算法吸引人的地方,这也正是乐此不疲的围绕着购物篮分析进行着研究和探索的根本原因。 下面每一行是一个购物小票,直到遇到五个零00000,输入序列终止,每个字母表示一种商品(字母区分大小写,即a 和A代表不同的产品),请分析哪两个种产品的销售相关性最高: 样例输入: AABZXY BMNY CD CBYPQ BWVCY 00000 输出(字幕顺序按ASC码升序排列): BY

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值