作为产品推荐中最常用的算法之一,你对关联规则知道多少呢?本文从概念和基本指标说起,向你介绍一些指标应用的方法。
关联规则是产品推荐中最常用的算法之一,简单地说,就是通过客户的历史购买信息,挖掘出客户在所有产品间按照某种顺序进行选择的可能性。然而,关联规则中的常用度量指标并不唯一,三四个指标相互联系,如何进行合理的排列组合、找出值得向客户推荐的产品呢?我们将从简化的实际场景跟大家探讨一下究竟如何应用这些指标去做产品推荐。
首先,我们先来了解一下关联规则中所涉及到的一些指标:
1. 产品的期望概率
产品期望概率就是对于任意一个客户来说,购买某一产品的可能性。
如果我们现在有两个产品A和B,那么A、B的期望概率就是所有客户中购买了产品A或者产品B的比例,也就是P(A)和P(B)。
2. 产品的置信度和支持度
置信度是用来衡量客户在选择一个产品(即前项产品)后,又选择另一个产品(即后项产品)的可能性。比如,我们想知道有多少客户选择了A之后又选择了B,其实就是统计学中条件概率,表达式为:
P(B|A)=P(A,B)/P(A)
分母中P(A,B)的意思为同时选择A、B的概率,也就是关联规则中的支持度。从公式中,我们可以看出,置信度就是支持度与产品A(前项产品)期望概率的比值。
3. 产品的提升度
那么,是不是产品的置信度越高,我们就越应该给买了产品A的客户推荐产品B呢?
答案并非如此。举个例子来说,如果产品B是一个特别大众的产品,几乎所有客户都会购买,而产品A却是一种小众产品,只有一小撮人会购买,那么,置信度
P(B|A)=P(A,B)/P(A)
会无限接近于1,相应的支持度也会很高。也就是说,虽然购买了产品B客户客几乎都会购买产品A,但产品B的高购买率并非受益于产品A,不是因为客户先购买了产品A带来的提升。
所以,为了测量先购买某一产品对另一产品购买度的提升比例,关联规则中提出了提升度这一指标,表达式为置信度与后项产品期望概率的比值,即
P(B|A)/P(B)=P(A,B)/(P(A)*P(B))
只有当提升度大于1,才能说明购买过产品A的客户比任意一个客户有更高可能性去购买产品B,才有推荐的必要性。
通常在关联规则中,我们会采用Apriori算法去计算以上指标,篇幅所限,具体算法就不再细说了,感兴趣的读者可以寻找相关资料。下面就展示一个通过算法得到的规则表吧,来看看业务中会用到的信息究竟长什么样吧:
需要注意的是,在算法中我们已经自行排除了一些出现概率较低的规则,一般会将产品同时发生率和置信度根据数据本身的情况设定一个阈值。
但是,有了以上几个指标数据之后,我们又要如何给客户进行产品推荐呢?实际应用中,我们可以从两个方向出发:
1. 以规则为导向
举个例子,现在有一个客户进入店中,我们通过历史信息知道了他曾经购买过何种产品,接下来我们要如何给他做推荐呢?
以规则为导向的意思是说,通过筛选购买前项产品的客户群,来推荐其购买右边的产品。这里其实需要解决两个问题,一是客户购买了多种产品,那要针对哪一种种前项产品做推荐呢?二是对于同一前项产品,又该推荐何种后项产品呢?
解决这两个问题也就是要解决两个顺序,即前项产品的推荐排序和相同前项产品下的后项产品排序。前项产品推荐排序方面,建议以前项产品的期望概率出发,从大到小进行排序。当确定了前项产品后,推荐后项产品的顺序则应该综合考虑提升度和置信度。由于提升度的大小是由置信度(分母)和后项期望概率(分子)的比值决定,所以会存在由于后项期望概率(分子)过小、而导致提升度反而比较大的情况。因此,在后项推荐的时候,如果一定要有个先后顺序,则是先筛选出提升度大于1的规则,随后再根据置信度的大小进行排序。
2. 以产品为导向
以产品为导向,意味着你有一款待销的产品,需要通过回溯规则的左边,找到最有可能购买的客户。这种情况下,我们已经确定了后项期望概率,就可以同样通过提升度大于1的规则,随后在根据置信度的大小进行排序,找到推荐关系比较强的产品的购买者。
原文地址:http://www.dashengzb.cn/articles/a-301.html
(更多大数据与商业智能领域干货、或电子书,可添加个人微信号(dashenghuaer))