京公网安备 11010802034615号
经营许可证编号:京B2-20210330
在商业分析中,我们经常会遇到以下问题:
不知道如何进行用户行为分析,对用户进行分类?
不知道哪些是重要价值客户,他们能带来什么,应该如何维护?
这时候就需要用到用户行为分析模型也就是我们通常所说的RFM模型了。小编今天就给大家分享一下RFM模型的构建以及应用,希望对大家商业分析有所帮助。
一、RFM模型简介
RFM模型,是根据客户活跃程度以及交易金额的贡献,对客户价值进行细分的一种方法,是客户关系管理中常应用到的一种操作模型。RFM模型从R、F、M、这3个维度来描述客户的价值,下面来具体解释一下R、F、M、这3个维度。
R:上一次消费 (Recency),客户上一次消费的时间,时间越是接近就表示该客户越有价值,对于提供的即时商品或是服务,这些客户是最有可能反应的。
F:消费频率 (Frequency),一段时间之内对产品的消费频次,也就是客户在限定的期间内的购买的次数。通常来说,客户消费频率越高,也就表示该客户忠诚度越高。
M:消费金额 (Monetary),用户的贡献价值,交易金额越高,该客户价值越高。帕雷托法则认为公司80%收入来自20%的客户。
二、RFM模型使用场景
RFM模型3个维度可根据实际需求变化,例如:
R:最近一次登录时间、最近一次发帖时间、最近一次投资时间、最近一次观看时间
F:浏览次数、发帖次数、评论次数
M:充值金额、打赏金额、评论数、点赞数
互动行为:最近一次互动时间、互动频次、用户的互动次数;
直播行为:最近一次观看直播时间、直播观看频次、观看直播累计时长;
内容行为:最近一次观看内容时间、观看内容频次、观看内容字数;
评论行为:最近一次评论时间、评论频次、累计评论次数等等等等。
三、RFM模型搭建
1.计算每个客户的RFM指标。可以利用CRM软件或者BI分析工具计算出每个客户的R,F,M
2.根据实际业务需求,确定具体的R,F,M的度量范围。
3.在RFM表格中添加细分的段号。
因为有R,F,M三个变量,所以我们需要使用三维坐标系来进行展示,X轴表示R,Y 轴表示F,Z轴表示M,坐标系的8个象限分别表示8类用户也就是:重要价值客户、重要保持客户、重要发展客户、重要挽留客户、一般价值客户、一般保持客户、一般发展客户、一般挽留客户,我们可以用如下图形进行描述:
四、简单示例
import pandas as pd import numpy as np import time #todo 读取数据 data = pd.read_csv('RFM_TRAD_FLOW.csv',encoding='gbk') # print(ret) # todo RFM------>R(最近一次消费) #todo 时间与字符串相互转换 data['time'] = data['time'].map(lambda x:time.mktime(time.strptime(x,'%d%b%y:%H:%M:%S'))) # print(data) # todo 分组 groupby_obj = data.groupby(['cumid','type']) # for name,data in groupby_obj: # print(name) # print(data) # todo 取值 R = groupby_obj[['time']].max() # print( # todo 转为透视表 r_trans = pd.pivot_table(R,index='cumid',columns='type',values='time') # print(data_trans) # todo 替换缺失值 有缺失值,替换成最远的值 r_trans[['Special_offer','returned_goods']] = r_trans[['Special_offer','returned_goods']].apply(lambda x:x.replace(np.nan,min(x)),axis = 0) # print(data_trans) r_trans['r_max'] = r_trans.apply(lambda x:sum(x),axis=1) # print(r_trans) # todo RFM------>F(消费频率) # 取值 F =groupby_obj[['transID']].count() # print(F) #转为透视表 f_trans = pd.pivot_table(F,index='cumid',columns='type',values='transID') # print(f_trans) #替换缺失值 f_trans[['Special_offer','returned_goods']]= f_trans[['Special_offer','returned_goods']].fillna(0) # print(f_trans) # f_trans['returned_goods'] = f_trans['returned_goods'].map(lambda x:-x) # print(f_trans) f_trans['f_total'] = f_trans.apply(lambda x:sum(x),axis=1) # print(f_trans) # todo RFM------>M(消费金额) # 取值 M =groupby_obj[['amount']].sum() # print(M) #转为透视表 m_trans = pd.pivot_table(M,index='cumid',columns='type',values='amount') # print(f_trans) #替换缺失值 m_trans[['Special_offer','returned_goods']]= m_trans[['Special_offer','returned_goods']].fillna(0) # print(f_trans) # m_trans['m_total'] = m_trans.apply(lambda x:sum(x),axis=1) # print(m_trans) # 合并 RFM=pd.concat([r_trans["r_max"],f_trans['f_total'],m_trans['m_total']],axis=1) print(RFM) r_score = pd.cut(RFM.r_max,3,labels=[0,1,2]) f_score = pd.cut(RFM.r_max,3,labels=[0,1,2]) m_score = pd.cut(RFM.r_max,3,labels=[0,1,2])
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在数据分析、业务监控、运营复盘等场景中,列值趋势计算是核心需求之一。无论是分析销售额的月度增长、用户活跃的变化趋势、库存 ...
2026-06-12在数字经济深度渗透的当下,消费者的购买行为已从过去的 “被动接受” 转变为 “主动决策”。流量红利消退、获客成本攀升、用户 ...
2026-06-12CDA三级认证是三个级别中的塔尖,全面考察数据战略、团队领导和复杂项目的综合能力。它所对应的《敏捷数据挖掘》教材,不再局限 ...
2026-06-12在游戏产业的商业逻辑中,付费玩家是支撑游戏生存与发展的核心支柱。行业普遍遵循 “二八定律”:20% 的付费玩家贡献了游戏 80% ...
2026-06-11【核心关键词】企业、定位、传统、产品、互联网、可视化、业务侧、数字化、结构化、数据分析、传统制造业、市场状态、发展空间 ...
2026-06-11 解读《CDA二级教材:量化策略分析(2025)》的全景结构与学习逻辑 ” CDA二级认证是企业招聘数据分析师时最常提及的证书门槛 ...
2026-06-11【核心关键词】药企、可视化、营销、分类、数据分析师、销售数据、业务人员、指导方向、分析报告、营销数据、营销医生 【专访摘 ...
2026-06-10在统计学分析、问卷调研、实验验证、业务复盘等场景中,卡方检验与 T 检验是应用最广泛的两类基础假设检验方法。前者专门处理分 ...
2026-06-10 很多数据分析师每天都在计算指标、制作报表,但当被问到“什么叫指标数据元”“指标数据标准包含哪些核心维度”“指标数据质 ...
2026-06-10在MySQL数据库日常查询、数据统计、后台接口开发、数据导出等场景中,开发者经常需要查询数据表除某几列之外的所有字段。例如查 ...
2026-06-09在Python网络请求、爬虫开发、接口测试、数据抓取等实操场景中,requests库是最常用的第三方请求工具,而content属性是requests ...
2026-06-09 数据分析正在重塑每一个行业。CDA认证的三本官方教材,分别对应Level I、Level II、Level III,为你铺就从业务数据分析到数 ...
2026-06-09在数字财务、智慧财税、业财融合深度推进的当下,传统财务模式下数据标准混乱、业务流程碎片化、知识无法沉淀、系统互通性差等问 ...
2026-06-08随着数字经济深度渗透各行各业,数据正式成为继土地、劳动力、资本、技术之后的第五大生产要素,是企业数字化转型、精细化运营、 ...
2026-06-08 很多数据分析师能熟练写SQL、做透视表,但当被问到“数据是从哪里来的?经过哪些加工才进入数据仓库?ETL具体做了什么?”时 ...
2026-06-08【核心关键词】贷款、报表、课程、专业、建模、缺失值、营销、互联网、银行、办公自动化、数据分析、数据预处理、特征工程、贷 ...
2026-06-05在数据库数据查询、业务报表统计、多表关联分析中,LEFT JOIN左连接是使用率最高的SQL关联查询语句。其核心特性是保留左表全部数 ...
2026-06-05 很多数据分析师能熟练地写SQL、做透视表、算描述性统计,但当被问到“如何预测用户流失概率”“如何归因销量下滑的关键因素 ...
2026-06-05任何一款产品从诞生、普及到最终退出市场,都会遵循一套固定的发展规律,这就是产品生命周期理论。在市场竞争日益激烈、产品迭代 ...
2026-06-04在Excel数据分析、办公统计、业务报表制作场景中,数据透视表是数据汇总、分类统计、快速复盘的核心工具,能够高效完成海量原始 ...
2026-06-04