数据分析案例(三):基于RFM分析的客户分群

实验2 基于RFM分析的客户分群

Tips:"分享是快乐的源泉💧,在我的博客里,不仅有知识的海洋🌊,还有满满的正能量加持💪,快来和我一起分享这份快乐吧😊!

喜欢我的博客的话,记得点个红心❤️和小关小注哦!您的支持是我创作的动力!"

一、实验目的

1掌握RFM分析方法和k-means聚类的方法,能够进行价值识别

2掌握Python 聚类的方法

3.EM聚类(基于高斯混合模型的EM聚类)

二、知识准备

RFM模型是衡量客户价值和客户创利能力的重要工具和手段。在客户分类中,RFM模型是一个经典的分类模型利用通用交易环节中最核心的三个维度——最近消费(Recency)、消费频率(Frequency)、消费金额(Monetary)细分客户群体,从而分析不同群体的客户价值。

三、实验准备

1.使用算法:RFM模型、聚类算法

2. 数据来源

RFM数据集为英国在线零售商在2010年12月1日至2011年12月9日间发生的所有网络交易订单信息。该公司主要销售礼品为主,并且多数客户为批发商。

数据集介绍及来源:

https://www.kaggle.com/carrie1/ecommerce-data

https://archive.ics.uci.edu/ml/datasets/online+retail#

特征说明:

InvoiceNo:订单编号,由六位数字组成,退货订单编号开头有字母C

StockCode:产品编号,由五位数字组成

Description:产品描述

Quantity:产品数量,负数表示退货

InvoiceDate:订单日期与时间

UnitPrice :单价(英镑)

CustomerID:客户编号,由5位数字组成

Country:国家2. 操作环境

"This is a transnational data set which contains all the transactions occurring between 01/12/2010 and 09/12/2011 for a UK-based and registered non-store online retail.The company mainly sells unique all-occasion gifts. Many customers of the company are wholesalers."

3.后续学习:客户分类

Customer Segmentation | Kaggle

四、实验步骤

1、提出问题,确定目标

对。。。。。客户数据,探讨如何利用KMeans算法(EM聚类)对客户群体进行细分,以及细分后如何利用RFM模型对客户价值进行分析,并识别出高价值客户。主要希望实现以下三个目标:

1)对客户进行群体分类

2)对不同的客户群体进行特征分析,比较各细分群体的客户价值

3)对不同价值的客户制定相应的运营策略

2、数据获取

3、数据预处理

数据清洗缺失值异常值

变量转换、属性规约、标准化处理

(1)删除重复值

(2)查看缺失值比例

(3)删除缺失值严重的列

(4)删除订单异常值

根据官网https://www.kaggle.com数据介绍,InvoiceNo如果前缀是C,则表示退单号,且此时的Quantity(数量)是负数,因此需要删除这些数据!

(5)属性规约

(6)变量转换

(7)RFM——计算逻辑

R:最近一次购买时间R(Recency)

F:购买频率F(Frequency)

M:购买金额M(Money)

4、数据探索性分析(可视化显示)

(1)RFM-数量-季度,三维分析

(2)RFM组别数量关系

3RFM组别比例关系

(4)RFM字段相关性系数

5、建立模型和评价模型(聚成几类,效果好),聚类可视化

(1)数据提取

(2)数据标准化

(3)肘部法确定k值

(4)建立模型和评估模型

(5)聚类可视化

6、模型应用

会员升级?===============> 我觉得需要关注会员群体的比例!

积分兑换?===============> 普通群体也可以给少量积分兑换机制!

交叉销售?===============> 推荐的产品,可从rfm中r占比大的群体!

7、拓展思考(不用做)

本实验只针对客户价值进行分析,但客户流失并没有提出具体的分析,对客户流失有兴趣的,自己查阅资料学习

五、实验问题和体会

1、实验总结

        在本次实验过程中,由于本人想要探究RFM-季度-数量之间的关系,而数据集是2010年12月1日到2011年12月9日的数据,导致在划分季度的时候,2011年12月的数据是4季度,2011年12月的数据也是4季度。导致在计算R(Frequency)的时候,即季度最大时间-当前日期时间出现时间差=365天(1年)>90天(1季度)。

        这时候我反复检验之前实验记录,发现原来数据中的数据出现了跨年(即不同年的数据12月),因此导致即使同一个季度,时间差可以超过90天。因此本人采取数据规约的方式,抽取时间2011年01月01日到2011年12月01日的数据最为本次实验数据源。但是,这个决定也会导致一个问题,就是12月份的数据不全面,还差21天数据。

        本着尝试的心态,本人进行了一系列实验流程,进行数据标准化和k-means聚类后,最终发现实验准确率62.3%,而如果加上PCA降维,准确率会降低5%左右,因此本实验没有加上PCA降维,不知道会不会不妥?

        在探索性可视化实验过程中,我发现了原来RFM分组和季度没有明显关系(相关性系数显示:不足0.2),而其中RFM占比很大部分是222组合,最低的是331组合。

2结论建议

        经过上面的分析,得到了要分析的重点客户群体。可根据用户的量级分为两类:

        第1类是用户群体占比超过10%的群体;

        第2类是占比在个位数的群体。

        这两类人由于量级不同,因此需要分别有针对性的策略场景;

        第3类人群,虽然从用户量级上小,但是单个人的价值度非常高。

>>>第1类人群:

占比超过10%的群体。由于这类人群基数大,必须采取批量操作和运营的方式落地运营策略,一般需要通过系统或产品实现,而不能主要依赖于人工

222(占比17.1%):中等价值客户,企业可以通过提供个性化的优惠、加强客户关系维护等方式,进一步提升他们的满意度和忠诚度,进而增加他们的消费频次和金额,提升客户价值。

>>>第2类人群:

占比为1%~10%的群体。这部分人群数量适中,在落地时无论是产品还是人工都可接入

112(占比8.6%):可挽回的一般性群体。这类群体购买新近度低,说明距离上次购买时间较长,很可能用户已经处于沉默或预流失、流失阶段;购物频率低,说明对网站的忠诚度一般;订单金额处于中等层级,说明其还可能具有可提升的空间。因此,对这部分群体的策略首先是通过多种方式(例如邮件、短信等)触达客户并挽回,然后通过针对流失客户的专享优惠(例如流失用户专享优惠券)措施促进其消费。在此过程中,可通过增加接触频次和刺激力度的方式,增加用户的回访、复购以及订单价值回报

333(占比8%):绝对忠诚的高价值群体。虽然用户绝对数量只有355,但由于其各方面表现非常突出,因此可以倾斜更多的资源,例如设计VIP服务、专享服务、绿色通道等。另外,针对这部分人群的高价值附加服务的推荐也是提升其价值的重点策略

211(占比7.8%):可发展的低价值群体。这类群体相对于212群体在订单金额上表现略差,因此在211群体策略的基础上,可以增加与订单相关的刺激措施,例如组合商品优惠券发送、积分购买商品等

322(占比7.5%)、323(占比2.8%)和332(占比2.3%):有潜力的普通群体。这类群体最近刚完成购买,需要提升的是购买频次及购买金额。因此可通过交叉销售、个性化推荐、向上销售、组合优惠券、打包商品销售等策略,提升其单次购买的订单金额及促进其重复购买

212(占比4.1%):可发展的一般性群体。购买新近度和订单金额一般,且购买频率低。考虑到其最大的群体基础,以及在新近度和订单金额上都可以,因此可采取常规性的礼品兑换和赠送、购物社区活动、签到、免运费等手段维持并提升其消费状态。

233(占比6.6%)、223(占比3.6%)和133(占比1.2%):一般性的高价值群体。这类群体的主要着手点是提升新近购买度,即促进其实现最近一次的购买,可通过DM、电话、客户拜访、线下访谈、微信、电子邮件等方式直接建立用户挽回通道,以挽回这部分高价值用户

312(占比1.6%):有潜力的一般性群体。这类群体购买新近度高,说明最近一次购买发生在很短时间之前,群体对于公司尚有比较熟悉的接触渠道和认知状态;购物频率低,说明对网站的忠诚度一般;订单金额处于中等层级,说明其还具有可提升的空间。因此,可以借助其最近购买的商品,为其定制一些与上次购买相关的商品,通过向上销售等策略提升购买频次和订单金额

311(占比2.7%):有潜力的低价值群体。这部分用户与211群体类似,但在购物新近度上更好,因此对其可采取相同的策略。除此以外,在这类群体的最近接触渠道上可以增加营销或广告资源投入,通过这些渠道再次将客户引入网站完成消费。

111(占比6.4%):这是一类在各个维度上都比较差的客户群体。一般情况下,会在其他各个群体策略和管理都落地后才考虑他们。主要策略是先通过多种策略挽回客户,然后为客户推送与其类似的其他群体,或者当前热销的商品或折扣非常大的商品。在刺激消费时,可根据其消费水平、品类等情况,有针对性地设置商品暴露条件,先在优惠券及优惠商品的综合刺激下使其实现消费,再考虑消费频率以及订单金额的提升。

>>>第3类群体:

占比非常少,但却是非常重要的群体

213(占比0.8%):可发展的高价值群体。这类人群发展的重点是提升购物频率,因此可指定不同的活动或事件来触达用户,促进其回访和购买,例如不同的节日活动、每周新品推送、高价值客户专享商品等。

313(占比0.5%):有潜力的高价值群体。这类群体的消费新近度高且订单金额高,但购买频率低,因此只要提升其购买频次,用户群体的贡献价值就会倍增。提升购买频率上,除了在其最近一次的接触渠道上增加曝光外,与最近一次渠道相关的其他关联访问渠道也要考虑增加营销资源。另外,213中的策略也要组合应用其中

113(占比0.3%):可挽回的高价值群体。这类群体与112群体类似,但订单金额贡献更高,因此除了应用112中的策略外,可增加部分人工的参与来挽回这些高价值客户,例如线下访谈、客户电话沟通等

231(占比0.3%):较活高频低价值群体。企业应通过提供定制化的优惠和服务、加强互动沟通、了解客户需求并提供精准推荐等手段,来刺激他们的购买欲望并提升他们的消费价值。

131(占比0.2%):近期不活跃高频低价值群体,需要思考吸引该群体的商品种类,重新启动激活消费策略。

331(占比0.2):近期活跃高频低价值群体,企业应加强与他们的互动和沟通,提供个性化的优惠和推荐,深入分析他们的消费需求和习惯,并提供优质的客户服务,以维持和提升他们的消费价值和忠诚度。

 数据源在下载区啦!

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

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

相关文章

PostgreSQL入门到实战-第二十九弹

PostgreSQL入门到实战 PostgreSQL中数据分组操作(四)官网地址PostgreSQL概述PostgreSQL中CUBE命令理论PostgreSQL中CUBE命令实战更新计划 PostgreSQL中数据分组操作(四) 如何使用PostgreSQL CUBE生成多个分组集 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不…

Offer必备算法25_01背包_四道力扣题详解(由易到难)

目录 ①牛客DP41 【模板】01背包 问题一解析 问题二解析 解析代码 滚动数组优化代码 ②力扣416. 分割等和子集 问题解析 解析代码 滚动数组优化代码 ③力扣494. 目标和 问题解析 解析代码 滚动数组优化代码 ④力扣1049. 最后一块石头的重量 II 问题解析 解析代…

音视频学习—音视频理论基础(2)

音视频学习—音视频理论基础(2) 1、音频的基本概念2、声音的三要素3、声音的本质4、奈奎斯特采样定律5、采样和采样率6、采样数和采样位数7、量化8、比特率(码率)9、响度和强度10、编码11、音频帧12、音频文件大小的计算总结 1、音…

【GEE实践应用】按照字段提取想要的研究区域

有的时候,我们在GEE中加载研究区域时,我们现有的矢量数据可能不止自己想要的研究区域的范围,这个时候,为了避免在ArcGIS中重新导出打包上传等操作,我们可以在GEE中按照字段进行选择我们想要的研究区域。下面是操作实例…

Leetcode二十三题:合并K个升序链表【22/1000 python】

“合并K个升序链表”,这是一道中等难度的题目,经常出现在编程面试中。以下是该问题的详细描述、解题步骤、不同算法的比较、代码示例及其分析。 问题描述 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中…

浏览器密码框明文密文兼容edge的问题

在网页中注册会员的时候,经常需要输入用户名(账号)和密码,在输入密码的时候,为了防止用户输错密码,经常会给密码框加一个小功能,就是点击密码框右侧闭着的小眼睛,可以让密文变成明文…

【教学类-51-01】20240411动物皮毛图片的彩色打印PDF制作(一页两张图片,2个表格)

作品展示 背景需求: 为了便于快速做出A4两份图片的效果,设计以下代码,进行图片的PDF合成打印 代码参考: 【教学类-50-06】20240410“数一数”4类星号图片制作PDF学具-CSDN博客文章浏览阅读531次,点赞8次,收…

医院预约系统微信小程序APP前后端

医院预约系统具体功能介绍:展示信息、可以注册和登录, 预约(包含各个科室的预约,可以预约每个各个医生),就诊引导包含预约的具体信息,包含就诊时间、就诊科室、就诊医生以及就诊人信息、和支付状…

基于”Python+”多技术融合在蒸散发与植被总初级生产力估算中的应用

熟悉蒸散发ET及其组分(植被蒸腾Ec、土壤蒸发Es、冠层截留Ei)、植被总初级生产力GPP的概念和碳水耦合的基本原理;掌握利用Python与ArcGIS工具进行课程相关的操作;熟练掌握国际上流行的Penman-Monteith模型,并能够应用该…

有真的副业推荐吗?

#有真的副业推荐吗# 我做副业项目的时候,认识了一位带娃宝妈,讲一下她空闲时间做副业赚钱的故事吧。在一个温馨的小家庭里,李婷是一位全职宝妈,她的主要任务是照顾和陪伴自己可爱的宝宝。然而,随着宝宝逐渐长大&#x…

Mysql的事务隔离级别以及事务的四大特性。

MySQL 的事务隔离级别是数据库管理系统中的一个重要概念,它决定了事务如何隔离和影响其他并发事务。MySQL 支持四种事务隔离级别,分别是:读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)…

【MATLAB源码-第188期】基于matlab的64QAM系统相位偏移估计EOS算法仿真,对比补偿前后的星座图误码率。

操作环境: MATLAB 2022a 1、算法描述 1. 引言 M-QAM调制技术的重要性 现代通信系统追求的是更高的数据传输速率和更有效的频谱利用率。M-QAM调制技术,作为一种高效的调制方案,能够通过在相同的带宽条件下传输更多的数据位来满足这一需求…

Ubuntu使用SSH的X11Forwarding

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、X11Forwarding是什么?二、使用步骤1.打开SSH配置2.MobaXterm 三、测试总结 前言 有没有那么一种需求,就是有时候你需要将远端的画面…

dbeaver数据库语言编辑器设置jdbc驱动

打开 dbeaver 软件 数据库 -> 驱动管理器 以mysql为例 双击 MySQL -> 库 -> 添加工件 然后 打开maven组件库 官网 找到mysql驱动对应的maven工件地址 复制进去然后确认就行了 参考 大神博客

VM虚拟机安装Linux系统Redhat7.4版本

1、打开VM软件创建一个新的虚拟机: 可选择经典安装,也可以选择自定义安装,本次选择自定义安装,然后选择下一步 2、直接默认选择下一步即可 3、选择稍后安装操作系统,选择下一步 4、之后选择呢需要安装客户机的操作系统…

Linux 添加启动服务--Service

1,服务配置service文件 Service 服务的实际作用是开启后自动启动服务,运行一些不须要登录的程序,任务。 实例1、上电自动连接WIFI热点 1.1 新建.service文件 /etc/systemd/system/wificonnect.service [Unit] DescriptionService [wifico…

策略为王股票软件源代码\StkUI\View\BaseView.cpp-------显示股票基本资料的视图-------程序代码都在里面了

CString strHeader info.GetStockCode(); strHeader " "; /修改 strHeader info.GetStockName(); strHeader "\r\n\r\n "; GetEditCtrl().SetWindowText( strHeader ); GetEditCtrl().SetSel…

Linux配置程序后台运行(前后台来回切换)

Linux配置程序后台运行 在日常开发过程中,会遇到我们在前台运行程序,此时我们临时有事,但不能关闭终端,否则程序就会在电脑熄屏(终端session断开后)停止运行。 那么作为一个合格的开发,就必须要…

ELFK日志分析系统之搭建ELF+Filebeaat+Zookeeper+Kafka

引言 结合前面所学 http://ELK日志分析系统 一、为什么要做日志分析平台 随着业务量的增长,每天业务服务器将会产生上亿条的日志,单个日志文件达几个GB,这时我们发现用Linux自带工具,cat grep awk 分析越来越力不从心了&#…

【Linux】序列化与反序列化{服客编程/守护进程/JSON}

文章目录 1.引入2. 静态成员函数3.TCP:传输控制协议4.守护进程4.0前台进程4.1介绍4.2认识4.3会话4.3ps axj4.4理解4.5/dev/null4.6守护进程和孤儿进程 5.JSON6.完整代码6.1Makefile6.2Socket.hpp6.3Protocol.hpp6.4Log.hpp6.5Daemon.hpp6.6TcpServer.hpp6.7Client.c…