RFM模型:如何量化你的用户价值?

从零开始学运营,10年经验运营总监亲授,2天线下集训+1年在线学习,做个有竞争力的运营人。了解一下

上篇文章介绍了用户体系搭建的思路,这里单独开篇给大家介绍如何量化用户价值。

在拓展市场初期没有思路的时候,市场和运营同事绞尽脑汁做活动、上新品、蹭热点、做营销,不断的拓展客户、做回访维系客户感情,除了少数运气好的之外,大部分效果寥寥。真正的用户没有几个,到最后都便宜了羊毛党。不同阶段、不同类型的用户需求点不同,有的客户图便宜,有的客户看新品,有的客户重服务,大包大揽的营销运营,最后的结果就是凉凉。

解决得分方法也很简单,就是用户精细化运营,通过各类运营手段提高不同类型的用户在产品中的活跃度、留存率和付费率。而如何将用户从一个整体拆分成特征明显的群体决定了运营的成败。这里介绍一个最经典的用户分群工具就是RFM模型。RFM模型是衡量用户价值和用户创利能力的经典工具,依托于用户最近一次购买时间、消费频次以及消费金额。

在应用RFM模型时,要有用户最基础的交易数据,至少包含用户ID,交易金额,交易时间三个字段。

RFM的含义:

  • R(Recency)最近一次消费时间:表示用户最近一次消费距离现在的时间。消费时间越近的客户价值越大。1年前消费过的用户肯定没有1周前消费过的用户价值大。
  • F(Frequency)消费频率:消费频率是指用户在统计周期内购买商品的次数,经常购买的用户也就是熟客,价值肯定比偶尔来一次的客户价值大。
  • M(Monetary)消费金额:消费金额是指用户在统计周期内消费的总金额,体现了消费者为企业创利的多少,自然是消费越多的用户价值越大。

基于这三个维度,将每个维度分为高低两种情况,我们构建出了一个三维的坐标系。

(来源自网络)

通过图表很直观的发现,我们把客户分为了2的三次方也就是8个群体。

如果某个用户最近一次消费时间距今比较久远,没有再消费了,但是累计消费金额和消费频次都很高,说明这个用户曾经很有价值也就是RFM模型中的重要保持客户,我们不希望他流失,所以运营人员就会专门针对这类型用户设计召回策略,这也就是RFM模型的核心价值。

当然这里有个默认前提:

  • 最近有过交易行为的客户,二次发生交易的可能性要高于最近没有交易行为的客户;
  • 交易频率较高的客户比交易频率较低的客户,更有可能发生二次交易;
  • 过去所有交易总金额较多的客户,比交易总金额较少的客户,更有可能发生二次交易。

举例来说明:

以下是模拟我近一年的消费行为(脑海中蹦出了一年逛两次海澜之家…):

假设当前统计时间为2019年12月31日,经过简单的统计计算可得:

  • R值 = 12月31日 – 11月11日 = 50;
  • F值 = 计数消费次数 = 4;
  • M值 = 1200+300+900+2000 = 4400;

这里会遇到第一个问题:

R值最近一次消费时间表示用户最近一次消费距离现在的时间,消费时间越近的客户价值越大。以上方式计算出的R值越大说明当前用户最近一次消费时间越远用户价值越小,而F值还有M值越大代表用户价值越大,三组数据不在同一个描述维度,而且R值、F值、M值存在量级之间的差距,无法直观的通过加减来衡量用户价值。

这里有两种处理办法分别是评分方式和算法。

评分方式

评分方式是根据三组数据各个值的特性,采用5分制为各个数据赋予一个评分值,R值的评分机制是R值越大,评分越小。具体评分的规则可以根据经验设定分值的给予区间,或者将数据平均分配成为5组,对应5个分值。

在基于三组数据对应的评分值来计算评分值的平均数,大于等于平均数的数据划到高的维度,低于平均数的数据划到低的维度,自然将三组数据每组分别划分为高低两组,交叉组合后就是我们上面说过的8种情况。然后在将三组数据对应的评分值做累加就是RFM总值了。

评分机制的优势

计算RFM总值时解决了不同量级数据相加时影响权重不均衡的问题。由于用户的交易行为中R值和F值相对较小,如果三个值不处理就累加,M值直接决定了总值的量级,R值、F值对总值的影响很小,无法体现出用户的真实价值。

同样以刚刚的数据为例:RFM总值 = 50+4+4400= 4454

可见M值4400直接决定了最后计算结果的量级,前面R值、F值对结果的影响基本忽略不计。采用评分制的方法后,将R、F、M值都映射到了1至5的区间之内,保证了各数据之间的可比性。

评分制的劣势

赋值指标的设定需要资深的业务经验,什么样的算高频,什么样的算高额都是经验,并且用户的消费数据是不断膨胀的,根据手动设定的划分区间无法随着数据的不断膨胀而自动适配,所以需要根据经验和数据反馈不断修正。

算法方式

算法方式是根据数据特性将数据基于模型处理后量化用户价值,分划分高低维度、量化用户价值两步。

第一步:划分高低维度

根据数据分布情况将数据分为高低两组,这里区分的方式一般采用四分位数(将一组数据由小到大排列并分成四等份,处于三个分割点位置的数值就是四分位数。处于正中位置的数字就叫做中位数,如果数组个数为奇数个,则中位数为排序后中间的一个数,如果数组个数为偶数个,则中位数为排序后中间两个数的平均数。),而不是评分制的平均数。

分位数相对于平均数应用场景更广,由于大部分数据都呈现长尾分布,80%甚至90%以上都集中在低频低额区间,少数的用户提供了大部分销售,采用平均数无法很好的体现数组的特性,长尾用户很容易被平均,

下面举个例子:土豪身价2个亿,屌丝产品经理身价20万,两人平均后,平均身价1个亿……

例子并不恰当,但是能看出在数据呈现长尾分布的场景中,平均数在很多场景并不合适,而采用四分位数时,可以根据数据分布情况,选择中位数、四分之一位数或者四分之三位数,然后高于则划分为高纬度,低于则划分为低纬度。

这里有一点需要注意!

由于R值的大小和用户价值呈现反比,所以高于分位数的时候算低纬度,低于分位数时算高纬度。

第二步:量化用户价值

首先解决R、F、M三值量级不均衡的问题,然后计算RFM总值量化用户价值。可将三组数据分别无量纲化处理映射至0到1的区间在合理放大然后相加。很多同学一听到算法就晕了,我挑选了这个方法中最简单的一种,只用到了我们初中所学的数学,逻辑非常简单,下面我为大家介绍min-max归一化。

min-max归一化

先贴公式:

上式中,min是数组中的最小值,max是数组中的最大值。只要将数组中的数据依次经过上述公式处理,最后发现原数组收敛到了0至1的区间之内,是不是很简单。

下面是我随机生成的一组数据为大家示例:

第一组源数据经过无量纲化处理后收敛至了0到1区间之内,可将不同量级的数据归一化至同一量级,归一化后的数据是一个位数极多的小数,而一般用户对于极小数和极大数没有直观的感受。

所以这里我把所有的数据同比放大了100倍,将源数据扩大到了0至100的区间,同时做了四舍五入,让数据可读性更强。经过这样的处理就将数据从原来不同量级无法直观对比,归一化到了0至100的区间,方便大家直观计算RFM总值。

最后计算RFM总值的公式如下:RFM总值 = R值*(-1)+F值+M值+100;

公式中同样为了解决R值同F、M值统计维度不一样的问题,这里给R值乘以了负1,同时为了保证数据结果不会出现负数,又在最后加了100。这样处理之后保证最后的RFM总值落在了0至400的区间之内,让大家可以通过分值很直观的量化用户价值。

总之,RFM最终的目的就是帮助业务提高运营效率和产出价值,上述介绍了两种方法,一种通过经验人工划分出用户群体,一种通过数据挖掘,给与业务运营建议。

具体的业务应用场景还是以淘气值为例(均为个人猜想,如果哪里说得不对,还请留言告知,谢谢)。

  • 购物分:是近12个月购买金额的综合分值。每一笔订单、每日、每月、每一类商品、每一个店铺,可获得的最高可得分都不同,另外,购买更多种类的、高信誉商家的商品可以得到更多分;
  • 奖励分:奖励分是近12个月内购买的商品类目数,反映真实消费体验的文字评价、带图评价、追评、分享被点击数、问大家参与次数、购买成交天数、连续购买月数的综合分值。奖励分受购物分正向影响,购物分越高,奖励分越高;
  • 基础分:基础分由当前信誉等级决定。信誉等级越高,基础分越高,并且可得购物分和奖励分的分数越高。

购物分围绕着用户的近12个月消费记录,奖励分则是围绕着用户的实际互动行为,包括评价、分享、参与次数等。这里特别强调一点RFM模型不仅仅针对消费数据,可以试试其他新的花样,比如:

  • 互动行为:最近一次互动时间、互动频次、用户的互动次数;
  • 直播行为:最近一次观看直播时间、直播观看频次、观看直播累计时长;
  • 内容行为:最近一次观看内容时间、观看内容频次、观看内容字数;
  • 评论行为:最近一次评论时间、评论频次、累计评论次数等等等等。

以上这些只是我的简单思考,希望可以给大家更多的启发。

淘宝根据用户的淘气值将用户分成了三种类型:

  • 普通会员:0 ≤ 淘气值 < 1000;
  • 超级会员:1000 ≤ 淘气值 < 2500;
  • APASS会员:2500  ≤ 淘气值。

分别设定了不同的权益针对性运营,在推出88会员的时候淘气值高于1000分的用户可以以88元直接购买会员。同时在淘气值页面看到了88会员中心【敬请期待】的页面,在结合88会员入口处【花小积分 兑大权益】的文案,相信未来淘宝会在88会员上有新的运营动作。

最后关于无量纲化处理的方法还有很多,我这里介绍了最简单的一种,喜欢研究的同学可以自行百度。

会员系列的第二篇,终于在纠结了两周反复难产的过程中完成了。

相关阅读

搭建会员体系时必须要思考的三个问题!

 

本文由 @萌面赵先生 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自 Unsplash,基于 CC0 协议

给作者打赏,鼓励TA抓紧创作!
评论
欢迎留言讨论~!
  1. 这个用excel能处理么

    回复
    1. 可以的,文中示例就是用Excel处理的 ,具体还是要看数据量

      回复
  2. 处理之后保证最后的RFM总值是不是落在了0至300的区间之内

    回复
    1. 是的,笔误 :smile: 处理之后的总值是在0至300之内 ~

      回复
  3. 比其他讲rfm的文章更深入… 不错

    回复
    1. 还有,可否细致讲讲建立rfm分层时候的注意点呢

      回复
    2. 在利用中位数区分单个维度的高低时,要根据实际情况以及数据质量决定是否去除异常值。
      例:
      大部分数据是呈现长尾形态的,很多体验型客户可能互动时间在好几年以上,成交金额只有几分,或者累计只成交过一次,如果把这类型数据也考虑进来的话会导致高纬度区间直接包含了所有的活跃用户,导致分群用户特征不明显,所以在处理时,建议根据业务特性,将异常值或者长尾值先处理掉在进行分群。

      回复
  4. 文章棒棒的,清晰明了,但里面有个逻辑想问下。
    为何要对RFM总值进行量化,而不是根据单独的R,F,M三个值在中位数的高低组合来进行分类。

    回复
    1. 何为量化?因为要明确,清楚,具体,而根据单独的R,F,M三个值在中位数的高低组合来进行分类不够具象。

      回复
    2. 1.R、F、M三个值的高低组合反馈的是用户的特征,然后针对特征制定运营策略;
      2.如果用户量进一步扩大,而运营资源又有限的情况下,就需要对单一群体内的用户价值在量化,这时就需要用户总值了;
      3.某些场景下可能需要针对总体用户池的用户做价值量化,单纯的高低维分组无法满足,所以同样需要RFM总值。

      回复