1. 概述

购物篮指的是超市内供顾客购物时使用的装商品的篮子,当顾客付款时这些购物篮内的商品被营业人员通过收款机一一登记结算并记录。而购物篮分析就是通过这些购物篮子所显示的信息来研究顾客的购买行为,找出商品间的关联关系,便于商家调整售卖模式,目的是让顾客产生更多的购买行为。

例如顾客购买A商品,通过分析得出会倾向于购买B商品,那么A、B商品是否应该相邻摆放或者捆绑销售?

2. 实现思路

一般我们使用三个指标来度量一个关联规则,这三个指标分别是:支持度、置信度和提升度。

(1)Support(支持度)

指A商品和B商品同时被购买的概率,或者说某个商品组合的购买次数占总商品购买次数的比例。支持度说明了这条规则在所有事务中有多大的代表性,显然支持度越大,关联规则越重要。如果用P(A)表示使用A的比例,那么Support=P(A&B)

支持度计算公式:同时购买A和B订单数/总购买订单数

(2)Confidence(置信度)

置信度是指购买A之后又购买B的条件概率,简单说就是因为购买了A所以购买了B的概率。Confidence=P(A&B)/P(A)

置信度计算公式:同时购买A和B订单数/购买A的订单数

(3)Lift(提升度)

先购买A对购买B的提升作用,用来判断商品组合方式是否具有实际价值,是看组合商品被购买的次数是否高于单独商品的购买次数,大于1说明该组合方式有效,小于1则说明无效。Lift=( P(A&B)/P(A))/P(B)=P(A&B)/P(A)/P(B)。

提升度计算公式:支持度/((购买A次数/总购买订单数)*(购买B次数/总购买订单数))

3. 案例演示

我们以默认数据模型为例,来分析一个超市的售卖产品。出于简化考虑,我们将“子类别”作为商品字段,“订单id”作为“购物篮”字段。

2.1 准备数据


(1)在数据模型编辑页面,将订单表复制一份后与原订单表关联,选择“左合并”,关联依据为“订单_Id”,如下图所示:

(2)添加字段设置名字。将「子类别」复制作为 A 商品,「订单复制表-子类别」复制作为 B 商品。如下图所示:

2.2 构建计算字段


打开报告编辑页面,引入默认数据模型,由第2节的公式可知需要的指标有:同时购买A和B的订单数、购买A的订单数、购买B的订单数、总购买订单数。

(1)购买A的订单数

创建一个名称为“购买A的订单数”的计算字段,对“订单id”进行去重计数,可以得到购买A的订单数。如下图所示:

(2)购买B的订单数

重复上个步骤,创建一个名称为“购买B的订单数”的计算字段,对“订单id1”进行去重计数,可以得到购买B的订单数。

(3)同时购买A和B的订单数

创建一个名称为“同时购买A和B的订单数”的计算字段,指定维度「A商品」和「B商品」对“订单id”进行去重计数,可以得到同时购买A和B的订单数,如下图所示:

(4)总购买订单数

创建一个名称为“总购买订单数”的计算字段,对所有的“订单id”进行去重计数,可以得到一共有多少订单。

(5)计算支持度、置信度、提升度

支持度=同时购买A和B订单数/总购买订单数
置信度=同时购买A和B订单数/购买A的订单数
提升度=支持度/((购买A次数/总购买订单数)*(购买B次数/总购买订单数))

(6)去除AB相同的商品

当A商品和B商品相同时,它们是同一个产品,计算支持度、置信度、提升度没有意义。我们可以过滤掉这部分的商品组合,如下图所示:

2.3 制作图表


(1)选择“图表”控件,在画布上画出“图表”;

(2)将字段“A商品”和“B商品”分别拖入xy轴,布尔字段“去除AB相同的商品”拖入筛选框并选择“true”,在图形属性设置矩形快,然后将字段“支持度”拖入颜色栏并调整色块;

(3)再新建一个表格,展示「支持度」、「置信度」、「提升度」的明细数据。如下图所示:

(4)最终效果图如下: