用户运营:RFM分层实战演练
用户运营中,使用RFM模型进行用户分层是常规操作,那么具体如何实现呢?本文将具体进行分析。
用户的价值分层,主要有两种方式:
- 通过用户的成长轨迹,根据用户的生命周期做定义:导入期-成长期-成熟悉-休眠期-流失期,每个阶段对用户的运营目标都不一样。
- 根据用户的关键行为做划分,对用户进行区隔,实现用户分层。
典型的就像RFM,找到产品中能够衡量用户价值的关键行为,对其进行交叉分析和评估,最终形成分层模型。
- R 最近一次交易的时间:R值最大,说明发生交易的时间越久,反之,发生交易的时间越近。
- F 交易的频次:F越大,说明交易频繁,是平台的用户用户,反之,用户不够活跃。
- M 交易的总金额:M越大,客户价值越高,是平台的重点用户。
将用户每一维度与其中值对比,和中值高低与否,我们一共可以将用户划分成 2*2*2=8类用户。
了解了用户的分层等级,就可以对不同价值的用户实施精细化的运营,该促进消费的刺激消费,该召回的召回….
二、RFM模型的运用
具体的实施步骤:
下面我们就以一份电商的统计数据为例:
1. 先筛选数据
因为电商平台会有一些退货交易失败的情况,这部分不是我们要研究的对象,所以先筛选出交易成功的用户。
2. 定义RFM评估模型
用数据透视表查看数据分布情况,也可以根据具体业务情况进行划分等级,或者用28法,80%的用户都集中在低频低金额的区间,20%的用户却又创造了大部分营收。
根据上面的数据,我将三个维度区间划分成五个层级:
3. 先算出R值
相距的时间差:
用if函数算出各用户的R值:
IF(D10<=30,5,IF(D10<=60,4,IF(D10<=90,3,IF(D10<=120,2,1))))
4. 算出F值
算出每个用户的购买次数 :COUNTIFS(A:A,A2)
第二步:根据次数,算出对应的F值,因为大多数用户购买次数在5以下,直接用购买次数代替F值。
5. 算出M值
金额数做数据透视,算出每个用户的支付总额。
根据用户的消费金额,用if函数同样算出对应的M值分数。
6. 进一步计算
分别用计算出的RFM值跟中值做对比,比中值大的用“高”表示,反之用“低”。
IF(B6>$F$1,"高","低")
给其他两个打标签:
7. 用if函数自动计算出用户层级
IF(AND(F2="高",G2="高",H2="高"),"重要价值用户", IF(AND(F2="高",G2="低",H2="高"),"重要保持用户", IF(AND(F2="低",G2="高",H2="高"),"重要发展用户", IF(AND(F2="低",G2="低",H2="高"),"重要挽留用户", IF(AND(F2="高",G2="高",H2="低"),"一般价值用户", IF(AND(F2="高",G2="低",H2="低"),"一般发展用户", IF(AND(F2="低",G2="高",H2="低"),"一般保持用户", IF(AND(F2="低",G2="低",H2="低"),"一般挽留用户"))))))))
8. 做表,制定策略
做数据透视表,算出不同层级用户的占比,针对其指定策略
本文由 @Even 原创发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自Unsplash,基于CC0协议。
制定什么策略呢
同问,分层的方法论很多了,很少见完整且具体的对应策略
你这套算法是有问题,看似还很“科学”的用了个平均值作为“高”和“低”的切割。但是你第一步就错了。你根据什么逻辑来切割R\F\M的1~5分对应的区间的。
你在这一步非常一厢情愿,所以最终基于所谓的“平均值”来分的高低也都是一厢情愿。
你好,请问风箱后根据区间得出的1-5分具体应该如何应用?我也不太理解文中仅根据r/f/m参照中值得出的层级后该如何进一步按照分值划分用户群
尴尬,这个你应该质疑作者本人吧。我也想知道啊。
不是“质疑”您,我是从文中不是很理解这部分内容,所以想问问您来着~
我知道,我的意思是你去问作者啊。我又不是作者肚子里的蛔虫。
每个值分层5个层级的意义何在,你操作用的是每个值分成高低2个层级。
运营经理
有所启发
作家有步骤没懂,可否微信问问
小白一枚,可以加一下微信问问嘛?有一个问题可以咨询一下吗?
你留微信我加你
有错别字吗?
是否应该在定义高或低的时候 把二八法则考虑进去,都不是取均值
这里的中值指的是平均值还是中位数呀?我觉得这里如果也用二八分的话被判断为高的一定非常高,但被判断为低的不一定是真的低,可能只是普通或不是特别高
应该是平均数,中位数的小数点后就只可能是0或者5了,不会有这么长一串小数
额嗯 考虑的是阈值的合理性这个
请问可以告诉我一下数据是从哪里收集的吗?我需要一些数据撰写关于RFM模型的论文,现在收集不到数据?谢谢
已阅,感谢分享!
不是很清楚三个维度如何划分成5个层级,每个层级的值是怎么定义的?
自己去把3个纬度按照(a,b,c) 看看可以产生多少中结果,或者你可以用十进制去表示。000代表3个纬度都低,010 100 101 还有不明白的吗
也不是很明白 😥