RFM分析

<< Click to Display Table of Contents >>

当前位置:  进阶学习 

RFM分析

复制链接

1.背景和痛点

随着时代的发展,零售业传统的生产导向已不再适应市场需求。需求导向型已成为未来零售业的发展方向。需求导向型的重点是消费者,如何实现聚焦正确的客户、提供正确的产品、以最低成本实现触达,同时将客户与商品相对应,实现个性化推荐和交叉销售是未来零售业的主要方向。在当今激烈的市场竞争环境中,企业如何更好地理解和管理客户关系是一大挑战。许多企业面临以下问题:

客户粘性偏低,客户流失率高

难以准确预测客户的消费需求和购买行为

不同产品的营销资源分配不均,针对性较弱

缺乏有效的客户分层和差异化营销策略

如何实现客户分层,进行精准营销?RFM分析当属最经典的模型。

2.RFM分析模型

RFM(最近一次交易时间、交易频率、交易金额)是一种强大的回头客分析方法,能够帮助我们全面了解客户的价值和消费行为模式。通过RFM分析,我们能够以生动有趣的方式深入探索客户行为习惯,并制定出针对他们消费模式的精准销售策略。

RFM分析的核心思想如下:

Recency(最近一次交易时间):衡量客户与企业最近一次交易的时间间隔,反映客户的忠诚度和黏性。

Frequency(交易频率):衡量客户在一定时间内的交易次数,反映客户的活跃度。

Monetary(交易金额):衡量客户在一定时间内的总交易金额,反映客户的价值。

通过对这三个指标进行打分和组合,可以将客户划分为不同的价值层级,针对不同层级的客户制定差异化的营销策略。

3.实现路径

示例数据:RFM分析

预期效果:

rfm_analysis1_zoom57

3.1数据准备

3.1.1 创建excel数据集

1)以excel类型的数据举例,首先我们点击右侧工具栏【创建数据集-excel数据集】,点击上传将对应的excel数据文件进行上传。

rfm_analysis2_zoom29

rfm_analysis3_zoom44

2)导入后,我们根据实际情况,选择对应的sheet页与设置,随后点击下方的【刷新数据】生成对应数据。

rfm_analysis4_zoom27

3)生成数据后我们点击字段名称旁的更多菜单,可以进行一些数据处理操作,例如缺失值填充,数据脱敏等。最后我们将数据集进行保存,以便后续在报告制作中使用。

rfm_analysis5_zoom40

3.1.2 如何使用sql数据集获取客户消费相关指标

假设我们的原始表中有以下字段:

【消费日期】:订单产生的日期

【消费金额】:每一笔订单所消费的金额

【客户名称】:客户的名称

1)打开数据集界面,点击新建sql数据集

2)最近一次消费时间间隔(R):找到每位用户的最近一次交易日期,并计算它们距离今天的天数。

 SELECT user_id,

MAX(transaction_date) AS last_transaction_date, --- 最近购买日期

(?{_THIS_FULL_DAY_}- lt.last_transaction_date) AS recency_days  ---与代表今天的内置参数相减获得日期间隔

   FROM transactions

   GROUP BY user_id

3)消费次数(F):接下来,我们计算每位用户在指定时间段内的交易次数。

   SELECT user_id,

          COUNT(*) AS transaction_count

   FROM transactions

   WHERE transaction_date BETWEEN '2023-08-23' AND '2024-08-23' -- 指定时间段

   GROUP BY user_id

)

4)消费金额(M)

  SELECT user_id,

          SUM(amount) AS total_amount

   FROM transactions

   WHERE transaction_date BETWEEN '2023-08-23' AND '2024-08-23' -- 指定时间段

   GROUP BY user_id

5)通过自服务数据集,通过user_id作为联表条件进行联表,先将两张表进行关联,再继续关联第三张表即可

rfm_analysis6_zoom40

3.1.3 获取用户评级

3.1.3.1 获取RFM评级

1)通过计算列进行判断,根据关键指标是否大于客户总体平均值水平进行评价,其中在

if((col['平均总体xxx'] >col['用户平均xxx'] ) then 1 else 0

中,小于总体平均的设为 0,大于总体平均的设为 1 ,使得 1 都是保持正向特征,0 保持负向特征。

rfm_analysis7_zoom42

2)次均消费金额评价:当用户平均单次消费金额大于用户总体平均值时,标记为 1 ,否则标记为 0 ,公式为

if((col['平均单次消费金额'] >col['用户平均消费金额'] ) then 1 else 0

3)消费次数评价:当用户消费次数大于用户总体平均值时,标记为 1 ,否则标记为 0 ,公式为

if((col['消费次数'] >col['平均消费频次'] ) then 1 else 0

4)最近一次消费距今天数评价:当用户最近消费时间距今天数小于用户总体平均值时,标记为 1 ,否则标记为 0 ,公式为

if((col['最近一次消费距今天数'] >col['最近一次消费距今平均天数'] ) then 1 else 0

3.1.3.2 进一步将评分划分成五个层级

1)在这个基础上我们还可以进一步进行更细致的评分划分,用于后续其他分析使用。依照这个思路我们可以参考以下写法:

if((col['最近一次消费距今天数']*0.2 >col['最近一次消费距今平均天数'] ) then 1 elseif ((col['最近一次消费距今天数']*0.4 >col['最近一次消费距今平均天数'] ) then 2

……

以此类推。

3.1.3.3划分客户类型

1)   已经得到客户的特征向量值,根据以下表格可将客户划分分类:

客户特征

客户分类

重要价值客户(111)

最近消费时间近、消费频次和消费金额都很高(VIP)

重要发展客户(101)

最近消费时间较近、消费金额高,但频次不高,忠诚度不高,很有潜力的用户,必须重点发展。

重要保持客户(011)

最近消费时间较远,消费金额和频次都很高。

重要挽留客户(001)

最近消费时间较远、消费频次不高,但消费金额高的用户,可能是将要流失或者已经要流失的用户,应当基于挽留措施。

一般价值客户(110)

最近消费时间近,频率高但消费金额低,需要提高其客单价。

一般发展客户(100)

最近消费时间较近、消费金额,频次都不高。

一般保持客户(010)

最近消费时间较远、消费频次高,但金额不高。

一般挽留客户(000)

都不高。

2)数据集中新建计算列,由于原本的rfm数据为数值类型,我们需要先使用formatnumber函数转换成字符串后使用concat函数进行拼接。

公式为  

concat(formatNumber(col['R数据'],'#'),formatNumber(col['F数据'],'#'),formatNumber(col['M数据'],'#'))

rfm_analysis8_zoom57

3)使用【映射】功能对评级信息进行类型名称映射。

rfm_analysis9_zoom34

rfm_analysis10_zoom40

这样我们的数据就准备完成了。

3.2组件制作

3.2.1标题部分

1)我们可以使用【模板】功能,点击右侧工具栏【组件】—【模板】,将自己想要的模板拖入画布。

rfm_analysis11_zoom67

2)双击模板的文本部分,可以对标题内容进行编辑修改。

rfm_analysis12_zoom71

3)预期完成效果展示

rfm_analysis13_zoom67

3.2.2 柱图部分

1)将一个柱状图组件拖入画布中。

rfm_analysis14_zoom71

2)将【客户名称】绑定至“列”和“标签”处,并将度量类型调整为【不同值计数】,将【客户类型】绑定至“行”和“颜色”处。

rfm_analysis15_zoom78

3)点击颜色字段后的三角图标,选择编辑颜色,我们可以根据喜好调整颜色。

rfm_analysis16_zoom83rfm_analysis17_zoom52

4)点击“大小”图标,我们可以调整柱子的大小。

rfm_analysis18

5)点击右侧工具栏,选择【轴】,我们可以调整轴客户的最大值和最小值等配置。

rfm_analysis19_zoom40

6)预期效果展示

rfm_analysis20_zoom53

3.2.3 指标卡部分

1)将一个环状图组件拖入画布。

rfm_analysis21_zoom53

2)将【R】,【F】,【M】数据绑定至组件,度量类型调整为平均;绑定客户id,度量类型调整为计数,并修改为对应的别名。

rfm_analysis22

3)先选中【总用户数】对应的指标卡部分,右侧工具栏—【图形】,勾选“设置第一列为主指标”。

rfm_analysis23_zoom34

4)调整颜色与大小调整,方法同柱状图。

5)预期效果展示。

rfm_analysis24_zoom71

3.2.4 点图部分

1)拖入一个点图组件。

rfm_analysis25_zoom60

2)将【F】绑定至列,【R】绑定至行,【M】绑定至颜色将id绑定至标签,度量设置为计数。

rfm_analysis26_zoom60

3)预期效果展示。

rfm_analysis27_zoom80

3.2.5 表格部分

1)将一个普通表组件拖入画布。

rfm_analysis28_zoom58

2)将需要展示的数据,绑定至数据列,并调整顺序,绑定顺序由上到下,对应表格从左到右。

rfm_analysis29_zoom59

3)点击右侧工具栏—【格式】,我们可以根据喜好,对表格样式以及组件格式进行调整。如果想对单元格进行单独修改,框选对应单元格状态下,调整格式即可。

rfm_analysis30_zoom41

4)预期效果展示。

rfm_analysis31_zoom34

3.2.6 传参部分

1)拖入下拉参数组件。

rfm_analysis32

2)以时间年和月举例,首先我们在制作报告中,右侧工具栏—【数据】界面,点击时间数据右侧图表,选择【新建日期表达式】,勾选年和月数据。

rfm_analysis33_zoom71

rfm_analysis34_zoom40

3)将数据绑定至下拉参数组件,在右侧工具栏—【设置】中,修改组件名称为“年”和“月”。

rfm_analysis35_zoom72

4)双击参数组件前的文本标题,进行文本编辑修改。

rfm_analysis36_zoom71

5)选择需要参与传参的组件,进行传参配置。

rfm_analysis37

rfm_analysis38_zoom48

3.2.6文本部分

1)拖入一个富文本组件

rfm_analysis39_zoom83

2)双击组件后,进入到文本编辑界面,我们可以在这里对字体颜色等格式与展示效果进行调整。

rfm_analysis40_zoom41

3)同时我们也可以将报告中展示信息,或者用到的参数,进行引用。

rfm_analysis41_zoom42

 

4.总结

通过vividime BI构建的RFM分析报表不仅直观展示了客户价值的关键信息,而且极大地提高了数据分析的效率和准确性,充分体现出了vividime BI的强大功能和易用性。可视化操作方面,报表中的图表和图形设计精美,使得RFM分析结果一目了然,即使是非专业人士也能轻松理解客户价值的分布状况;数据处理方面,vividime BI能够高效处理大量数据,即使是在分析大规模客户群体时也能保持快速响应,保证了RFM分析过程的流畅性和可靠性;交互探索方面,用户可以通过交互式界面轻松探索数据细节,比如通过下钻功能深入查看特定客户群体的数据,这对于深入了解客户行为非常有帮助。

希望在未来,vividime BI能继续与大家共同进步!