1 概述
1.1 概念
研究用户购买行为,分析不同商品之间的关联关系,称为“购物篮分析”。
1.2 价值
通过购物篮分析,找出商品间的关联关系,便于商家调整售卖模式,目的是让顾客产生更多的购买行为。如,顾客购买A商品,通过分析得出会倾向于购买B商品,那么,A、B商品是否应该相邻摆放或者捆绑销售?
2 示例场景

3 实现思路
一般我们使用三个指标来度量一个关联规则,这三个指标分别是:支持度、置信度和提升度。
- 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(A&B)/P(A))/P(B)=P(A&B)/P(A)/P(B)。
提升度反映了关联规则中的A与B的相关性,提升度>1且越高表明正相关性越高,提升度<1且越低表明负相关性越高,提升度=1表明没有相关性。
4 实现步骤
4.1 数据源
4.1.1 上传excel文件


4.1.2 添加表资源

4.2 数据模型
4.2.1 新建数据模型

4.2.2 新建SQL查询

基于创建的数据源,完成支持度、置信度、提升度的计算。

with t as (
select
订单_ID,
产品_ID,
类别,
子类别,
产品名称
from
PUBLIC.订单
),
t1 as (
select
a.子类别 as A类别,
b.子类别 as B类别,
count(distinct 订单_ID) as buy_together
from
t a
left join t b on a.订单_ID = b.订单_ID
where
a.子类别 <> b.子类别
group by
a.子类别,
b.子类别
),
t2 as (
select
count(distinct 订单_ID) as 总订单数
from
t
),
t3 as (
select
A类别,
B类别,
buy_together,
总订单数,
cast(buy_together as float) / 总订单数 as 支持度
from
t1,
t2
order by
buy_together desc
),
t4 as (
select
子类别,
count(distinct 订单_ID) as 类别订单数
from
t
group by
子类别
),
t5 as (
select
A类别,
B类别,
buy_together,
总订单数,
b.类别订单数 as A类别订单数,
c.类别订单数 as B类别订单数,
支持度,
cast(buy_together as float) / b.类别订单数 as 置信度
from
t3 a
left join t4 b on a.A类别 = b.子类别
left join t4 c on a.B类别 = c.子类别
),
t6 as (
select
A类别,
B类别,
buy_together as 同时购买订单数,
总订单数,
A类别订单数,
B类别订单数,
支持度,
置信度,
支持度 /(
(cast(A类别订单数 as float) / 总订单数) *(cast(B类别订单数 as float) / 总订单数)
) as 提升度
from
t5
)
select
*
from
t6
where
提升度 >= 1
and 支持度 >= 0.05
order by
同时购买订单数 desc
4.2.3 设置度量

保存模型,自动抽取数据。
4.3 自助仪表盘
4.3.1 新建自助仪表盘

4.3.2 图形设置

4.3.3 表格设置
