RFM模型是什么?我用Tableau告诉你

爱数据精选
爱数据精选
爱数据精选
609
文章
0
评论
2021-03-2913:02:54 评论 1,830 3212字
摘要

RFM模型是衡量客户价值和客户创利能力的重要工具和手段。该模型通过一个客户的近期交易行为、交易的总体频率以及交易金额三项指标来描述该客户的价值状况。

一、RFM模型简介

RFM模型是衡量客户价值和客户创利能力的重要工具和手段。本文介绍如何通过用户的交易行为的明细数据,利用Tableau对RFM模型进行实现,从而可以对其进行分析。

该模型通过一个客户的近期交易行为、交易的总体频率以及交易金额三项指标来描述该客户的价值状况。

  • R-最近一次消费(Recency),通常影响因素为店铺的记忆强度,接触机会的多少,回购周期等。这个指标会用于决定客户接触策略,接触频次,刺激力度等。
  • F-消费频率(Frequency),通常影响因素为品牌的忠诚度,店铺熟悉度,客户会员等级,购买习惯等。这个指标会用于决定资源投入,营销优先级,活动方案决策等。
  • M-消费金额(Monetary),通常影响因素为消费能力和产品的认可度。这个指标会用于决定推荐商品,折扣门槛,活动方案等。

依据上述RFM这三个指标,可以将客户群划分为8类客户价值。

RFM模型是什么?我用Tableau告诉你

看到以上的8类客户价值,那我们每一类客户的分布到底是怎样的呢?如何才能算出我们想了解的客户价值分类的客户占比?下面我们就来看一下。

RFM模型是什么?我用Tableau告诉你

Tableau实现的客户价值分类效果图

本次我们使用tableau来探究RFM模型,tableau能把数据分为度量维度两种。

二、RFM模型实现

我们分5步用tableau实现RFM模型。

Step1:数据预处理

这一环节主要是对数据格式进行处理,并添加新的数据列便于后续使用。本文数据使用tableau自带数据"示例-超市",数据是客户在超市购物的清单,每件商品一条记录。打开tableau可以在链接到文件中加载数据源文件,或者直接双击打开tableau工作簿。

RFM模型是什么?我用Tableau告诉你

打开tableau加载数据

RFM模型是什么?我用Tableau告诉你

数据样例展示(部分字段)

加载数据源后,tableau会自动根据数据分为维度和度量两种数据列。先对数据源维度进行分组整理,如图中绿框中所示,分为产品,客户,订单,订单地区等,便于后续数据使用时的字段查找。数据源中的【销售额】字段为"¥43"这样的字符串,因此需要对其进行变换拆分,获得【销售额-拆分1】字段,并拖至度量区。

RFM模型是什么?我用Tableau告诉你

维度自动分组,拆分【销售额字段】

Step2:R值建设:最近一次消费(Recency)

首先创建【最近一次的购物时间】,然后通过最近一次消费时间计算【R最近一次购物距离当前的日期差】(也可以是对固定的日期),通过经验或者【R最近一次购物距离当前的日期差】的分布确定【R参考值】,然后通过对比参考值与【R最近一次购物距离当前的日期差】的大小,标注出【R标记值】。最终效果如下:

RFM模型是什么?我用Tableau告诉你

最近一次下单时间分布

通过对【最近一次的购物时间】分布的观察可知,大部分客户在近期在超市有过购物行为。

操作步骤:

在维度或者度量的空白区域右键,点击创建计算字段。

RFM模型是什么?我用Tableau告诉你

创建计算字段

创建【客户最后一次下单时间】,其计算公式为{FIXED[客户 Id]:MAX([订单日期])}(如下图所示),表示对于固定的客户,获取最大的(最近的)的时间,即为客户的最近一次下单时间。

RFM模型是什么?我用Tableau告诉你

创建【客户最后一次下单时间】字段

创建【R最近一次购物距离当前的日期差】,其计算公式为DATEDIFF("day",[客户最后一次下单时间],#2017-01-01#),表示对于固定的客户,计算最后一次下单的时间与2017年1月1日的日期差(由于数据均为2017年之前的数据,因此选择该日期为标准日期)。

创建【R参考值】,其计算公式为{FIXED:MEDIAN([R最近一次购物距离当前的日期差])},此处用【R最近一次购物距离当前的日期差】的中位数作为分界点。如果业务有可以参考的经验值,也可以直接把此处的公式替换为经验值。

创建【R标记值】,其计算公式为IF([R最近一次购物距离当前的日期差]>[R参考值]) THEN 0 ELSE 1 END。查看【最近一次的购物时间】分布,如图进行配置,X轴为【客户最后一次下单时间】,y轴为【客户 Id】,选择快速表计算-总额百分比,可以获取每个月的末次访问占总人群的百分比数量。

RFM模型是什么?我用Tableau告诉你

RFM模型是什么?我用Tableau告诉你RFM模型是什么?我用Tableau告诉你

RFM模型是什么?我用Tableau告诉你

查看最近一次购物时间分布的设置步骤

Step3:F值建设:消费频率(Frequency)

首先创建【F客户累计单数】,然后通过经验或者【F客户累计单数】的分布确定【F参考值】,然后通过对比参考值与【F客户累计单数】的大小,标注出【F标记值】。最终效果如下:

RFM模型是什么?我用Tableau告诉你

客户累计订单数分布

通过对【F客户累计单数】分布的观察可知,客户对超市的访问生命周期大约在5-7次。(此处是对历史累计单量进行讨论,也可由于业务的差异判断固定时间段内的订单数据)。

操作步骤:

  • 创建【F客户累计单数】,其计算公式为{FIXED[客户 Id]:COUNTD([订单 Id]) },表示对于固定的客户,获取累计单数。
  • 创建【F参考值】,其计算公式为{FIXED:MEDIAN([F客户累计单数])}。
  • 创建【F标记值】,其计算公式为IF([F客户累计单数]>[F参考值]) THEN 1 ELSE 0 END。
  • 查看【F客户累计单数】分布,先创建【F客户累计单数(数据桶)】(如图所示,桶的步长可以按照需要设定,此处设定为1),以【F客户累计单数(数据桶)】为X轴,【F客户累计单数】-计数 为Y轴,可获取【F客户累计单数】分布。

RFM模型是什么?我用Tableau告诉你

查看客户累计单数分布的设置步骤

Step4:M值建设:消费金额(Monetary)

首先创建【M客户累计金额】,然后通过经验或者【M客户累计金额】的分布确定【M参考值】,然后通过对比参考值与【M客户累计单数】的大小,标注出【M标记值】。

操作步骤:创建【M客户累计金额】,其计算公式为{FIXED[客户名称]:SUM([销售额])},表示对于固定的客户,获取累计单数。创建【M参考值】,其计算公式为{FIXED:MEDIAN([M客户累计金额])}。创建【M标记值】,其计算公式为IF([M客户累计金额]>[M参考值]) THEN 1 ELSE 0 END。

Step5:客户价值分类建设

操作步骤:创建【 客户价值分类】,其计算公式为

IF [R标记值]=1 and[F标记值]=1 and [M标记值]=1  then "重要价值用户"ELSEIF [R标记值]=0 and[F标记值]=1 and [M标记值]=1  then "重要唤回用户"ELSEIF [R标记值]=1 and[F标记值]=0 and [M标记值]=1  then "重要深耕用户"ELSEIF [R标记值]=0 and[F标记值]=0 and [M标记值]=1  then "重要挽回用户"ELSEIF [R标记值]=1 and[F标记值]=1 and [M标记值]=0  then "潜力用户"ELSEIF [R标记值]=1 and[F标记值]=0 and [M标记值]=0  then "新用户"ELSEIF [R标记值]=0 and[F标记值]=1 and [M标记值]=0  then "一般维持用户"ELSEIF [R标记值]=0 and[F标记值]=0 and [M标记值]=0  then "流失用户"END

查看【客户价值分类】客户分布,用【客户价值分类】作为X轴,用【客户 Id】-计数(不同)作为Y轴,选择快速表计算-总额百分比。在【标记】部分复制【客户 Id】-计数(不同)到【标签】(mac端操作为:鼠标选中同时按command或者control键),可以柱状图上显示出其在人群中的占比。

RFM模型是什么?我用Tableau告诉你

查看不同RFM类型客户占比的设置步骤

至此,你就可以利用RFM模型做出一套完成的客户分类模型。利用该模型,分维度下钻研究,看客户在不同地区,不同客户类型,不同产品品类上客户的表现。下图以下钻地区维度为例,可以看出西北地区的重要价值客户较多,客户构成比例较好。

RFM模型是什么?我用Tableau告诉你

按地区下钻的RFM模型

上述只是基础的RFM实现思路,但是其中关于分类维度的选取(如何定义R,F,M),划分阈值选取是作为一个分析师还可深入探究。数据模型只是分析的开场白,还有很多业务内容是值得我们去深究的。

End.

作者:Suke

本文为转载分享,如果涉及作品、版权和其他问题,请联系我们第一时间删除(微信号:lovedata0520)

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: