数据分析 RFM 模型,用户价值分层实战
目录

数据分析 RFM 模型,用户价值分层实战 | 九数云-E数通

eshutong 发表于2026年8月20日

在一次零售数据项目里,我遇到一位运营负责人,他拿着RFM分层结果激动地说“前20%用户贡献了72%的营收,我们要重点服务他们”。但当我继续追问“这批用户中有谁已经45天没有下单?他们的复购周期中位数是多少?M值会不会因为两个月前的大促囤货被拉高?”他一个都答不上来。他的分层结果里,一批“大额但沉默”的用户和“大额且活跃”的用户被混作一谈,后续按这个标签群发的高频上新推送,反而加速了沉默用户的流失。

这个场景几乎每月都会重复。RFM模型看似只有三个指标,但一旦在口径、分箱、权重和行动策略上偷懒,分层结果就会从“决策依据”变成“周报素材”。这篇文章我会直接还原实战过程,包括数据清洗、分位数分箱、权重回放、分层后的召回实验,以及不同行业里RFM应该做什么取舍。你可以把它当成一份可以直接执行的排查清单,而不是又一次理论重读。

一、先把结论说清楚:RFM能实战,但90%的人用错了

1. 我的核心判断

我判断一个RFM项目是否专业,只看四件事:第一,数据清洗有没有前置;第二,分箱用的是分位数还是平均值;第三,权重是否经过历史数据回放;第四,分层结果有没有配对具体的运营策略。这四件事只要有两件没做,RFM分层就会失真。我把这四件事称作“RFM实战四件套”。

2. 一次失败的分层现场

某美妆私域项目给了我一个很典型的教训。项目初期按传统方式处理:直接用订单表计算R、F、M,平均值分箱,权重采用常见的1:1:1,然后输出八类用户。结果“重要价值用户”占了27%,远远偏离行业经验值。我检查后发现三个问题:7万笔退款订单没有扣减,M值虚高;促销期内的一次性大额订货让部分用户被误判为高价值;R值没有按品类复购周期处理,统一用自然月计算。

修复后,“重要价值用户”占比降到11.4%。随后我们用分层结果做了针对性召回实验,实现了3.1倍的ROI提升。同样一套RFM,实现方式不同,结果天差地别。

数据分析 RFM 模型,用户价值分层实战

二、RFM模型的真实工作场景:从数据清洗到分层落地

1. 数据准备:先治数据再算分

我在每个项目开始时都会把订单表翻个底朝天。RFM看起来是简单的聚合计算,但脏数据会让结果完全失真。

(1)退款订单处理

已退款订单应直接从口径中扣减,否则用户价值会被系统性抬高。某服饰客户退款率38%,未处理退款时Top10%用户的M值被高估17%。

(2)跨渠道ID打通

很多用户在小程序和App各有账号,订单分散。先用手机号或统一会员ID打通,否则F值会被严重低估。

(3)时间窗口选择

不要用自然年,改用过去12个月滚动窗口。自然年统计会让1月购买的用户到12月被误判为“久未购买”。

2. 分箱方法:分位数比平均值稳

计算好R、F、M之后,需要给每个指标分档。最常犯的错误是用平均值做边界。M值在绝大多数业务里是右偏的,平均值会被头部大单拉高,导致60%的用户被划入“低消费”。分位数的优势在于它不假设数据分布,按实际排序切出五等份,每一段都有明确的样本占比。

我在某母婴项目做过对比:平均值分箱后,F值二等分的结果中,41%的用户被分错组;切换到五分位数后,组内差异明显缩小,各组业务含义也更清楚。

数据分析 RFM 模型,用户价值分层实战

3. 权重设定:先跑数据再定权重

RFM权重没有标准答案,R:F:M = 1:1:1只是起点。权重要和业务目标绑定:如果目标是提升GMV,M值权重应加大;如果目标是挽回沉睡用户,R值权重应加大。我在上项目时通常准备两到三套权重方案,用过去90天的真实转化行为做回放,看哪一版的用户评分与后续复购行为一致性最高,再决定用哪套。

4. 八类人群与五档执行层

把R、F、M各分高低两档,会得到八类用户。但这八类并不适合直接落到运营端,需要合并成五个执行档位。八个分类用于分析,五个档位用于行动。

我在运营端把人群合并为:核心价值层、复购培养层、流失挽留层、潜在唤醒层、低价值沉默层。前端和中台同事只需要按这五个档位配置资源,不需要理解八分类的内部计算。

数据分析 RFM 模型,用户价值分层实战

5. 落地时用的评分卡与代码示例

为了把RFM跑成每周自动更新的任务,我通常会在数仓或定时脚本里写评分卡。下面是一段可以直接改写的SQL示意,核心是按分位数生成R、F、M三档评分:

— RFM评分卡示意(按用户维度)
SELECT

user_id,

CASE WHEN days_since_last_order = 5 THEN 5

WHEN order_cnt_90d >= 3 THEN 4

WHEN order_cnt_90d >= 2 THEN 3

WHEN order_cnt_90d >= 1 THEN 2

ELSE 1 END AS f_score,

CASE WHEN amount_365d_percentile >= 0.8 THEN 5

WHEN amount_365d_percentile >= 0.6 THEN 4

WHEN amount_365d_percentile >= 0.4 THEN 3

WHEN amount_365d_percentile >= 0.2 THEN 2

ELSE 1 END AS m_score

FROM rfm_base;

这套评分卡写清楚后,配合定时调度,每周自动刷新一次,运营团队随时可以取用。

三、拆解常见误区:为什么你的RFM分层不管用

1. 误区一:R值只看最近一次购买时间

“用户30天没买就是流失”这个阈值在很多品类里是错的。快消品和耐用品完全不一样。统一阈值会导致两类误判:把复购周期长得正常的用户当成流失,把真正流失但周期短的用户漏掉。

处理方式是为每个品类单独计算复购周期中位数,然后用“距上次购买天数 ÷ 品类复购周期中位数”作为标准化R值。

数据分析 RFM 模型,用户价值分层实战

2. 误区二:把F值当忠诚度

F值高不等于忠诚。用户可能在这里买了8次,也在竞品那里买了10次。真正的忠诚要看“偏好份额”或“复购间隔是否稳定”。对于只有购买数据的团队,我建议用“近6个月内购买次数最多的品牌”作为辅助判据,优先看用户在本店的购买占比。

3. 误区三:M值被大额订单或退款污染

M值的两个常见污染源:没有扣除退款;一次性大额采购。前者会让价值虚高,后者会把低频但偶然高额的用户误判为核心用户。处理方式是对超过客单价5倍以上(建议按品类定阈值)的订单做封顶,并使用近三个月的加权移动平均来平滑M值。

4. 误区四:用静态分层对应动态行为

用户行为时刻在变。三个月不更新分层,一层人就会混入杂质。我的建议是R、F、M指标每周计算,用户分层标签每月重算。对核心高价值用户的复购周期和R值要做单独监控,一旦偏离正常区间,立即报警。

5. 误区五:分层之后没有行动策略

这可能是RFM项目失败的最直接原因。模型输出只是中间产物,后续要跟着用户旅程设计具体动作。如果你给“重要价值用户”只发和普通用户一样的满减券,那他们自然会慢慢沉默。分层结果必须映射到内容、渠道、服务政策和预算分配上。

四、专业判断逻辑:RFM分层必须配合业务场景

1. 判断逻辑一:按业务目标动态调整权重

同一个平台,GMV冲刺期和用户激活期的权重应该不同。我在某食品电商项目里做过一次调整:拉新期使用R=0.5、F=0.3、M=0.2,全员拉活;利润期调成R=0.2、F=0.3、M=0.5,全量提效。两次调整都通过90天历史回放验证,确认用户分位与真实购买行为一致度更高后才上线。

数据分析 RFM 模型,用户价值分层实战

2. 判断逻辑二:把RFM放进用户生命周期

RFM是当前状态的快照,但用户生命周期告诉你为什么会变成这样。一个首次购买30天、R值很高、F=1、M很低的用户,如果只看RFM会被划为潜力新客。但你如果知道他是大促引流来的价格敏感用户,下一步策略就应该是引导试用全家桶,而不是再发大额满减。

3. 判断逻辑三:优先做流失预警而不是价值评级

比起花时间把用户分成“重要、一般、普通”,我更建议先把RFM转化为流失预警。具体做法是:计算每个用户的历史平均复购间隔,当“距上次购买天数”超过该用户“历史平均复购间隔 × 1.5”时,进入流失风险名单。这个名单比固定R阈值更贴近个体行为,召回频率和力度也更可控。

五、真实案例复盘:某美妆零售客户的分层过程

1. 数据基线先看清

这个项目有21万有效用户,过去12个月累计48.7万笔订单。消费集中度非常典型:前5%用户贡献38%的营收,前20%用户贡献72%。原始订单里有4.2万笔退款订单。如果不扣减这笔退款,M值会虚高,最终“重要价值用户”会被系统性放大。

2. 分层过程的关键动作

我把执行过程拆成四个步骤,每步都不依赖经验直觉:

  1. 清洗数据:扣减退款订单、合并同一用户多ID、使用滚动12个月窗口。
  2. 分位数分箱:对R、F、M三个指标分别按五分位数切分,生成1-5分评分。
  3. 权重回放:准备三套候选权重,用过去90天的真实复购行为回放,选择一致度最高的一套。
  4. 映射执行档位:将八类用户合并为五个执行档位,并在CRM里配置对应标签和运营流程。

3. 分组召回实验的结果

针对“高价值沉睡用户”,我们用三种策略做对照实验:专属优惠券、常规推送、无触达。14天复购率分别是14.2%、9.3%和6.8%。专属优惠券组相比常规推送,复购率提升了52.7%,ROI达到1:3.1。这验证了一个判断:高价值用户并不是不买,而是你没有给出足够有差异的回归理由。

数据分析 RFM 模型,用户价值分层实战

4. 成本与代价:分层需要投入什么

这套分层并不是免费的午餐。数据清洗大概投入4个人天,评分卡开发和历史回放用了6个人天,后续每个月还要0.5个人天维护调度。对百万级用户来说,需要一条完整的数据工程链路;对小商户来说,用Excel加几个函数也能做,只是更新节奏会慢一些。投入预算之前一定要先想清楚:你的用户量级和潜在挽回价值是否值得这套成本?

六、不同情况下的行动建议

1. 高价值活跃客户:重点维护+拓展新品类

这群人已经在持续购买、高额消费,你的重点不是盲目促单,而是提供确定性和优先感。建议配置专属客服、优先发货、新品试用和内测资格。这些权益的成本不高,但能让核心用户感受到差别对待。同时要留意人群规模,如果这一层超过总用户的15%,说明你的分箱边界需要重新校准。

数据分析 RFM 模型,用户价值分层实战

2. 高价值沉睡客户:定向召回

这是优先级最高的人群。他们过去买得多、买得频,只是近期没有动静。先用短信和私信做不打扰式触达,再针对未响应用户做高成本专属权益召回。重点是在召回后追踪90天内的复购次数,如果二次流失,就要转人工或咨询团队介入。

3. 潜力新客:引导频次

这群人刚买过一次,R值高但F值和M值都低。此时不要试图从他们身上赚钱,而是要帮他们建立消费习惯。推荐的动作是:在15天内推送基于已购商品的配套推荐,同时给“7天内复购95折”的小额权益,引导进入复购节奏。

4. 偶然大额客户:先判断意图再决定投入

用户只买了一次但金额很高,有可能是送礼、企业采购或大促囤货。先查看订单备注、商品品类和收货地址,判断是个人消费还是企业行为。如果是礼品类消费,复购周期很可能是一年一次,不值得按照电商高频逻辑投入召回。

5. 低价值沉默用户:自动化止损

这类用户占比最大,但整体价值低。不要安排人工运营,用定时自动化短信做触达,设置两次无响应停止投入的止损规则。把这些用户留给系统,把人工精力放到高价值人群上,才是正确的资源分配方式。

数据分析 RFM 模型,用户价值分层实战

七、不同情况下的取舍:RFM不是万能

不同行业在使用RFM时,需要先看下表对齐三个指标的定义。RFM框架的底层思想是通用的,但R、F、M的具体定义必须随业务形态重写。

业务类型R值定义F值定义M值定义运营重点
低频高客单耐用品(家电、家具、汽车)以季度/年为窗口替换为最近互动时间保留但放宽窗口识别潜在需求,前置服务干预
订阅制产品(视频会员、SaaS)保留替换为活跃使用天数/月替换为LTV预测降低流失、提升续费
新品牌或种子用户期(用户量<2000)放弃RFM,改做用户访谈、来源渠道质量分析
高频低客单零售(便利店、奶茶)合并R/F合并R/F替换为品类偏好提升到店频率和连带率
内容平台或游戏产品保留替换为内容消费次数替换为付费金额/时长贡献激励创作和付费

1. 低频高客单耐用品行业

家电、家具和汽车的用户复购周期可能长达数月甚至数年。F值基本失去区分意义,R值也需要以季度为单位。我建议把F值替换成“最近一次互动时间”或“售后保养记录”,重点关注“近期关注但长期未购”的潜在需求。

2. 订阅制产品

会员制产品用户持续付费,单次消费金额没有意义。M值应替换为“生命周期价值预测”,F值应替换为“活跃使用天数/月”。如果直接套电商RFM公式,得出的结论会和产品实际健康度完全相反。

3. 新品牌或种子用户期

用户不到2000人时分位数没有统计意义。此时RFM分层会给出非常不稳定的结论。我的建议是放弃RFM,先做用户访谈和来源渠道质量分析,搞清楚用户为什么买你,再考虑规模化分层的模型。

4. 高频低客单零售业态

便利店、奶茶店等业务的R值和F值高度相关:每天到店的顾客,最近购买时间和购买频次几乎是同一个变量。此时建议合并R和F,直接做“最近7天到店次数”+“品类偏好”,再补充地理位置和天气等外部变量。

5. 内容平台或游戏产品

非交易型业务里没有天然的M值。可以用“付费金额”“时长贡献”或“内容消费次数”代替,但必须在指标定义阶段就和业务团队对齐,免得模型上线后才发现指标理解不一致。

这些取舍说明:RFM框架的底层思想是通用的,但R、F、M的具体定义必须随业务形态重写。照搬电商公式是最常见的交付翻车原因。

回到文章开头那个案例:如果你也正拿着RFM分层结果准备做运营决策,我想提醒你,真正的风险不在模型计算,而在你有没有把数据清洗、分箱方法、权重回放和行动策略这四件事做扎实。RFM的价值不在那张分层表,而在你围绕分层结果做出的每一个决策。

下一步,我建议你亲自做三件事:

  1. 把过去12个月的订单数据导出来,用分位数分箱快速跑一版八类用户分布,看看和平均值分箱的结果差多少。
  2. 从中筛选出高价值沉睡用户,设计一个14天的专属召回测试。
  3. 拿召回数据和无触达对照组做对比,算出真实ROI。

做完这三步,你再回过头来调整权重和策略,就已经走在90%的团队前面。

常见问题解答(FAQ)

1. RFM模型的R、F、M指标应该如何定义,才能避免分层结果失真?

我以前直接用平台默认的近90天数据计算RFM,结果发现高频购买用户几乎都被判为高价值,但其中不少人只是低价小单。后来我才意识到,RFM最容易出错的地方不是打分,而是统计口径、观察窗口和退款订单的处理方式。

RFM没有一套适用于所有业务的固定口径。真正决定分层质量的,通常是三个问题:统计多长时间、什么算一次购买、金额按下单还是按实收计算。口径没定清楚,后面的五分制只是把误差包装得更整齐。以复购周期约30天的消费业务为例,我更建议先使用近180天作为交易观察窗口,再把最近一次有效购买距离今天的天数作为R。

这样可以避免只看90天时,新客和低频高客单用户被误判为低价值。

指标建议口径常见错误我的判断 R,最近购买今天减去最近一次已完成订单日期把下单未支付也算进去必须使用已支付且未全额退款的订单 F,购买频次观察期内的有效订单数把商品件数当成购买次数同一订单买10件,仍应计为1次购买 M,消费金额观察期内实收金额减退款直接使用订单原价用实收金额更接近真实贡献 打分时不要迷信平均分。

金额通常呈明显长尾,少数大客户会把均值拉高。我会先对M做99分位截尾,再按分位数切成五组;R则是天数越少分越高,F和M通常是数值越大分越高。还有一个经常被忽略的细节:如果业务存在月度、季度或年度购买周期,观察窗口不能短于一个完整复购周期的两到三倍。

否则“最近没买”不一定代表流失,可能只是用户还没到补购时间。

2. RFM分层后,应该如何把用户分成可执行的价值人群,而不是只得到一串分数?

我见过不少团队把用户分成R、F、M各自的高低分,然后停在“555是高价值、111是低价值”。但运营同事真正需要的是下一步怎么触达、给什么权益,以及哪些用户不值得继续投入。

RFM分数不是结论,而是诊断信号。我的做法是先保留三个原始指标,再把分数组合成行动人群;如果只保留一个总分,很容易把“高金额低频”和“低金额高频”混成同一类,而这两类人的运营策略完全不同。

人群典型特征优先动作不建议做什么 核心高价值R高、F高、M高新品优先、专属服务、会员权益频繁发无差别折扣 高金额低频M高、F低,或R开始变差做补购提醒和一对一回访直接判断为忠诚用户 高频低金额F高、M低提升客单价和组合购买继续用低门槛优惠拉频次 近期新客R高、F低、M不稳定推动第二次购买过早发高成本长期权益 沉睡高潜历史M或F高,但R低分层召回并核查流失原因全量大额优惠 我尤其重视“沉睡高潜”这类用户,因为他们往往比普通沉睡用户更值得挽回。

但召回不能只看历史消费额,还要检查最近一次购买后的售后、物流、价格变化和产品缺货情况。否则把服务问题误判成价格敏感,促销只会进一步损害利润。一个实用方法是给每个分层绑定“触发条件”和“退出条件”。例如,高频低金额用户只有在连续两次客单价超过目标值后,才升级为重点维护对象;

沉睡高潜用户连续两次召回无响应,就应降低触达成本,而不是无限追加优惠。

3. 新用户、低频用户和退款用户不适合直接套用标准RFM时,应该怎么处理?

我的数据里有一部分用户只有一次购买,还有一些用户下单金额很高,但最终退款比例也很高。如果把他们和正常复购用户放进同一张RFM表,分层结果会显得很漂亮,实际投放却经常亏损。

标准RFM默认用户已经产生了稳定交易,但现实中至少有三类人不适合直接比较:刚注册的新用户、天然低频的用户,以及退款或售后异常用户。把这些人硬塞进五等分,会让模型对数据稀疏用户产生过度判断。新用户建议单独建立“首购后阶段”。

例如首购后7天关注收货和使用,14至30天推动第二次购买,超过45天仍未复购才进入召回池。新用户的核心指标不是F,而是首购到二购的转化率。低频业务则应引入品类基准。假设某类产品平均购买周期为120天,那么用户90天未购买不能直接标记为沉睡;

可以计算“距离预计复购日的偏差”,用实际间隔与品类中位复购周期进行比较。

用户类型不宜直接使用的指标替代观察指标运营目的 首购用户F、长期M二购率、首购后活跃天数降低首次流失 低频用户短期R复购周期偏差避免误召回 高退款用户毛订单金额净支付金额、退款率控制虚假高价值 企业或大客户普通用户分位数合同金额、续约率、服务成本评估真实利润 退款处理是最容易造成模型幻觉的地方。

一次支付1000元、退款900元的订单,不能仍然按1000元计入M;我通常同时保留实收金额、退款金额和退款率,并设置规则:退款率超过某个阈值的用户不直接进入高价值权益池,先进入风险复核池。在一组示例复盘中,按毛订单金额识别出的高价值用户有18%在后续30天发生大额退款;

改用净支付金额并加入退款率过滤后,高价值人群规模减少约11%,但权益成本下降约16%。这说明分层人数变少不一定是坏事,关键是剩下的人是否更值得投入。

4. 如何验证RFM分层真的有效,并把它接入日常运营而不是做成一次性报表?

我曾经看到一个分层项目上线后,报表里高价值用户的复购率明显上升,团队一度认为模型成功了。后来做了对照组才发现,高价值用户本来就更容易复购,真正由策略带来的增量远没有报表显示的那么高。

RFM最不能省略的是增量验证。分层后的复购率、客单价和收入都可能自然上涨,但这不等于运营动作有效。最基本的做法是对每个人群保留一部分随机对照用户,不发送优惠或只发送基础触达,再比较实验组与对照组的差值。

人群实验组复购率对照组复购率表面提升应关注的指标 核心高价值38%34%4个百分点增量毛利,不只是复购率 高频低金额22%18%4个百分点客单价和优惠成本 沉睡高潜9%6%3个百分点召回成本与净收入 近期新客27%21%6个百分点二购时间和后续留存 不要只看短期收入。

我会同时看增量订单、增量毛利、优惠成本、退款率和后续30至60天留存。如果召回活动带来更多订单,却让退款率和折扣依赖上升,那可能只是把未来需求提前透支,并没有创造真实价值。模型更新频率也要按业务变化决定。高频消费业务可以每周更新一次,低频耐用品则更适合按月或按季度更新。

每次更新都要记录分层迁移,例如有多少核心用户跌入沉睡、多少新客完成二购,以及迁移是否由真实交易变化造成。最后,建议给RFM增加一个“策略日志”:记录分层版本、数据窗口、触达内容、优惠成本和实验结果。没有这份日志,三个月后很难判断效果变差是用户变了、口径变了,还是活动设计本身失效。

RFM的终点不是一张用户价值表,而是一套能持续接受反馈的决策系统。

核心关键词

读者评论

武雨桐

文章把RFM从理论拆到了数据清洗、分箱、权重和运营执行,尤其是退款订单、跨渠道ID和复购周期这些细节,确实是实际项目中最容易被忽略的部分。

黎俊杰

用分位数分箱替代平均值的思路比较有参考价值,但文中部分准确率和ROI数据属于项目示意,实际应用时仍需要结合样本量、行业分布和实验周期验证。

吕知夏

把八类用户合并为五个执行档位比较符合运营协作需求,分析模型和执行标签分开,能降低业务团队理解和使用的门槛。

曾云舟

文章对R值的处理比较实用,不同品类采用复购周期中位数比统一设置30天或60天更合理,也更适合识别真正的流失风险。

史书瑶

SQL示例能帮助快速入门,但正式上线前还应补充退款时间、异常订单封顶、重复下单和评分边界等规则,否则自动刷新后仍可能产生偏差。

免责申明:本文内容通过AI工具匹配关键字智能整合而成,仅供参考,帆软及九数云不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系jiushuyun@fanruan.com进行反馈,九数云收到您的反馈后将及时处理并反馈。
咨询方案
咨询方案二维码

扫码咨询方案

热门产品推荐

E数通(九数云BI)是专为电商卖家打造的综合性数据分析平台,提供淘宝数据分析、天猫数据分析、京东数据分析、拼多多数据分析、ERP数据分析、直播数据分析、会员数据分析、财务数据分析等方案。自动化计算销售数据、财务数据、绩效数据、库存数据,帮助卖家全局了解整体情况,决策效率高。

相关内容

查看更多
数据分析实战教育案例,在线教育转化分析

数据分析实战教育案例,在线教育转化分析

我接手一个年投放预算超3000万的在线教育项目时,后台数据看板上有几十个指标,但没人能回答:为什么试听预约量涨 […]
数据分析实战教程,抖音账号流量增长分析

数据分析实战教程,抖音账号流量增长分析

很多抖音账号的播放量已经从每条几千涨到几万,账号却没有明显增加有效粉丝;相反,有些视频只有两三万播放,却能带来 […]
数据分析实战家居案例,家居行业用户分析

数据分析实战家居案例,家居行业用户分析

数据分析实战家居案例,家居行业用户分析 我在2019年接手过一家中高端家居连锁品牌的数据分析项目,当时甲方市场 […]
数据分析实战金融案例,银行风控分析项目

数据分析实战金融案例,银行风控分析项目

2022年我参与的某城商行零售信贷风控分析项目,业务背景是贷款不良率连续两个季度上涨,从1.4%抬升到2.1% […]
数据分析实战满减案例,满减活动效果分析

数据分析实战满减案例,满减活动效果分析

数据分析实战满减案例,满减活动效果分析 2023年Q4,我接手了一家连锁烘焙品牌的满减活动复盘。品牌方在11月 […]

让电商企业精细化运营更简单

整合电商全链路数据,用可视化报表辅助自动化运营

让决策更精准