产品经理识算法(五):关联规则推荐算法


这是“产品经理识算法”系列的第五篇,拖得有点久了…

什么是关联规则推荐

关联规则推荐:关联规则是数据挖掘中的概念,是通过数据找到看似没有任何关系的两个对象之间的关联性。那么用在推荐上是什么意思呢?你现在可以这样理解,关联规则推荐算法,实际应用下来跟著名“啤酒与尿布”(如果不知道“啤酒与尿布”大家可以Google)是一样一样的,也就是“当用户把尿布加入购物车后推荐啤酒”比“直接推荐啤酒”订单转化率更高。接下来我们一步一步来看。

首先模拟一套数据

为了方便下面文章的展开,这里模拟一套案例数据:横向展开是商品类别;纵向展开是订单数量

商品支持度

商品的支持度是指某个商品在所有订单中占比重,也就是看看多少人购买了这个商品


上面商品1在5个订单中,出现了3次,那么商品的1的支持度就是suport(商品1)=3/5。类似可计算商品2、3、4的支持度依次为:3/5、5/5、2/5。

有了单个商品的支持度,我们可以计算下商品两两组合的支持度,为了简单快速理解,我们只做两两组合的支持度说明。上面共计4个商品,那么两两组合就是C(4,2),商品1和商品2的组合我们记作:{12}。那么最后C(4,2)可表示为:{12,13,14,23,24,34}。商品1和商品2的组合支持度就是既买了商品1也买了商品2的订单
那么suport{12}=2/5
现在你可能有这样的疑问:我们为什么要计算这个支持度呢?
组合支持度是衡量这两个商品“凝固度”的一个指标,一个订单中包含了商品1很大程度上也包含了商品2,那么我们认为商品1和商品2“凝固”得紧一些,都是同步购买的,在推荐顺序上优先推荐组合支持度高的商品。

商品的置信度

这个概念很拗口,这样来理解:买了商品1的来推荐商品2和买了商品2来推荐上1,这两个算法不应该相同。于是,就引出了商品的置信度。还是看上面的那张图

商品1、2的置信度为confidence(商品1商品2)= 2/3,这和组合支持度不一样,这里的分母是只包含商品1的总订单数,而组合支持度的分母是所有的订单数。
即:confidence(12)=suport(12)/suport(1)
值得一提的是,confidence(12)和confidence(21)不一样。所以当用户买了商品2是推荐商品1和推荐商品3所占的权重不一样,置信度是衡量两个商品关联“紧密度”的一个指标,也就是需要商品2的同时对商品1和商品3的需求是不一样的。举个例子:买了炒锅的用户你推荐锅铲比推荐筷子更贴切,因为炒锅和锅铲的“紧密度”明显高于炒锅和筷子,但是炒锅、锅铲、筷子最后很可能都会出现在同一个订单中。所以这种场景之下:用户有了炒锅后对锅铲的需求是最大的也是最直接的。所以在推荐的时候优先推荐这种需求更大的商品。

推荐提升度

看了上面的说明,细心的同学已经发现了:confidence(23)=1
购买了商品2的全部购买了商品3,这说明“对商品2的有需求的用户全部都对商品3有需求吗”。答案是否定的,如果真的是这样,我想市场上早把商品2和商品3打包成一个商品(或一个套餐)了,既然存在100%的必然关系,为什么要分开卖呢?我们回头看一下开始关联规则推荐的目的:也就是“当用户把尿布加入购物车后推荐啤酒”比“直接推荐啤酒”订单转化率更高。每个商品都是独立的,从上面的表格

可以看出,每个订单中都包含商品3,也就是你推不推荐商品3都一样,用户最后都买了商品3。那怎么解决这个问题呢,我们就要用“提升度”这个概念。提升度:两个商品的置信度confidence(12)和单个商品的支持度suport(2)的比值。lift(12)=confidence(12)/suport(2)

  • lift(12)>1:通过商品1关联推荐商品2比单独推荐商品2效果好
  • lift(12)=1:两种推荐效果不相上下
  • lift(12)<1:购买商品1后再推荐商品2还不如直接推荐商品2

看实例怎么选择商品1和商品4是关联推荐商品4还是单独推荐商品4:

  • 关联推荐的置信度confidence(14)=suport(14)/suport(1)=1/3
  • 单独推荐时商品4的支持度suport(4)=2/5
  • lift(14)=5/6
  • 结论:lift(14)=5/6,小于1,购买商品1后再推荐商品4还不如直接推荐商品4

总结

  • 商品1支持度:所有订单中包含商品1 的订单数量suport(1)=商品1的订单数量/总订单数量
  • 商品1和商品2的组合支持度:所有订单中包含商品1有包含商品2的订单数量suport(12)=同时包含商品1和商品2的订单数量/总订单数量
  • 商品1和商品2的置信度:confidence(12)=suport(12)/suport(1)
  • 关联规则调教指标“提升度”:lift(12)=confidence(12)/suport(2)
    • 大于1;通过1关联度推荐2效果优于单独推荐2
    • 等于1;两种推荐效果都一样
    • 小于1;单独推荐2效果优于通过1关联推荐2

如果你们公司没给你们发年终奖,记得在产品的推荐页上,全部推荐小于1的。
以上,完毕。

因为感动,所以坚持。
0%