零基础入门!手把手教你用Power BI做RFM分析,轻松锁定高价值客户

Power BI财销一体分析——RFM分析实践

欢迎来到Powerbi小课堂,前几期课程我们深入学习了各种财务、销售实用案例。

本期我将带领大家整合分散知识点,逐步构建一个全面的分析模型,涵盖封面、登录页、导航页、CEO驾驶舱等模块,以及趋势、产品、畅销品等多维度分析,同时融入度量值嵌套、计算组、动态指标、TOPN分析等高阶技巧。

今天我将为大家带来RFM分析应用实践,RFM模型是一种用于客户价值分析的经典营销工具,通过三个核心维度对客户进行细分,企业可快速定位核心客户群体,优化营销资源分配,提升客户生命周期价值(CLV)。这一工具广泛应用于企业战略规划,帮助公司评估业务组合并优化资源分配

接下来,让我们直接进入今天的实用技巧分享环节。如果您在实践过程中遇到任何问题,欢迎留言交流。请关注我们的公众号《BI研究所》,以获取更多案例更新和学习资源。

 

 

想要一份这样的可视化看板吗?想学吗?我教你呀!

一、案例背景:

我司作为专业运动自行车跨国销售企业,业务范围涵盖自行车、组件、配件及运动服装。当前,我们正致力于开发财销一体化分析系统,旨在通过技术手段实现财务与销售的紧密结合,促进数据共享与流程优化,进而提升决策效率与运营效率,优化资源配置,强化风险控制,为企业的可持续发展注入动力。

 

二、设计思路:

通过成本、销量、利润及销售维度精准掌控财务状况,从产品、客户及地域三个层面深入分析企业运营趋势,

(1)、准备基础数据

(2)、数据清洗

(3)、建立关系视图

(4)、个性美化设计

(5)、数据建模(度量值)

(6)、制作可视化报告

首先我们要理解RFM分析是什么

RFM的含义

RRecency - 最近一次消费):客户最近一次购买的时间间隔,反映其活跃度。间隔越短,客户价值越高。

FFrequency - 消费频率):客户在特定周期内的购买次数,反映忠诚度。频率越高,客户黏性越强。

MMonetary - 消费金额):客户在特定周期内的总消费金额,反映贡献度。金额越高,客户价值越大。

模型作用

客户分层:将客户分为高价值、潜力、流失风险等群体。

精准营销:针对不同群体设计促销活动(如高价值客户专属优惠、流失客户召回活动)。

资源优化:集中资源维护高价值客户,提升ROI

指标计算

R:当前日期 - 最后一次购买日期(如:30天前)。

F:统计周期内的订单数(如:过去1年购买5次)。

M:统计周期内的总消费额(如:过去1年累计消费5000元)。

评分划分:对每个维度按价值高低打分(如1-5分,5分为最优)。

客户分群:根据R/F/M组合划分群体(常见分群见下表)。

 

 

应用场景

电商:识别高频高消费用户,推送会员权益。

零售:对久未消费客户发送折扣码。

服务业:为高价值客户提供个性化服务。

 

 

在建模之前,我们要先了解下此分析方法的难点,此模型难点并不多,最大的难点就是客户分群划分,为了更直观呈现数据,今日我们大部分的指标建立都使用新建列公式,在这里我要啰嗦一句,数据建模主要还是使用度量值,使用列公式会使模型运行速度下降

 

数据建模:RFM分析

 

公式:(新建列)

 

最后一个交易日期 = MAXX(FILTER('销售',EARLIER('客户表'[客户关键])='销售'[客户关键字]),'销售'[订单日期键])

 

公式逻辑解析:

MAXX():返回表中某列的最大值(此处取最大日期,即最近一次交易)。

FILTER():筛选满足条件的表数据。

EARLIER():引用"当前行"的上下文值(类似循环中的临时变量)。

1.

筛选客户交易记录
FILTER('销售', EARLIER('客户表'[客户关键]) = '销售'[客户关键字])
→ 在'销售'表中,筛选出与当前客户('客户表'[客户关键])匹配的所有交易记录。

提取最大日期
MAXX(筛选后的表, '销售'[订单日期键])
→ 从筛选出的交易记录中,找出最大的订单日期(即最后一次购买日期)。

 

 

公式:(新建列)

 

R(消费日期差) = DATEDIFF([最后一个交易日期],LASTDATE('日期表'[日期]),HOUR)

公式逻辑解析:以bayA类产品的客户数为例

DATEDIFF():计算两个日期之间的差值,支持DAY/HOUR/MINUTE等单位。

LASTDATE():返回当前筛选上下文中的最后一个日期(如报表筛选器的截止日期)。

 

公式:(新建列)

F(交易次数) = '度量值存放'[订单数量]

M(销售金额) = '度量值存放'[总销售额]

公式逻辑解析:

之前我们已经建立过关于订单数量、消费金额的度量值,这里我们直接引用为列就可以

公式:(新建列)

 

RFM = IF('客户表'[R(消费日期差)]<=AVERAGE('客户表'[R(消费日期差)]),2,1)

&IF('客户表'[F(交易次数)]>=AVERAGE('客户表'[F(交易次数)]),2,1)

&IF('客户表'[M(销售金额)]>=AVERAGE('客户表'[M(销售金额)]),2,1)

 

 

公式逻辑解析:

 

 

通过&符号将三个评分拼接成三位数代码,例如:

"222"R/F/M均优于平均(高价值客户)

"121"R值差、F值优、M值差(需激活的频繁低消费客户)

R值的特殊性

R值(消费间隔)与其他两个维度相反:越小越好(间隔短=活跃),因此用<=判断是否优于平均。

平均值计算的上下文

AVERAGE()会根据当前报表筛选上下文动态计算。例如:

若筛选"2023年数据",则平均值仅基于2023年客户行为;

 

 

公式:(新建列)

 

会员分组 = SWITCH('客户表'[RFM],

"111","流失会员",

"112","重要挽留会员",

"121","一般保持会员",

"122","重要保持会员",

"211","新会员",

"212","重要发展会员",

"221","一般价值会员",

"222","重要价值会员",

BLANK())

 

 

公式逻辑解析:

根据业务含义对照表,详细梳理并明确逻辑流程

 

 

 

拓展:依照会员分组,结合公司策略直观呈现维护客户的方式,

 

营销动作 =

SWITCH(

'客户表'[会员分组],

"重要价值会员", "赠送年度VIP会员资格",

"重要挽留会员", "限时7折+包邮优惠券",

"新会员", "第二单立减50元",

"无动作"

)

 

 

公式:(度量值)

客单价 = DIVIDE([总销售额],[客户数量])

客单量 = DIVIDE([销量],[客户数量])

 

公式逻辑解析:

总销售额 ÷ 独立客户数 = 每个客户的平均消费金额

总销量 ÷ 独立客户数 = 每个客户平均购买的商品件数

 

风险信号

客单价高但客单量极低 可能依赖少数大单,客户覆盖面不足。

客单量高但客单价低 可能薄利多销,利润率承压。

客单价揭示客户消费能力,指导价格策略和品类规划。

客单量反映购买频次和广度,驱动库存和促销设计。

结合使用可全面评估客户价值,避免"高销售额但低利润"的陷阱

 

 

制作可视化报告

第一步:设置报表页格式选项,选择画布背景,上传我们设计好的素材

第二步:插入一个矩形,填充颜色,打开阴影、发光功能

第三步:添加主页图标图像,启用交互功能,设置类型为书签,并指定书签为主页,点击该图标即可快速跳转至主页。

第四步:插入图像导航图标。

第五步:插入四个切片器,第一个切片器拖入日期表日期字段,第二个切片器拖入客户表会员类型字段,第三个切片器拖入销售订单表渠道字段,第四个切片器拖入客户表城市字段,插入四个文本框分别输入日期、会员类型、渠道和城市。分别置于对应切片器前,调整位置到页面顶端,视图窗口点击选择功能,将这种可视化选中,右键点击分组,重命名为切片器组。

第六步:插入一个第三方视觉对象Image Grid,将销售区域表图片链接拖入Image url将度量值客户数量拖入Value

第七步:插入一个环形图,将度量值客户数量拖入值区域,图例使用客户表会员类型,设置视觉对象格式,关闭图例打开详细信息标签,选择类别总百分比

第八步:插入一个矩阵图,将客户表会员类型字段拖入行区域,将销售区域表图像字段拖入列区域,再将度量值消费贡献率拖入值区域。

第九步:插入一个树状图,将度量值客户数量拖入分析区域,将客户表国家-地区、城市、会员类型和产品表子类别作为解释依据

 

第十步:插入一个散点图,值拖入分客户表会员类型字段,将度量值客单价拖入X轴,将客单量拖入Y轴,大小拖入度量值消费贡献率,客户表国家-地区字段作为图例

第十一步:参照图示对页面布局进行美化。

第十二步:为此页面添加一个书签,并将其拖动至页面导航的书签分组内,此时,书签将自动显示在书签导航器中。

 

 

好的,今天的讲解就到这里。后期课程也会逐渐增加难度,如果在学习过程中需要帮助,欢迎随时联系作者,精彩内容,敬请期待

 获取模板文件或咨询,联系瓶子微信wdfyqx 

 公众号《BI研究所》

posted @ 2025-04-06 18:34  瓶子xf  阅读(288)  评论(0)    收藏  举报