基于Power BI的终端消费会员客户价值RFM分析

news2024/11/19 2:46:50

一、原理:RFM分析

(一)概念

RFM模型衡量当前客户价值和客户潜在价值的重要工具和手段。通过一个客户的近期购买行为、购买的总体频率以及花了多少钱三个维度来描述该客户价值状况的客户分类模型。

(二)分析维度

  • R(近度),是指客户的最近一次消费时间,用最通俗的话说就是,客户最后一次消费时间距今天(或指定时间)有多长时间了,这个指标与客户流失和复购直接相关。
  • F(消费次数),是指客户下单频率,通俗一点儿就是,客户在分析的周期内消费了几次。这个指标反映了客户的消费活跃度。
  • M(消费金额),是指客户消费金额,其实就是客户在分析的周期内在终端花了多少钱,直接反映了客户对终端贡献的价值。

(三)客户类型及策略

将R近度、F消费次数、M消费金额,以分析周期内的平均值为界各划分为两个层次。

 将R、F、M进行组合,可以得到8种客户类型:

 二、数据源

(一)表1《会员销售记录》

根据终端云Pos系统导出的《8~10月销售单据》和《会员名单》,得到表1《8~10月会员销售记录》。

 (二)表2《RFM客户分类》

三、可视化呈现

(一)《单一周期消费分员客户价值RFM分析》

  • 显示单一周期内,各客户类型消费会员数量及数量占比
  • 查询某一客户类型消费会员RFM信息

(二)《多个周期消费会员客户价值RFM分析》

  • 显示不同周期消费会员数量、R近度平均值、F消费次数平均值、M消费金额平均值
  • 显示不同周期各客户类型消费会员数量
  • 显示不同周共用各客户类型消费会员数量变化情况
  • 查询某一客户类型在不同周期的消费会员RFM信息

 四、实操步骤

(一)步骤一:数据获取与数据整理

  • 表1《8~10月会员销售记录》
  • 表2《RFM客户分类》

(二)步骤二:新建表《按订单汇总》

表《按订单汇总》

1.新建表

  • 按订单汇总 = SUMMARIZE('表1-会员销售记录','表1-会员销售记录'[流水号],'表1-会员销售记录'[日期],'表1-会员销售记录'[会员姓名],'表1-会员销售记录'[会员手机],"金额",SUM('表1-会员销售记录'[金额]))

2.新建列

  • 近度(天) = DATE(2022,11,1)-'按订单汇总'[日期].[Date]
  • 月近度(天) = DATE(2022,'按订单汇总'[日期].[MonthNo]+1,1)-'按订单汇总'[日期].[Date]
  • 月份 = '按订单汇总'[日期].[MonthNo] & "月"
  • 月份编号 = '按订单汇总'[日期].[MonthNo]

(三)步骤三:8~10月客户价值RFM分析---数据建模

表《8~10月RFM分析》

建立关系

1.新建表《8~10月RFM分析》

  • 8~10月RFM分析 = SUMMARIZE('按订单汇总','按订单汇总'[会员姓名],'按订单汇总'[会员手机],“R近度(天)",MIN('按订单汇总'[近度(天)]))

2.计算“R”

  • 新建度量值存储表,主页-数据-输入数据-《表0-度量值》
  • 新建度量值,R近度平均值 = AVERAGEX(ALL('8~10月RFM分析'),'8~10月RFM分析'[R近度(天)])
  • 新建列,R = IF('8~10月RFM分析'[R近度(天)]<'表0-度量值'[R近度平均值],1,0)

3.计算“F”

  • 新建列,F消费次数(次) = COUNTROWS(FILTER('按订单汇总','按订单汇总'[会员手机]='8~10月RFM分析'[会员手机]))
  • 新建度量值,F消费次数平均值 = AVERAGEX(ALL('8~10月RFM分析'),'8~10月RFM分析'[F消费次数(次)])
  • 新建列,F = IF('8~10月RFM分析'[F消费次数(次)]>'表0-度量值'[F消费次数平均值],1,0)

4.计算“M”

  • 新建列,M消费金额(元) = SUMX(FILTER('按订单汇总','按订单汇总'[会员手机]='8~10月RFM分析'[会员手机]),'按订单汇总'[金额])
  • 新建度量值,M消费金额平均值 = AVERAGEX(ALL('8~10月RFM分析'),'8~10月RFM分析'[M消费金额(元)])
  • 新建列,M = IF('8~10月RFM分析'[M消费金额(元)]>'表0-度量值'[M消费金额平均值],1,0)

5.新建列“RFM”

  • RFM = '8~10月RFM分析'[R] & '8~10月RFM分析'[F] & '8~10月RFM分析'[M]

6.建立关系

  • 表“8~10月RFM分析”与表“RFM分类”,通过字段“RFM”建立关系
  • 字段区,隐藏设置

(四)步骤四:8~10月消费会员客户价值RFM分析---可视化呈现

报表《XX终端8~10月消费会员客户坐RFM分析》

1.矩阵-《各客户类型消费会员数量与数量占比》

  • 新建度量值,消费会员数量 = COUNT('8~10月RFM分析'[会员手机])
  • 新建度量值,数量占比 = DIVIDE('表0-度量值'[消费会员数量],COUNTX(ALL('8~10月RFM分析'),'8~10月RFM分析'[会员手机]))
  • 生成视觉对象-矩阵

2.堆积柱形图-《各客户类型消费会员数量》

  • 生成视觉对象-堆积柱形图

3.表-《消费会员RFM信息表》

  • 生成视觉对象-表

4.切片器-《客户类型》

  • 生成视觉对象-切片器

5.文本框-《XX终端8~10月消费会员客户价值RFM分析》

  • 插入-文本框
  • 编辑交互

(五)步骤五:月消费会员客户价值RFM分析---数据建模

表《月度RFM分析》

 建立关系

 1.新建表《10月按订单汇总》

  • 10月按订单汇总 = FILTER('按订单汇总','按订单汇总'[月份编号]=10)

2.新建表《10月RFM分析》

  • 10月RFM分析 = SUMMARIZE('10月按订单汇总','10月按订单汇总'[月份],'10月按订单汇总'[月份编号],'10月按订单汇总'[会员姓名],'10月按订单汇总'[会员手机],"R近度(天)",MIN('10月按订单汇总'[月近度(天)]))

3.计算“R”

  • 新建度量值,R近度平均值(10月) = AVERAGEX(ALL('10月RFM分析'),'10月RFM分析'[R近度(天)])
  • 新建列,R = IF('10月RFM分析'[R近度(天)]<'表0-度量值'[R近度平均值(10月)],1,0)

4.计算“F”

  • 新建列,F消费次数(次) = COUNTROWS(FILTER('10月按订单汇总','10月按订单汇总'[会员手机]='10月RFM分析'[会员手机]))
  • 新建度量值,F消费次数平均值(10月) = AVERAGEX(ALL('10月RFM分析'),'10月RFM分析'[F消费次数(次)])
  • 新建列,F = IF('10月RFM分析'[F消费次数(次)]>'表0-度量值'[F消费次数平均值(10月)],1,0)

5.计算“M”

  • 新建列,M消费金额(元) = SUMX(FILTER('10月按订单汇总','10月按订单汇总'[会员手机]='10月RFM分析'[会员手机]),'10月按订单汇总'[金额])
  • 新建度量值,M消费金额平均值(10月) = AVERAGEX(ALL('10月RFM分析'),'10月RFM分析'[M消费金额(元)])
  • 新建列,M = IF('10月RFM分析'[M消费金额(元)]>'表0-度量值'[M消费金额平均值(10月)],1,0)

6.新建列“RFM”

  • 新建列,RFM = '10月RFM分析'[R] & '10月RFM分析'[F] & '10月RFM分析'[M]

7.重复以上步骤,完成《9月RFM分析》、《8月RFM分析》

8.新建表《月度RFM分析》

  • 月度RFM分析=UNION(‘10月RFM分析’, ‘9月RFM分析’, ‘8月RFM分析’

9.建立关系

  • 表《月度RFM分析》和表《RFM客户分类》,通过字段“RFM”建立关系
  • 字段,设置隐藏

(六)步骤六:月消费会员客户价值客户价值RFM分析-可视化呈现

报表《XX终端月度消费会员RFM分析》

 1.矩阵---《月度R、F、M平均值及消费会员数量》

  • 新建度量值,月度消费会员数量 = COUNT('月度RFM分析'[会员手机])
  • 新建度量值,月度R近度平均值 = AVERAGE('月度RFM分析'[R近度(天)])
  • 新建度量值,月度F消费次数平均值 = AVERAGE('月度RFM分析'[F消费次数(次)])
  • 新建度量值,月度M消费金额平均值 = AVERAGE('月度RFM分析'[M消费金额(元)])
  • 生成视觉对象-矩阵

2.矩阵---《月度各类型客户消费会员数量》

  • 生成视觉对象-矩阵

3.簇状柱形图---《月度各类型客户消费会员数量》

  • 生成视觉对象-簇状柱形图

4.表---《月度消费会员RFM信息表》

  • 生成视觉对象-表
  • 设置筛选器

5.切片器---《客户类型》

  • 生成视觉对象-切片器

6.插入---文本框

  • 插入-文本框
  • 编辑交互

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/157280.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用标量衍射理论和菲涅耳和弗劳恩霍夫衍射的衍射对波动光学进行建模(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 本文使用Matlab对波动光学进行建模。包括使用标量衍射理论和菲涅耳和弗劳恩霍夫衍射的衍射。 &#x1f4da;2 运行结果 &#…

北大硕士LeetCode算法专题课-栈、队列相关问题

算法面试相关专题&#xff1a; 北大硕士LeetCode算法专题课--链表相关问题_ 北大硕士LeetCode算法专题课-查找相关问题_ 北大硕士LeetCode算法专题课-字符串相关问题_ 北大硕士LeetCode算法专题课-数组相关问题_ _ 北大硕士LeetCode算法专题课-基础算法之排序_ 北…

四、Javaweb之Filter、Listener、Ajax、Vue

文章目录12. Filter 和 Listener12.1 Filter快速入门和执行流程12.2 Filter使用细节12.3 Filter案例&#xff1a;登录验证12.4 Listener13. AJAX13.1 AJAX快速入门13.2 AJAX案例13.3 Axios异步框架13.4 JSON13.5 JSON案例SelectAllServlet.javabrand.htmlAddServlet.javaaddBra…

某集团汽车配件电子图册性能分析案例(二)

背景 汽车配件电子图册系统是某汽车集团的重要业务系统。业务部门反映&#xff0c;汽车配件电子图册调用图纸时&#xff0c;出现访问慢现象。 某汽车集团总部已部署NetInside流量分析系统&#xff0c;使用流量分析系统提供实时和历史原始流量。本次分析重点针对汽车配件电子图…

JDBC简介及原理和使用介绍

JDBC简介及原理和使用介绍JDBC简介 jdbc概述 ​ Java数据库连接&#xff0c;&#xff08;Java Database Connectivity&#xff0c;简称JDBC&#xff09;是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口&#xff0c;提供了诸如查询和更新数据库中数据的方法。 …

WebGL-iTwin.js】实战篇(二):用nodejs代码详解iTwin.js中PhysicalObject生成方法

PhysicalObject 即真实存在的物理对象&#xff0c;比如&#xff1a;电脑、桌子等。在webgl中&#xff0c;我们人眼能看到的模型都是PhysicalObject&#xff0c;由多种几何图元类型构成&#xff0c;如&#xff1a;网格、实体、曲面、曲线&#xff0c;点云等。 其中带索引的多边…

XCTF:cat

打开是一个输入框&#xff0c;要求输入域名&#xff0c;尝试输入baidu.com进行测试 并无任何回显&#xff0c;测试下127.0.0.1本地地址 执行成功&#xff0c;并出现ping命令结果&#xff0c;这里很容易联想到命令注入&#xff0c;尝试进行命令拼接注入 但测试了常用的拼接字…

【5】变量和常量

一、什么是变量 首先我们要理解这么一个概念&#xff0c;在程序的运行过程中所有数据是保存在内存中的&#xff0c;我们代码中想使用这个数据的时候就要从内存中找&#xff0c;而变量的作用类似就是将内存地址保存&#xff0c;之后直接通过这个变量找内存中的数在Go语言中&…

JNI和Ndk开发

按照一下配置&#xff0c;基本能保证demo跑通 1、下载NDK&#xff0c;下载需要的版本 2、下载Cmake版本 3、项目结构&#xff1a;含C源码 4、编写JNI的加载类 public class YjkModel {static {System.loadLibrary("nativ"); //跟CMakeLists.txt 库名一致}public nat…

基于 APISIX 的服务网格方案 Amesh 积极开发中!

作者lingsamuel&#xff0c;API7.ai 云原生技术专家&#xff0c;Apache APISIX Committer。 在云原生快速发展的前提下&#xff0c;服务网格领域也开始逐渐火热。目前阶段&#xff0c;大家所熟知的服务网格解决方案很多&#xff0c;每种产品又各有其优势。因此在面对不同的行业…

python直接赋值、浅拷贝与深拷贝

本文主要参考这篇博文python浅拷贝与深拷贝 基本概念 首先了解python中的一些基本概念 变量&#xff1a;是一个系统表的元素&#xff0c;拥有指向对象的连接空间对象&#xff1a;被分配的一块内存&#xff0c;存储其所代表的值引用&#xff1a;是自动形成的从变量到对象的指…

ECU Extract + OS Task Mapping 步骤

纲要&#xff1a; 通过 Composition里面的Assembly Connection (Intra-ECU Communication)System Extract 里面的SystemDataMapping (Inter-ECU Communication) 已经把SWC的所有Data Element都连接上了&#xff0c;接下来就是把SWC的Runnable给Mapping到对应的OS Task上&…

(三)redis五大数据类型和key

目录 一、redis键&#xff08;key&#xff09;的常用操作 二、redis字符串&#xff08;String&#xff09; 1、简介 2、常用命令 3、数据结构 三、redis列表&#xff08;List&#xff09; 1、简介 2、常用命令 3、数据结构 四、redis集合&#xff08;Set&#xff09;…

Django(16):rest_framework框架使用指南

目录1.安装配置2.数据序列化2.1 Serializer2.2 ModelSerializer2.3 序列化对象的属性和方法3.请求和响应3.1 Request3.2 Response3.3 状态码3.4 as_view3.5 format_suffix_patterns3.6 示例4.CBV构建&#xff08;基于类的视图&#xff09;4.1 如何构建4.2 类型视图的扩展功能4.…

DMIPS, FLOPS, OPS概念

DMIPS DMIPS(Dhrystone Million Instructions executed Per Second)&#xff1a;Dhrystone是测量处理器运算能力的最常见基准程序之一&#xff0c;常用于处理器的整型运算性能的测量。Dhrystone是一种整数运算测试程序。换句话说&#xff0c;就是使用Dhrystone这种程序在不同的…

【云原生 | 52】Docker三剑客之Docker Compose第三节

&#x1f341;博主简介&#xff1a; &#x1f3c5;云计算领域优质创作者 &#x1f3c5;2022年CSDN新星计划python赛道第一名 &#x1f3c5;2022年CSDN原力计划优质作者 &#x1f3c5;阿里云ACE认证高级工程师 &#x1f3c5;阿里云开发者社区专…

FineReport填报报表

二次确认&#xff0c;删除行&#xff1a;参考&#xff1a; JS实现删除时二次确认- FineReport帮助文档 - 全面的报表使用教程和学习资料JS实现记录填报操作- FineReport帮助文档 - 全面的报表使用教程和学习资料确认后直接校验提交// 二次确认 var cell this.options.location…

开始安装Domino 12.0.2

大家好&#xff0c;才是真的好。 上周我们话题是NotesDomino12.0.2产品发布&#xff0c;主要说到了Domino12.0.2的新特性&#xff0c;新特性很多&#xff0c;要用很多篇来进行测试和说明。 今天我们主要谈谈Domino 12.0.2的系统要求和安装等。 首先&#xff0c;Domino12.0.2…

一、初识FreeRTOS之FreeRTOS简介

目录 一、什么是FreeRTOS&#xff1f; 二、为什么选择FreeRTOS&#xff1f; 三、FreeRTOS的特点 四、FreeRTOS资料与源码下载 五、FreeRTOS源码文件介绍 一、什么是FreeRTOS&#xff1f; Free即免费的&#xff0c;RTOS的全称是Real time operating system,中文就是实时操作…

python数据结构(一):字符串

一、字符串的格式化输出 1.1、格式化运算符 print("我跑完了第" str(lap 1) "圈")上面这段输出的代码使用了两个加号做了字符串拼接&#xff0c;并且将整形转换成了字符串。也可以使用一种更好的办法&#xff0c;格式化输出来打印这句话。 print(&quo…