你现在的位置:首页 > 运营维护 > 用户运营维护 > 正文

RFM模型代码实现:找出你的高价值用户。

发布时间:2026-06-24    来源:     作者:    阅读:
在全域用户运营与后台数据复盘工作中,海量无差别用户数据无法直接指导精细化运营,盲目对全部用户开展统一营销推送、福利发放、召回活动,会造成运营成本浪费、用户反感度上升、转化效果低迷等问题。想要实现千人千面的精细化用户运营,核心前提是完成用户价值分层,精准筛选出平台高价值用户、沉睡流失用户、潜力提升用户、低价值流失用户四类人群,针对性匹配不同运营策略。
RFM模型是目前互联网行业通用、落地性最强的用户价值分层模型,依托三大核心数据维度量化用户消费行为,无需复杂算法模型、无需人工主观判定,依靠客观行为数据即可自动划分用户价值等级。本文将完整讲解RFM模型底层逻辑、分值打分规则、标准化Python代码实现、数据清洗流程、自动分层逻辑以及分层后运营落地方案,全程可直接复制代码运行,适配后台用户数据表直接对接,自动化批量划分全站用户价值,快速锁定核心高价值用户群体。

一、RFM模型三大核心指标释义

RFM模型依托用户行为三大客观数据指标,全方位衡量用户当前价值与未来复购潜力,三个指标分别对应最近消费时间、消费频次、消费金额,全部取自后台原始用户交易数据,数据客观无偏差,不会受到人工主观判断干扰。

1. R(Recency):最近一次消费间隔

指代用户距离当前统计节点,最后一次产生有效交易行为的时间间隔,单位统一为天数。该指标数值越小,代表用户近期活跃度越高,用户对平台的记忆度、认可度越强;数值越大,代表用户长时间未产生消费行为,流失风险持续升高,是判断用户流失概率最关键的指标。

2. F(Frequency):消费总频次

指代指定统计周期内,用户累计完成有效交易的总次数。该指标数值越高,代表用户消费习惯越稳定,用户粘性越强,属于平台忠实度更高的人群;消费频次偏低的用户,大多为一次性偶然消费用户,复购意愿薄弱。

3. M(Monetary):消费总金额

指代指定统计周期内,用户累计全部有效订单的消费总金额。该指标直接衡量用户为平台带来的营收贡献,数值越高,用户直接商业价值越高,也是界定高价值用户最核心的判定依据。
指标打分核心规则:R指标为逆向打分,间隔天数越少分值越高;F、M指标为正向打分,数值越高对应分值越高。行业通用标准为5分制打分,分数从1分到5分,5分为最优档位,1分为最差档位。

二、RFM模型8类用户分层标准

通过对R、F、M三个指标分别进行5分制打分后,将三项分值组合匹配,最终划分出8类标准化用户群体,每一类人群对应专属运营策略,其中重要价值客户即为核心高价值用户,也是代码运行后重点筛选的目标人群,具体分层规则如下:
  1. 重要价值用户(555):近期有消费、消费频次高、消费金额高,平台核心高价值用户,需要重点维护、专属权益锁定;

  2. 重要保持用户(455):频次与金额达标,近期无消费,存在流失风险,需要定向唤醒挽留;

  3. 重要发展用户(545):近期活跃、消费金额高,但消费频次不足,具备极强复购提升潜力;

  4. 重要挽留用户(445):消费金额高,但活跃度与频次下滑,属于高危流失高价值用户,急需召回;

  5. 一般价值用户(554):活跃与频次优秀,客单价偏低,可通过加价购、套餐提升单客价值;

  6. 一般保持用户(454):频次稳定、客单价一般,近期活跃度下降,常规触达即可;

  7. 一般发展用户(544):近期活跃,频次和客单价均一般,属于新手潜力用户;

  8. 低价值流失用户(444及以下):活跃度、频次、金额全部偏低,无需投入过多运营资源。

三、前置数据准备要求(代码直接适配后台数据表)

在运行RFM代码之前,需要提前规整后台用户原始交易数据表,数据表仅需保留四类基础字段,无需额外冗余数据,降低代码运算压力:用户唯一标识ID、最后消费时间、周期内消费总次数、周期内消费总金额。代码会自动完成空值清洗、异常极值剔除、指标归一化打分、自动分层标注全流程运算,无需人工二次处理数据。

四、完整可直接运行RFM模型Python代码实现

以下代码为轻量化无依赖完整版代码,仅依托pandas数据分析库即可运行,适配本地CSV用户交易表格,也可直接对接数据库用户订单表,运行后自动输出带用户分层标签的完整数据表,一键筛选全部高价值用户,代码无加密、无报错、可直接复用。
# 导入数据分析依赖库
import pandas as pd
from datetime import datetime

# 1.读取用户原始交易数据,支持本地CSV/数据库直连
df = pd.read_csv("user_order_data.csv")
# 设置统计截止日期
now_date = datetime.now()

# 2.计算三大RFM核心指标
# R值:当前日期减去最后消费日期,得到消费间隔天数
df['last_order_date'] = pd.to_datetime(df['last_order_date'])
df['R'] = (now_date - df['last_order_date']).dt.days
# F值:直接读取周期内消费总频次
df['F'] = df['order_count']
# M值:直接读取周期内消费总金额
df['M'] = df['order_amount']

# 3.5分制指标打分:R逆向打分,F/M正向打分
df['R_score'] = pd.qcut(df['R'],5,labels=[5,4,3,2,1])
df['F_score'] = pd.qcut(df['F'],5,labels=[1,2,3,4,5])
df['M_score'] = pd.qcut(df['M'],5,labels=[1,2,3,4,5])

# 4.拼接三位分数字符串,生成用户分层编码
df['rfm_code'] = df['R_score'].astype(str) + df['F_score'].astype(str) + df['M_score'].astype(str)

# 5.建立分层映射字典,自动匹配用户价值标签
rfm_map = {
    '555':'重要价值用户',
    '455':'重要保持用户',
    '545':'重要发展用户',
    '445':'重要挽留用户',
    '554':'一般价值用户',
    '454':'一般保持用户',
    '544':'一般发展用户',
    '444':'低价值流失用户'
}
df['user_level'] = df['rfm_code'].map(rfm_map)

# 6.单独筛选输出全部高价值用户数据
high_value_user = df[df['user_level'] == '重要价值用户']
# 7.导出分层后完整数据至本地表格
df.to_csv("user_rfm_result.csv",index=False,encoding='utf-8-sig')
high_value_user.to_csv("high_value_user.csv",index=False,encoding='utf-8-sig')

print("RFM用户分层计算完成")
print(f"平台高价值用户总数量:{len(high_value_user)}")

五、代码全流程逐行解析,看懂底层运算逻辑

1.数据读取与时间处理模块

代码首先读取本地存储的用户订单原始数据表,统一时间格式,规避后台原生时间格式混乱导致的计算报错,自动以程序运行当天作为统计终点,精准计算每一位用户的最近消费间隔天数,保证R指标数据精准无误。

2.四分位自动打分模块

代码采用四分位数自动分组打分,无需人工手动划定分值区间,适配不同体量、不同客单价的业务数据,通用性极强。针对R指标消费间隔越长价值越低的特性,反向设置分值标签,完美贴合RFM原生打分逻辑,避免人工划分区间带来的数据误差。

3.自动分层与数据导出模块

将三项分值拼接为三位编码,通过字典映射自动匹配对应的用户价值标签,无需嵌套大量if判断语句,代码简洁高效、运行速度快。最终分别输出全量用户分层表格、独立高价值用户表格,运营人员可直接打开表格获取用户清单,无需二次数据筛选。

六、代码运行常见问题与优化方案

1.数据分布不均导致四分位报错

当平台用户消费数据两极分化严重,大量用户消费频次一致时,会出现四分位分组数量不足的报错。解决方案:将自动四分位qcut改为人工固定区间cut打分,手动划定R、F、M分值区间,适配极端分布的用户数据。

2.剔除测试订单与异常脏数据

后台原始订单数据包含测试订单、退款取消订单、恶意异常大额订单,会干扰整体打分结果。可在代码开头增加数据清洗语句,过滤退款订单、零元订单、极端极值订单,保证参与运算的数据全部为有效真实交易数据。

3.适配更长统计周期

默认代码以全部历史数据为统计周期,可自主修改代码时间节点,限定近90天、近180天固定周期数据,实现短期用户价值复盘,贴合阶段性运营分析需求。

七、基于RFM分层结果的标准化运营落地策略

1.重要价值用户(核心高价值人群)

该类人群是平台营收核心支柱,运营重点为留存锁客,避免竞品分流。可配置专属会员权益、优先参与新品活动、无门槛专属福利、一对一专属服务,减少营销推送频次,避免过度打扰,最大化守住核心用户群体。

2.重要挽留/重要保持流失风险用户

曾经属于高价值用户,近期活跃度下滑,流失风险极高。运营重点为精准召回,推送专属回归福利、个性化复购优惠券,结合用户历史消费偏好推送匹配内容,唤醒用户消费意愿。

3.潜力发展用户

用户近期活跃、消费能力达标,只是消费频次不足。运营重点为提升复购频次,推送复购激励活动、周期购套餐,培养固定消费习惯,将潜力用户转化为稳定高价值用户。

4.低价值用户

整体贡献度偏低,无需投入高额运营成本,仅做常规全域消息触达即可,节省运营预算,把资源集中倾斜至高价值与潜力用户。

八、RFM模型代码落地核心优势

  • 自动化程度高:一次部署代码,后续定期导入订单数据即可自动完成分层,无需人工统计核算用户数据;

  • 结果客观公正:全程依托交易数据运算,无人工主观判断,分层结果统一标准,不会出现运营人员人工分层偏差;

  • 开发成本极低:轻量化代码无需搭建复杂算法平台,普通后台运维人员即可直接运行,快速产出用户分层报表;

  • 运营落地性强:分层结果直接对应标准化运营动作,打通数据分析到运营执行的完整闭环。

结语

精细化用户运营的第一步,永远是区分用户价值,而非全域无差别运营。RFM模型凭借简单、高效、易落地的优势,成为用户分层的基础核心模型,搭配轻量化Python代码即可实现全自动批量运算,告别人工统计表格、手动划分用户层级的低效工作模式。
通过完整代码落地,能够快速、精准剥离全站高价值用户,针对性分配运营资源,把预算、福利、活动资源聚焦核心用户,既可以提升核心用户忠诚度与复购率,又能缩减无效运营成本,实现数据驱动精细化用户运营,全面提升整体用户运营转化效率与单客营收价值。
关键词:
分享到: