RFM 模型 是数据分析中非常经典、实用的一种用户价值评估模型,特别适合用在电商、营销、会员管理、客户分析等场景 中。下面我会从原理、计算、分层、Power BI 实现和应用场景五个方面详细讲解。
🧠 一、什么是 RFM 模型?
RFM 模型是从三个维度来衡量客户价值的:
字母 | 含义 | 中文释义 | 说明 |
---|---|---|---|
R | Recency | 最近一次购买时间 | 越近越活跃 |
F | Frequency | 购买频率 | 越多越忠诚 |
M | Monetary | 购买金额 | 越高越有价值 |
🔍 二、RFM 怎么计算?
假设你有客户的交易记录表,包含:
- 客户ID(CustomerID)
- 订单日期(OrderDate)
- 金额(Amount)
你可以按客户分组,计算出以下字段:
客户 | R(天数) | F(订单数) | M(总金额) |
---|---|---|---|
A | 7 | 10 | ¥5000 |
B | 90 | 2 | ¥500 |
C | 15 | 5 | ¥1200 |
其中:
- R:今天日期减去最后一次购买日期
- F:订单数量
- M:消费总金额
📊 三、如何打分和分层?
通常是把 R、F、M 分别打 1~5 分(或其他等级),越高分代表越好:
维度 | 打分规则(示例) |
---|---|
R | 越近打分越高(1~5) |
F | 越多打分越高(1~5) |
M | 金额越大打分越高(1~5) |
👉 然后拼接 RFM 分数,比如客户 A 的得分是 5-5-5,客户 B 是 1-1-1。
🎯 分层示例(RFM 组合标签):
RFM组合 | 用户类型 |
---|---|
555 | 核心客户 |
155 | 潜在高价值客户 |
511 | 活跃新用户 |
111 | 流失低价值用户 |
🛠 四、Power BI 中如何实现 RFM 模型?
✅ 步骤 1:准备数据
你的数据需要包括这些字段:
- CustomerID
- OrderDate
- SalesAmount
✅ 步骤 2:建一个"RFM"计算表(用 DAX)
DAX
最近购买天数 =
DATEDIFF(
MAX(Sales[OrderDate]),
TODAY(),
DAY
)
购买次数 =
CALCULATE(COUNTROWS(Sales), ALLEXCEPT(Sales, Sales[CustomerID]))
总消费金额 =
CALCULATE(SUM(Sales[Amount]), ALLEXCEPT(Sales, Sales[CustomerID]))
然后你可以为 R、F、M 分别打分:
DAX
R得分 =
SWITCH(
TRUE(),
[最近购买天数] <= 30, 5,
[最近购买天数] <= 60, 4,
[最近购买天数] <= 90, 3,
[最近购买天数] <= 180, 2,
1
)
F得分 =
SWITCH(
TRUE(),
[购买次数] >= 20, 5,
[购买次数] >= 10, 4,
[购买次数] >= 5, 3,
[购买次数] >= 2, 2,
1
)
M得分 =
SWITCH(
TRUE(),
[总消费金额] >= 10000, 5,
[总消费金额] >= 5000, 4,
[总消费金额] >= 2000, 3,
[总消费金额] >= 500, 2,
1
)
RFM标签 = [R得分] & [F得分] & [M得分]
✅ 步骤 3:使用这个 RFM 分层字段做可视化
你可以创建饼图、柱状图,查看各类客户群体的数量、占比、总销售额等。
🚀 五、RFM 应用场景
行业 | 应用方式 |
---|---|
电商 | 用户精准营销、优惠券投放 |
旅游 | 活跃旅客推荐新路线、流失用户召回 |
金融 | 高价值客户 VIP 管理、低活跃用户提醒 |
游戏 | 核心玩家维护、充值用户促活 |
教育 | 学生分类管理、课程推荐策略 |
✅ 总结
项目 | 内容说明 |
---|---|
模型名 | RFM(Recency, Frequency, Monetary) |
用途 | 客户价值分析与分层 |
方法 | 计算每个维度 → 打分 → 拼标签 |
工具 | Power BI 中可用 DAX 实现 |