此部分内容来自对《Python数据分析与数据化运营》4.4节 关联分析 的读书笔记。
关联分析通过寻找最能够解释数据变量之间关系的规则,来找出大量多元数据集中有用的关联规则,它是从大量数据中发现多种数据之间的一种方法;另外,它也可以基于时间序列对多种数据间的关系进行挖掘。关联分析的典型案例是“啤酒与尿布”的捆绑销售,是指购买了尿布的用户还会购买啤酒。
关联规则相对于其他数据挖掘算法挖掘模型更加简单,易于业务理解和应用。
关联规则的典型应用场景是购物篮分析,通过分析用户同时购买了哪些商品来分析用户购买习惯。这种策略还会应用于捆绑销售、库存管理、商品促销设计、页面促销设计、货架设计、商品陈列设计、页面内容排版、推荐系统、商品价格策略和基于购买的用户特征分析等。
11.1 频繁规则不一定是有效规则
一般用支持度、置信度、提升度三个指标来度量一个关联规则。
Support(支持度):表示同时包含A和B的事务占所有事务的比例。如果用P(A)表示使用A事务的比例,那么Support=P(A&B)
Confidence(置信度):表示使用包含A的事务中同时包含B事务的比例,即同时包含A和B的事务占包含A事务的比例。公式表达:Confidence=P(A&B)/P(A)
Lift(提升度):表示“包含A的事务中同时包含B事务的比例”与“包含B事务的比例”的比值。公式表达:Lift=P(B|A)/P(B)。
提升度反映了关联规则中的A与B的相关性,提升度>1且越高表明正相关性越高,提升度<1且越低表明负相关性越高,提升度=1表明没有相关性。
所谓频繁规则指的是关联结果中支持度和置信度都比较高的规则,而有效规则指的是关联规则真正能促进规则中的前后项的提升。在做关联结果分析时,频繁规则往往会被“想当然”地认为是有效规则,但结果并不是如此。
假设数据集中有1000条事务数据用来显示购买苹果和香蕉的订单记录。其中有600个客户的订单记录中包含了苹果,有800个客户的订单记录中包含了香蕉,而有400个客户同时购买了苹果和香蕉。假设一条关联规则,用来表示购买了苹果的客户中很多还购买了香蕉,苹果->香蕉。
- 支持度:P(A&B) = 40%
-
置信度:P(A&B)/P(A) = 40%/60%=67%
如果只看支持度和置信度,似乎很好的说明了苹果和香蕉之间的频繁关系,买了苹果的客户有67%都会购买香蕉。但是如果忽略购买苹果的事实,只购买香蕉的客户占80%。这显示购买苹果这种条件不会对购买香蕉产生积极的促进效果,反而会阻碍其销售,苹果和香蕉之间是一种负相关的关系。 -
提升度:40%/80%=0.5
当提升度为1时,说明应用关联规则和不应用关联规则产生的效果相同;当提升度>1时,说明应用关联规则比不应用关联规则能产生更好的效果。当提升度小于1时,关联规则具有负相关的效果,则该规则是无效规则。
在做关联规则评估时,需要综合考虑支持度、置信度和提升度三个指标,支持度和置信度当然越大越好。但需要注意的是在低频、客单价较高的领域,关联规则会呈现稀疏性,其支持度百分比可能只有几个百分点。对于提升度的指标,通常关注其大于1的指标。
11.2 不要被啤酒尿布的故事紧固你的思维
除了啤酒尿布的分析模式以外,关联分析还可以应用到更多的运营分析场景。
11.2.1 相同维度下的关联分析
相同维度下的关联分析指的是关联分析的前后项是相同逻辑的内容维度。例如商品-商品,内容-内容。
(1) 网站页面浏览关联分析
网站页面浏览关联分析可以帮助我们找到不同页面之间的频繁访问关系,以分析用户特定的页面浏览模式。这种频繁模式可用于了解不同页面之间的分流和引流关系,尤其是大型落地页的分析;也可以用来做不同页面之间的页面浏览推荐、利于提高用户体验和转换率。
(2) 广告流量关联分析
广告流量关联分析是针对站外广告投放渠道用户浏览和点击的行为分析,该分析主要用于了解用户的浏览和点击广告的模式。
(3) 用户关键字搜索关联分析
通过对用户搜索关键字的关联分析,可以得到类似于搜索了苹果之后又搜索了iPhone,搜索了三星之后又搜索了HTC,这种模型可用于搜索推荐。搜索联想等场景,有利于改进搜索体验,提高客户目标转换率。
11.2.2 跨纬度关联分析
(1) 不同场景的关联分析
发生的事件处于不同的时间下,但通常都在一个约束时间范围内(例如session、会话)。这种模式可以广泛用于分析运营中关注的要素,例如用户浏览商品与购买商品的关联分析、关注产品价格与购买商品价格的关联分析、用户加入购物车与提交订单的关联分析等。
(2) 相同场景下的事件分析
发生的事件在一个场景下,但属于不同的时间点。例如用户在同一个页面中点击不同功能、选择不同的应用、下载不同的白皮书等。这类信息可以帮助我们了解用户对于功能应用的先后顺序,有利于做产品优化和用户体验提升;对于不同产品功能组合、开发和升级有了更加明确的参考方向。便于针对用户习惯性操作模式做功能迭代;同时针对用户频繁查看和点击的内容,可以采用打包、组合、轮转等策略,帮助客户尽量缩小内容查找空间和时间,也能提升内容曝光度和用户体验度。
11.3 被忽略的“负相关”模式真的没有用武之地吗
对于支持度和置信度高而支持度低的(“负相关”)规则,我们可以将它作为组合打包的控制条件来优化组合策略。典型的应用场景:
- 在商品销售策略中,不将具有互斥性的商品放到同一个组合购买计划中。
- 在站外广告媒体的投放中,不将具有互斥性的多个广告媒体做整合传播或媒体投放。
- 在关键字提升信息中,不将具有互斥性的关键字提示给客户。
- 在页面推荐的信息流中,不将具有互斥性的信息流展示给用户。
11.4 频繁规则只能打包组合应用吗
常见的关联规则基于两种模式产生:基于同一个时间内发生的事件以及基于不同时间下发生的事件。
- 基于同一时间内发生的事件:这种模式发生在同一时间点,例如购物篮分析就是用于在一次购物篮中同时购买的商品。
- 基于不同时间下发生的事件:这种模式发生在不同的时间点,但是可以通过特定的主键信息关联,例如用户在不同日期购买了多件商品,这种场景下使用用户ID作为事务型数据的主键。
在通过上述规则分析得到关联结果后,第一反应是应该把这些商品放到一起做打包组合应用。
但除了打包组合的思维方式外,还可以这样考虑应用:既然用户具有较强的发生关联事件关系的可能性,那么可以基于用户的这种习惯,将前后项内容故意分离开,利用用户主动查找的时机来产生更多价值或完成特定的目标。
这种模式不是所有的关联规则都能生效,需要具备一定的条件: - 关联规则必须是强规则且有效规则。
- 发生关联的前后项之间需要有非常强的完成动机。
- 不能过多的降低用户体验。
11.5 关联规则的序列模式
序列模式相较于普通关联模式最大的区别是不同的事件之间具有明显的时间区隔,以及先后的序列发生关系,能得到类似于“完成某个事件之后会在特定的时间周期内完成其他事件”的结论。常见的运营应用场景:
- 客户购买行为预测:基于用户上次购买时间和商品信息,推断用户下次购物的时间和订单信息。
- Web访问模式预测:基于用户上次网站到达时间和到访信息,推断用户下次最可能从哪些媒体渠道进入网站。
- 关键字搜索预测:基于用户上次搜索关键字的时间和关键字,推断用户下次最可能搜索哪些关键字。