RFM模型及其用户运营实践

背景介绍】

网站付费用户在40万 +,目前只有针对新用户和流失客户(大客户部分)两大人群做专门运营活动,从开源和节流两个层面上保证付费盘子的扩大,但对于现金牛用户(除了新用户和流失客户)一般能触及到的就是全站营销活动,但试想网站格子市场相差如此之大(最贵格子7天置顶1288元,最便宜格子7天置顶5元),用户的消费能力也必然相差较大,不进行精细化运营很难保证营收的最大化。于是我们引入用户分层的模型RFM,此模型在电信等其他行业已经成熟运用。

RFM(Recency,Frequency,Monetary)分析是一种营收市场技术,主要是通过分析付费用户的行为,对付费用户进行分层,从而达到精准营销的目的。有兴趣可参考 : RFM模型_wiki。RFM的变体 RFD(Recency,Frequency,Duration)也可用与于对网站用户的其他行为分析,详情及其他变体不在此赘述。

【参数解释】

  • R:最近一次消费距今天数(Recency)
  • F: 消费频率(Frequency)
  • M:消费金额(Monetary)

【前提假设】

  • 最近购买产品的用户更容易产生下一次消费行为
  • 消费频次高的用户,用户满意度高,忠诚度高,更容易产生下一次消费行为
  • 消费金额高的用户更容易带来高消费行为
  • 具有相同RFM_value  的用户有相似的市场行为

【数据挖掘&数据化运营】

这里主要介绍RFM模型在网站营收付费用户的应用(Case Study),主要分为以下几个步骤:
Step1,RFM 分析和付费用户分层(cluster)
Step2,跟踪用户在不同状态的转移 (classification)
Step3,付费用户的产品推荐(association rule)(有可能不做,因为产品较少且产品相似度较高)

具体环节参考图1:

图 1

一、RFM分析和付费用户分层

1.1 RFM指标重新定义

  • R (Recency)近度,用户最后一次付费(cash)日期距今天数
  • F(Frequency) 频度,用户在半年时间内的付费(cash)次数
  • M(Monentary) 值度,用户在半年时间内总付费(cash)金额

以上付费行为只考虑置顶大类(置顶,十万火急,至尊展位) + 套餐包

1.2 RFM分析

R-F-M分别按照5,4,3,2,1进行赋值,分别给出R_Score,F_Score,M_Score,

  • R 按照数值递减排列,按数值区间依次分别赋值5,4,3,2,1
  • F 按照数值递增排列,按数值区间依次分别赋值5,4,3,2,1
  • M 按照数值递减排列,按数值区间依次分别赋值5,4,3,2,1

1.3用户分层(聚类方法)

按照R_Score,F_Score,M_Score进行用户聚类,采用方法为K-Means,后续优化采用K-Means + + ,共分8类,并给RFM赋予权重(目前权重采用R:F:M = 0.25:0.25:0.5),计算各类的用户价值。

1.4 结果解释

  • 【cluster4,3,8】重要价值客户,占比18%
  • 【cluster5,7】重要保持客户 ,用户近度比较低,需要关怀
  • 【cluster6】重要挽留客户,用户近度和频度都较低
  • 【cluster2】一般发展用户,用户频度和值度较低,可做up营销
  • 【cluster1】44%的用户贡献值很低,为无价值客户,可以采用一般挽留手段

说明:

  • 用户分为8个cluster
  • 最后一次付费距今,购买频次,总付费金额,R,F,M均为每个cluster的均值
  • 客户价值 = 0.25*R + 0.25*F+0.5*M,反映用户的价值

1.5 数据运营案例

这里先选取重要保持客户作为营销的案例,主要分为2个环节:营销测试和营销正式上线,正式上线时考虑开发成本,选取的是模型的简化规则。

1.5.1营销测试

提取重要维持客户进行用户唤回,具体测试如下:

  • 活动时间:2015/6/30~2015/7/7
  • 活动对象:利用RFM模型 挑选出 重要保持客户[特征:R (最近付费距今天数)较小,F(消费频次)较大,M(消费额度)较大],并按照CLV(客户终身价值)的高低分成2组用户进行用户唤回。发券时进行用户筛选条件收紧:30天无accrual消费
  • 活动方式:按上次消费产品和格子,发放3天置顶5折券
  • 活动有效期:7天
  • 活动渠道触达 :站内信&短信&微信&私信
  • 结果:CLV较低的用户用券率和ROI更高,也会作为后续运营的重点。

1.5.2营销上线

模型简化后,营销上线的条件如下:

  • 近30天没有置顶大类 cash 收入
  • 近半年置顶大类总消费频次 >= 5次
  • 近半年置顶大类总消费金额 >= 100元
  • 近30天没有置顶大类 accrual 收入
  • 非VIP用户

上线时间:2015/7/20,后续每周一11点run一次
活动类型:现金抵用券
券使用范围:用户最后一次消费的AD所在的格子
券类型:根据用户最后一次购买过的置顶类产品,购买的是置顶送置顶券,火急送火急券,至尊送至尊券,都没有就送置顶券
券金额:3天置顶/火急/至尊的5折金额的现金券
券有效期:14天

二、跟踪用户在不同状态的转移

随着时间的推移,用户很可能会在不同类别之间流转,譬如“重要保持客户”转变为“重要挽留客户”,如何预测用户在一段时间后的状态,及时做出市场动作,就显得比较重要,这里主要通过用户的属性来预测用户在4周后(选做4周的原因见下表)的类别,从而达到跟踪用户状态转移的过程。

 1周后2周后3周后4周后
用户状态改变率0%12%18%24%

注:用户状态改变率 = ?周后状态改变的用户数/总用户数

这里主要是用到了数据挖掘中的多元分类机器学习方法,主要尝试了Naive Bayes,k-近邻(KNN),决策树,随机森林,神经网络等方法,其中预测准确率比较高的是随机森林,神经网络和决策树,这里欲采取决策树方法,主要原因:(1)通过调参可以达到和随机森林及神经网络差不多的准确率ACC;(2)AUC值相对比较高;(3)结果可解释性比较强。

【附】多元分类器的性能比较

 决策树       (Decision Tree)神经网络
(ANN)
Naive BayesK-近邻(KNN)SVM
准确率(通常情况)23124
算法速度(耗时)31441
对缺失值的处理31412
对冗余feature的tolerance22123
对高相关feature的tolerance23113
feature的离散和连续的要求3(离散)3(连续)3(直接离散)2(离散)
对噪声的tolerance22332
overfitting的处理21332
可解释性41421
参数处理31431

说明:1-4分是对各算法的表现进行打分,4分表示best,1分表示worst

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据分析 数据分析-RFM模型⽤户分析 模型⽤户分析 RFM模型 根据美国数据库营销研究所Arthur Hughes的研究,客户数据库中有3个神奇的要素,这3个要素构成了数据分析最好的指标: 最近⼀次消费 (Recency) 消费频率 (Frequency) 消费⾦额 (Monetary) 上⾯的三个标签通过字⾯意思⽐较好理解,顾名思义RFM模型中的,R=Recency,F=Frequency,M=Monetary RFM模型客户细分 1.数据筛选分组 为了得到客户最近⼀次消费(Recency)、消费频率(Frequency)、消费⾦额(Monetary)这三个指标的数值进⾏筛选分组(以下为⼀个⽰例)。 消费(Recency)——最近⼀次会员来店铺购买的时间 A、⼀周以前 B、2周以前 C、3周以前 D、⼀个⽉前 消费频率(Frequency)——⼀年内在店铺购买的次数 A、1次 B、1-3次 C、3-5次 D、5次以上 对于消费⾦额(Monetary)——单次消费⾦额 A、50元以下 B、50-150元 C、150-300元 D、300元以上 2.数据处理 处理步骤如下: 将所有客户按照Recency的值,由⼩到⼤排列,以50%为⼀群,依次给予2,1分。 再将所有客⼾按照Frequency的值,由⼤到⼩排列;以50%为⼀群,依序给予2,1分。 最后将所有客⼾按照Monetary的值,由⼤到⼩排列;以50%为⼀群,依序给予2,1分。 整合得到8种组合: 2-2-2:⾼价值客户; 2-1-2:重点发展客户 1-2-2:重点保持客户; 1-1-2:重点挽留客户; 1-1-1:⽆价值客户; 其余三种组合均属于⼀般客户。 现在我们来简单归纳⼀下,RFM模型中,我们重点研究的就是以上8种⽤户(⽤排列组合2*2*2=8种,很好理解)⾥⾯的有明显偏向的5种⽤户. 前⾯的4种⽤户,⼊选研究对象,总概括的就是愿意掏钱的客户. 这下就很好记了,RFM⾥⾯的M已经确定了,要选掏钱的,R,F各有两种选择,也就是总共4种类型 然后再按R来分,打分⾼的先排 2 2 2 这种客户"最近购买(r),⽽且经常购买(F),每次花钱的⾦额还挺⼤(M) 毫⽆疑问这个客户是⾼价值的 2 1 2 此客户最近购买,买的次数不多,但每次花费的⾦额⽐较⼤;那么遇到这种客户,证明他对特定品牌产品感兴趣,要做的是怎么让他经常来 买. 所以这种客户不难理解是应该重点发展的 1 2 2 此客户可能不是⼀直关注产品,但是买的次数⽐较频繁,每次花费的⾦额也挺⼤. 理解:证明这个客户是对产品的需求量⽐较⼤,也舍得掏钱,对品牌不是很关注的,也许今天到A品牌商家购买的,明天就到B品牌商家购买 去了.因此我们要做的是,要让客户保留对我们品牌产品的兴趣. 1 1 2 此客户⽐较明显就是那种⽐较懒惰型的客户,要⽤到的时候再买,⽽且⼀次性买⽐较多,平时就很少关注和购买了.对于这种客户,你不知 道他下⼀次购买的还是不是本公司品牌的产品,可能需要在他购买⼀段时间后提醒他我们产品有优惠活动,来提起他的购买欲望.因此属于需要 挽留型的客户 1 1 1 就不多说了,是临时过客 其他的客户没有明显的特征,主要是不怎么掏钱,是薅⽺⽑型的,你再怎么打主意都从他⾝上挣不到多少钱的,就归为⼀般客户. 理解完后,就根据打分,把所有客户分类好,然后提取出来我们重点研究的这⼏种客户来做相应的措施; 2 2 2⾼价值客户,基本上不⽤太担⼼,他会⾃⼰来购买 2 1 2 重点发展型的客户 想办法加⼤他的购买频率 1 2 2重点保持型客户 让他保持对我们品牌产品的兴趣 1 1 2重点挽留客户 发⼀些我们品牌的信息给他,等他想起来要购买类似产品的时候,第⼀时间想到的是我们品牌 1 1 1 ⽆价值的客户 不⽤花精⼒去跟进这种类型的客户,投⼊和产出⽐不值得.
RFM模型是一种常用的客户价值分析模型,可以基于客户的购买行为,将客户划分为高、中、低三类,以此来实现客户管理和营销策略的制定。下面介绍一下如何用Python进行RFM模型分析淘宝用户数据。 1. 数据预处理 首先需要对淘宝用户数据进行预处理,包括数据清洗、数据转换等。下面提供一份样例代码,以供参考: ```python import pandas as pd import numpy as np import datetime as dt # 读取数据 data = pd.read_excel('淘宝用户数据.xlsx') # 数据清洗 data.dropna(inplace=True) # 数据转换 data['购买日期'] = pd.to_datetime(data['购买日期']) data['订单金额'] = pd.to_numeric(data['订单金额']) ``` 2. 计算RFM指标 RFM指标包括最近一次购买时间(Recency)、购买频率(Frequency)和订单金额(Monetary)。下面给出一份样例代码,以供参考: ```python # 计算Recency snapshot_date = data['购买日期'].max() + dt.timedelta(days=1) data['Recency'] = (snapshot_date - data['购买日期']).dt.days # 计算Frequency frequency = data.groupby('用户ID')['订单ID'].nunique() frequency = frequency.reset_index() frequency.columns = ['用户ID', 'Frequency'] data = pd.merge(data, frequency, on='用户ID') # 计算Monetary monetary = data.groupby('用户ID')['订单金额'].sum() monetary = monetary.reset_index() monetary.columns = ['用户ID', 'Monetary'] data = pd.merge(data, monetary, on='用户ID') ``` 3. 划分RFM等级 根据Recency、Frequency和Monetary指标的值,对用户进行划分,分为高、中、低三类。下面给出一份样例代码,以供参考: ```python # 划分Recency等级 r_labels = range(4, 0, -1) r_quartiles = pd.qcut(data['Recency'], q=4, labels=r_labels) data['R'] = r_quartiles # 划分Frequency等级 f_labels = range(1, 5) f_quartiles = pd.qcut(data['Frequency'], q=4, labels=f_labels) data['F'] = f_quartiles # 划分Monetary等级 m_labels = range(1, 5) m_quartiles = pd.qcut(data['Monetary'], q=4, labels=m_labels) data['M'] = m_quartiles # 计算RFM总得分 data['RFM_Score'] = data[['R', 'F', 'M']].sum(axis=1) ``` 4. 可视化分析 最后,可以通过可视化工具对RFM模型分析结果进行分析和呈现,以便更好地理解和应用。下面给出一份样例代码,以供参考: ```python import matplotlib.pyplot as plt # 绘制RFM分布图 rfm_level_agg = data.groupby('RFM_Score').agg({ 'Recency': 'mean', 'Frequency': 'mean', 'Monetary': ['mean', 'count'] }).round(1) rfm_level_agg.columns = ['RecencyMean', 'FrequencyMean', 'MonetaryMean', 'Count'] rfm_level_agg.reset_index(inplace=True) plt.figure(figsize=(12, 8)) plt.scatter(rfm_level_agg['RecencyMean'], rfm_level_agg['FrequencyMean'], c=rfm_level_agg['RFM_Score'], cmap='coolwarm') plt.xlabel('Recency') plt.ylabel('Frequency') plt.title('RF分布图') plt.colorbar() plt.show() ``` 以上就是用Python进行RFM模型分析淘宝用户数据的简要介绍,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值