Page tree
Skip to end of metadata
Go to start of metadata

1  概述

1.1  概念

研究用户购买行为,分析不同商品之间的关联关系,称为“购物篮分析”。

1.2  价值

通过购物篮分析,找出商品间的关联关系,便于商家调整售卖模式,目的是让顾客产生更多的购买行为。如,顾客购买A商品,通过分析得出会倾向于购买B商品,那么,AB商品是否应该相邻摆放或者捆绑销售?

2  示例场景

3  实现思路

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

  • Support(支持度):表示同时包含AB的事务占所有事务的比例。如果用P(A)表示使用A事务的比例,那么Support=P(A&B)
  • Confidence(置信度):表示使用包含A的事务中同时包含B事务的比例,即同时包含AB的事务占包含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)

提升度反映了关联规则中的AB的相关性,提升度>1且越高表明正相关性越高,提升度<1且越低表明负相关性越高,提升度=1表明没有相关性。

4  实现步骤

4.1  数据源

4.1.1  上传excel文件

4.1.2  添加表资源

4.2  数据模型

4.2.1  新建数据模型

4.2.2  新建SQL查询

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

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  表格设置

  • No labels