PowerBi中RFM模型的应用

389 阅读3分钟

RFM 模型是数据分析中非常经典、实用的一种用户价值评估模型,特别适合用在电商、营销、会员管理、客户分析等场景中。下面我会从原理、计算、分层、Power BI 实现和应用场景五个方面详细讲解。


🧠 一、什么是 RFM 模型?

RFM 模型是从三个维度来衡量客户价值的:

字母含义中文释义说明
RRecency最近一次购买时间越近越活跃
FFrequency购买频率越多越忠诚
MMonetary购买金额越高越有价值

🔍 二、RFM 怎么计算?

假设你有客户的交易记录表,包含:

  • 客户ID(CustomerID)
  • 订单日期(OrderDate)
  • 金额(Amount)

你可以按客户分组,计算出以下字段:

客户R(天数)F(订单数)M(总金额)
A710¥5000
B902¥500
C155¥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)

最近购买天数 = 
DATEDIFF(
    MAX(Sales[OrderDate]),
    TODAY(),
    DAY
)

购买次数 = 
CALCULATE(COUNTROWS(Sales), ALLEXCEPT(Sales, Sales[CustomerID]))

总消费金额 = 
CALCULATE(SUM(Sales[Amount]), ALLEXCEPT(Sales, Sales[CustomerID]))

然后你可以为 R、F、M 分别打分:

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 实现