点击查看【bilibili】

象限法

下图,横坐标是平台的综合度,纵坐标是用户的使用频次。按照:高频综合、高频垂直、低频综合、低频垂直,将各APP分布在4个象限
image.png

数据分析中,比较常用的象限法是RFM模型,将用户按照R(最近一次消费)、F(消费频率)、M(消费金额)分布在8个象限。
image.png

以下内容摘自《最详细的RFM模型实操案例!让用户行为分析事半功倍!》

一、什么是RFM模型?

R是指用户的最近一次消费时间,用最通俗的话说就是,用户最后一次下单时间距今天有多长时间了,这个指标与用户流失和复购直接相关。
F是指用户下单频率,通俗一点儿就是,用户在固定的时间段内消费了几次。这个指标反映了用户的消费活跃度。
M是指用户消费金额,其实就是用户在固定的周期内在平台上花了多少钱,直接反映了用户对公司贡献的价值。
而RFM模型就是通过一个客户的近期购买行为、购买的总体频率以及花了多少钱三项指标,来描述该客户的价值状况。

二、RFM模型有什么作用?

RFM模型可以对客户的终生价值做一个合理的预估,基于一个理想的客户特征来衡量现实中客户价值的高低,通过此类分析,定位最有可能成为品牌忠诚客户的群体,让我们把主要精力放在最有价值的用户身上。

三、怎么构建RFM模型?

下面我们就直接开始进行实操教程,以某家零售商的销售数据为数据源,针对其用户行为简单分析一下,总结来说有下面几个步骤:

1、人群划分

进行客户行为分析的第一步是按照企业实际业务需求对您的客户群进行分类,人群细分参考的属性主要分为三大类:

  • 基础属性:如性别、年龄、地域
  • 兴趣属性:如媒体偏好、交易行为
  • 自定义属性:基于行业的特征定义的属性,比如乳业需要知道这个人有没有孩子

2、明确指标

也就是通过excel或者BI工具计算出每个客户的RFM指标,通过客户名称、消费时间、消费金额来处理出上次交易间隔R、交易频率F、交易金额M三个原始字段,如下图所示。
image.png
但是要注意的是这三个指标不是死板不变的,要针对自己的行业特点灵活变通,比如在金融行业,最近一次购买时间可能并不适用,此时可以考虑采用金融产品持有时间来代替R,这样更能体现用户与金融企业建立联系时间的长短。

而我们这次要使用的数据指标有四个,分别为“订单额”、“订单量”、“下单时间”和“客户方”,其他指标如“订单类型”、“地区”等我们暂时先不用。
image.png

3、数据连接

这里我直接导入的Excel表,能方便地处理非及时性数据。

4、数据清洗

在进行数据分析之前,我们首先要做的就是对数据进行初步加工,因为数据源中很多脏数据,会影响我们的分析结果,需要先将其筛选出去,比如一些空值、异常值、特殊文本显示等等。

我们通过上面的数据表可以看出,同一个客户如果下单两次,就会产生两个数据,而RFM模型中要求的数据是“最近一次下单时间”、“最近一段时间内的下单次数”以及“最近一段时间内的购买金额”,因此我们要想办法计算用户行为次数。
具体方法是新增一列,命名为“次数”,数值设为常数1,主要目的是为了后面方便计算个数,同一个客户出现了多少次数值1,就说明下单了几次;
然后我们选择“分组汇总”,以“客户名”为主要汇总项,“次数”项选择加和汇总,代表某个客户出现了几次;同时将“订单时间”设置为“最晚时间”,也就是距离今天最近的一次消费时间,这样基本的数据清洗就完成了。
但是因为还要计算客户最近一次购买有多远,而数据表中仅仅是下单时间,所以需要用函数计算一下下单时间与今天的天数。
**

5、切分指标

因为我们要把用户按照三个维度指标进行划分,也就相当于将用户放到下面这个正方体中:

因此我们要对指标进行切分,设定阈值,也就是为指标设定正负值,确保三个指标将用户分为八个象限。通常比较常用的方法就是等频和等宽进行切分,比如将用户购买花费进行平均值计算。

但是平均值只适合于均类数据,对于一些不规则数据,平均值会造成很大的误差:

比如一家公司有三家客户,订单额分别为1万、5千和1百,显然重要客户应该是前两个。而三个客户的订单平均值为5033,如果按照平均值划分数据,那么只有第一个客户符合重要客户的标准,这显然是不对的。

这时候我们就要用到聚合的功能,简单说,聚合功能就是一堆数据按照内在特征的不同进行划分,不同类的数据之间的差别一般是很大的,这样就能找到大数据量中的“中心点”,而非平均点。

在FineBI中我们可以直接使用聚合功能,聚合指标选择“订单金额“、”时间“、”次数“,聚合数选择”3“,聚合方式选择”欧氏距离“,这样就可以得到最终的聚合结果了,最终可以计算出每个客户的聚合R值、聚合F值和聚合M值,这就是我们要用到的参考值。

有了参考值,下一步就是将时间、频次与订单额与参考值进行比较,这里我们会用到finebi中的逻辑函数IF,新建一列为R,具体函数为:

  • IF(时间<时间中心点,1,0)

其含义为如果时间列中的数据大于聚合之后的时间中心点,如果小于聚合R值,则为1,反之则为0;
同理对其他两个指标也进行划分,这样指标细分工作基本上就完成了。

6、用户分类

我们将三个指标分别进行划分后,按照下图的方式进行组合,就可以得到八个象限,代表8类客户:
image.png
我们先新增一列为RFM值,为了方便分组,我们的计算公式为R100+F10+M,也就能得出0、1、10、11、100、101、110、111八个不同的值,分别代表八种客户类型。

这样我们的用户细分也就完成了

  • 重要价值客户:复购率高、购买频次高、花费金额大的客户,是价值最大的用户。
  • 重要保持客户:买的多、买的贵但是不常买的客户,我们要重点保持;
  • 重要发展客户:经常买、花费大但是购买频次不多的客户,我们要发展其多购买;
  • 重要挽留客户:愿意花钱但是不常买、购买频次不多的客户,我们要重点挽留;
  • 一般价值客户:复购率高、购买频次高,但是花费金额小的客户,属于一般价值;
  • 一般保持客户:买的多但是不常买、花钱不多,属于一般保持客户;
  • 一般发展客户:经常买,但是买不多、花钱也不多,属于一般发展客户;
  • 一般挽留客户:不愿花钱、不常买、购买频次不高,最没有价值的客户;

补充:基于Python的RFM模型分析

练习4