RFM模型-Tableau实战

RFM模型概述

R=Recency距离最近一次交易的时间:用来代表客户粘性,分5、4、3、2、1,五个等级,5代表最后一次交易距离当前时间进、1代表最后一次交易距离当前时间远
F=Frequency交易频率:用来代表客户忠诚度,分5、4、3、2、1,五个等级,5代表交易次数/频率大客户忠诚度高、1代表交易次数/频率小客户忠诚度低
M=Monetary交易金额:用户代表客户贡献的收入,分5、4、3、2、1,五个等级,5代表交易金额大、1代表交易小

RFM三个维度、每个维度有五个值,理乱上会有125种客户层级,本文把客户分为重要、中等、一般三层,每层4种,共划分为12类客户群体,如下:

客户类型 R(客户粘性) F(忠诚度) M(收入)
重要价值 R>=4 F>=4 M>=4
重要保持 R<4 F>=4 M>=4
重要发展 R>=4 F<4 M>=4
重要挽留 R<4 F<4 M>=4
中等价值 R>=3 F>=3 2<=M<4
中等保持 R<3 F>=3 2<=M<4
中等发展 R>=3 F<3 2<=M<4
中等挽留 R<3 F<3 2<=M<4
一般价值 R>=2 F>=2 M<2
一般保持 R<2 F>=2 M<2
一般发展 R>=2 F<2 M<2
一般挽留 R<2 F<2 M<2

RFM值划分的依据:

  • 简单粗暴型(固定值)
    R=Recency距离最近一次交易的时间
    5天:5
    10天:4
    15天:3
    20天:2
    其它:1
    F=Frequency交易频率/次数
    <=1次:1
    1<至<=4次:2
    4<至<=7次:3
    7<至<=10次:4
    其它:5
    M=Monetary交易金额
    <=100:1
    100<至<=500:2
    500<至<=1000:3
    1000<至<=1500:4
    其它:5
    具体间距值根据实际业务动态分配

  • 简单算法型(根据算法算出固定值)
    R值:取所有客户的距离最近一次交易的时间,算出平均值、中位值、四分位数等,然后确定R值划分依据
    F值:取所有客户的交易次数,算出平均值、中位值、四分位数等,然后确定F值划分依据
    M值:取所有客户的交易金额,算出平均值、中位值、四分位数等,然后确定M值划分依据
    注意这个计算区间可以是最近一年、两年全部生命周期等

  • 根据k-means等聚类算法自动聚合人群

RFM模型 tableau 实现

数据源:

RFM模型-Tableau实战_第1张图片
数据源.png

计算RFM模型需要包含订单编码、会员ID、订单金额、创建时间四列
计算R值:根据 创建时间计算每个会员最后一次下单时间;
计算F值:根据 订单编码计算每个会员的下单次数;
计算M值:根据 订单金额计算每个会员的下单金额;
源数据中一行代表一个订单,需要根据 会员编码排重单个会员的R、F、M值;

简单粗暴型(固定值) tableau实现
计算R(最后一次下单距离当前时间)
1.计算最近一笔交易距离当前时间

RFM模型-Tableau实战_第2张图片
计算最近一笔交易距离当前时间.png

DATEDIFF('day',[gmt_create],#2019-05-25#)

2.创建参数R


RFM模型-Tableau实战_第3张图片
R=5.png

5天:5
10天:4
15天:3
20天:2

3.计算R的人数


RFM模型-Tableau实战_第4张图片
计算R的人数.png
IF  [最近一笔交易距离当前时间] <= [R=5] THEN '5'
ELSEIF [最近一笔交易距离当前时间] <= [R=4] THEN '4'
ELSEIF [最近一笔交易距离当前时间] <= [R=3] THEN '3'
ELSEIF [最近一笔交易距离当前时间] <= [R=2] THEN '2'
ELSE '1'
END

4.查看R的人数


RFM模型-Tableau实战_第5张图片
查看R的人数.png

以上计算方式,没有根据会员ID排除重复项,需要按照以下修复一下:
0.计算每个人最后一次下单时间

{FIXED [member_id]:MAX([gmt_create])}

1.计算最近一笔交易距离当前时间

DATEDIFF('day',[最后一次下单时间],#2019-05-25#)

后面再执行2、3、4步骤就正常了

函数解释
DATEDIFF(单位,开始时间,结束时间):结束时间-开始时间
[gmt_create]:订单创建时间
2019-05-25:报表是5-24号导出的,故用5-25算当前时间
FIXED:使用指定的维度计算聚合
MAX:计算最大值

计算F(计算消费次数)

1.计算每个人的交易次数


RFM模型-Tableau实战_第6张图片
计算每个人的交易次数.png
{ FIXED [member_id]:COUNTD([code])}

2.创建参数F


RFM模型-Tableau实战_第7张图片
创建参数F.png

<=1次:1
1<至<=4次:2
4<至<=7次:3
7<至<=10次:4
其它:5

3.计算F的人数


RFM模型-Tableau实战_第8张图片
计算F的人数.png
IF  [交易次数] <= [F=1] THEN '1'
ELSEIF [交易次数] <= [F=2] THEN '2'
ELSEIF [交易次数] <= [F=3] THEN '3'
ELSEIF [交易次数] <= [F=4] THEN '4'
ELSE '5'
END

函数解释
COUNTD:返回组中不同项的数量

计算M(计算消费金额)
1.计算每个人的交易金额

RFM模型-Tableau实战_第9张图片
计算每个人的交易金额.png

{ FIXED [member_id]:SUM([payable_money])}

2.创建参数M


RFM模型-Tableau实战_第10张图片
创建参数M.png

<=100:1
100<至<=500:2
500<至<=1000:3
1000<至<=1500:4
其它:5

3.计算M的人数


RFM模型-Tableau实战_第11张图片
计算M的人数.png
IF  [交易次数] <= [F=1] THEN '1'
ELSEIF [交易次数] <= [F=2] THEN '2'
ELSEIF [交易次数] <= [F=3] THEN '3'
ELSEIF [交易次数] <= [F=4] THEN '4'
ELSE '5'
END

计算RFM

  1. 创建RFM计算字段


    RFM模型-Tableau实战_第12张图片
    创建RFM计算字段.png
IF     [R值]>=4 AND [F值]>=4 AND [M值]>=4 THEN '重要价值客户'
ELSEIF [R值]<4  AND [F值]>=4 AND [M值]>=4 THEN '重要保持客户'
ELSEIF [R值]>=4 AND [F值]<4  AND [M值]>=4 THEN '重要发展客户' 
ELSEIF [R值]<4  AND [F值]<4  AND [M值]>=4 THEN '重要挽留客户' 


ELSEIF [R值]>=3 AND [F值]>=3 AND 2<=[M值] AND [M值]<4 THEN '中等价值客户'
ELSEIF [R值]<3  AND [F值]>=3 AND 2<=[M值] AND [M值]<4 THEN '中等保持客户'
ELSEIF [R值]>=3 AND [F值]<3  AND 2<=[M值] AND [M值]<4 THEN '中等发展客户'
ELSEIF [R值]<3  AND [F值]<3  AND 2<=[M值] AND [M值]<4 THEN '中等挽留客户'


ELSEIF [R值]>=2 AND [F值]>=2 AND [M值]<2 THEN '一般价值客户' 
ELSEIF [R值]<2  AND [F值]>=2 AND [M值]<2 THEN '一般保持客户' 
ELSEIF [R值]>=2 AND [F值]<2  AND [M值]<2 THEN '一般发展客户'
ELSEIF [R值]<2  AND [F值]<2  AND [M值]<2 THEN '一般挽留客户'

END
  1. 查看RFM的值


    RFM模型-Tableau实战_第13张图片
    查看RFM的值.png

    注意:由于一般价值、一般保持、重要发展、重要挽留类型的客户数量为0,故没有展示出来

创建dashboard

RFM模型-Tableau实战_第14张图片
dashboard.png

你可能感兴趣的:(RFM模型-Tableau实战)