RFM模型在用户分层中的应用

5 评论 8794 浏览 37 收藏 11 分钟

导读:随著产品越来越大,拥有的用户越来越多,我们已经无法用同样的策略来管理所有的用户,此时便需要对用户进行精细化运营,而为了做好精细化运营,第一步就得对用户进行分层,而RFM模型便是传统和互联网行业一种用来对用户进行分层的重要工具和手段。

一、RFM模型的介绍

1. RFM模型的3个指标

  • R:Recency,最近一次交易时间;
  • F:Frequency,交易频次;
  • M:Monetary,交易金额。

需要了解的是,在不同产品中,R、F、M 可以代表不同的用户关键行为,比如在社区类产品中,可以分别代表:最近一次登录时间、登录次数和登录时长。

2. 用户价值类型的划分

如图,该模型通过对每个用户R值、F值、M值高低的评估,将其对应到不同的区间中去,从而将用户划分为8种用户价值类型。

在RFM模型中,用户最近一次交易的时间越近越好,因为这类用户更为敏感,对其进行营销,效果更为显著;而交易频次则是越高越好,因为这说明用户对产品满意度更高,复购意愿更强;交易金额也是越高越好,交易金额高的用户对产品的贡献度更大,属于高价值用户。

二、RFM用户分层的操作步骤

以某在线教育平台为例(案例中的数据均为虚构),下面将通过excel演示具体的操作步骤。

1. 获取原始数据

获取用户分层所需要的原始数据,可以请研发的同学帮忙调出“过去某段时间内某类用户的所有订单数据”,订单中只需包括“用户ID”,“订单交易时间”,以及“实付金额”。

这里应沟通清楚,“过去的某段时间”具体是多久,半年?一年?还是其他的什么时间?另外,是需要所有用户的数据,还是只需要某一类特定用户的数据。

2. 对数据进行初步处理

拿到订单数据后,我们需要对其进行初步处理,以算出每位用户对应的“最近一次交易时间差”、“交易频次”和“交易总额”。

首先,运用“now函数”算出当前的时间,再运用“days函数”算出“交易时间差”。

接着,通过“数据透视表”功能,对“交易时间差”取最小值项,复制粘贴“用户ID”整列数据后对其取计数项,对“实付金额”取求和项,从而计算出每位用户“最近一次交易时间差”,“交易频次”以及“交易总额”。

3. 建立评估模型

根据业务特性或数据分布情况来划分数据分布区间,建立评估模型。

1) R值表

这里我们以在线教育为例,参照业务特性,找出关键的时间节点。一般情况下:

  • 新用户注册15天内完成首次购买行为;
  • 一门课程的周期是60天;
  • 用户在180天完成复购行为;
  • 超过365天没有发生购买行为的用户,可视为流失用户。

综上,关键节点分别为“15,60,180,365“,那么我们可以把R值表定义为:

2) F值表

这里我们假设根据数据分布情况进行划分,

如图所示,交易频次(订单数量)为1的用户比例在55% 左右,交易频次为2的用户比例在20%左右。1和2之间出现一个巨大的落差,同样的,2和3之间,5和6之间也出现巨大的落差,而交易频次为3,4,5的用户比例之间差别不大,都在7.5%左右,

综上,我们可以把3~5次交易频次的用户作为一个区间考虑,所以,F值的关键节点为“1、2、3、5、6“,可得F值表:

3) M值表

同样的,根据产品的业务特性或数据分布情况进行区间划分。由于前面已经写过,这里不再赘述,直接定义M值表。

4. 定义R值,F值,M值和中值

参照前面所定义的R值、F值和M值表,将每位用户“最近一次交易时间差”、“交易频次”、“交易金额”转换为评估模型的语言。

1) R值、F值、M值

运用“IF函数”,算出每位用户的R值、F值和M值。

  • R值=IF(B3>365,1,IF(B3>180,2,IF(B3>60,3,IF(B3>15,4,5))))
  • F值=IF(C3<2,1,IF(C3<3,2,IF(C3<6,3,4)))
  • M值=IF(D3>1200,1,IF(D3>1000,2,IF(D3>800,3,IF(D3>600,4,5))))

2) 中值

如果没有中值,将无法评估每位用户的R值、F值和M值是高是低(即是处于坐标轴的上方还是下方)。最常见的做法是取平均值和中位数,另外也可以用二八法则进行推算。这里我们以取平均值作为中值为例。

如图,运用“Average函数“,分别算出R、F、M的平均值(即中值)。

5. 对用户进行分层

首先,运用“IF函数”,分别算出每位用户的R值、F值、M值的高低,即每位用户的R值、F值和M值与中值相比,是大还是小。

  • R值的高低=IF(E3>$E$1,”高”,”低”)
  • F值的高低=IF(F3>$F$1,”高”,”低”)
  • M值的高低=IF(G3>$G$1,”高”,”低”)

最后,运用“IF函数”+“And函数”,算出每位用户的用户类型。

用户类型=IF(AND(H3=”高”,I3=”高”,J3=”高”),”重要价值用户”,IF(AND(H3=”高”,I3=”低”,J3=”高”),”重要发展用户”, IF(AND(H3=”低”,I3=”高”,J3=”高”),”重要保持用户”, IF(AND(H3=”低”,I3=”低”,J3=”高”),”重要挽留用户”, IF(AND(H3=”高”,I3=”高”,J3=”低”),”一般价值用户”, IF(AND(H3=”高”,I3=”低”,J3=”低”),”一般发展用户”, IF(AND(H3=”低”,I3=”高”,J3=”低”),”一般保持用户” , “一般挽留用户”)))))))

6. 制定不同层级的运营策略,执行检验并迭代

对于“重要发展用户”,即购买课程时间较近,购买金额较高,但购买频次较低的用户,他们本身购买意愿和购买能力较高,可以为他们推荐更高阶或与当前课程有关联性的其他课程,提高他们的购买频次。

对于“一般发展用户”,也就是不久前发生购买行为的新用户,可以提供专属福利,并为其设计好后续转化的路径。

对于“重要挽留用户”,即历史交易金额较多,但长时间没有购买的用户,可以对其发放优惠券,刺激他们进行消费。

 

本文由 @小鹿的工作日记 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

给作者打赏,鼓励TA抓紧创作!
更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 你好,有一点不能理解,最后,运用“IF函数”+“And函数”,算出每位用户的用户类型。
    图片中的第八行,这个客户为什么是“一般价值用户”,是图中的举例是随便举例的吗?
    感觉这个像是重要的客户类型

    回复
    1. 看第一张图,当M值<中值(平均值)时,用户为一般用户。

      回复
    2. M值应改为:M值=IF(D3>1200,5,IF(D3>1000,4,IF(D3>800,3,IF(D3>600,2,1))))

      回复
    3. 作者在计算M的图表里弄反了,表中写>1200为5,if函数的时候计算公式写的if>1200为1,所以结果有些错误。

      回复
    4. 天呐,谢谢指出我的错误,下次发出来之前我得好好检查才是。

      回复