前言:
眼前看官们对“kmeans算法的rfm”大致比较着重,咱们都想要剖析一些“kmeans算法的rfm”的相关文章。那么小编在网摘上搜集了一些有关“kmeans算法的rfm””的相关资讯,希望咱们能喜欢,姐妹们快快来了解一下吧!本文用具体实例的方式,在RFM的基础上构建客户价值分析模型,探讨如何对客户群体进行细分,以及细分后如何进行客户价值分析。最终得到LRFMC模型,并将客户群体细分为重要保持客户、重要发展客户、重要挽留客户、一般客户、低价值客户五类。
本文原始数据与分析思路来自《Python数据分析与挖掘实战》第七章,感谢这本书提供的数据集与分析框架。(这本书很不错,推荐)
一、背景与目标1.1 背景
在面向客户制定运营策略、营销策略时,我们希望能够针对不同的客户推行不同的策略,实现精准化运营,以期获取最大的转化率。精准化运营的前提是客户关系管理,而客户关系管理的核心是客户分类。
通过客户分类,对客户群体进行细分,区别出低价值客户、高价值客户,对不同的客户群体开展不同的个性化服务,将有限的资源合理地分配给不同价值的客户,实现效益最大化。
在客户分类中,RFM模型是一个经典的分类模型,模型利用通用交易环节中最核心的三个维度——最近消费(Recency)、消费频率(Frequency)、消费金额(Monetary)细分客户群体,从而分析不同群体的客户价值。
在某些商业形态中,客户与企业产生连接的核心指标会因产品特性而改变。如互联网产品中,以上三项指标可以相应地变为下图中的三项:最近一次登录、登录频率、在线时长。
1.2 目标
本实例借助某航空公司客户数据,探讨如何利用KMeans算法对客户群体进行细分,以及细分后如何利用RFM模型对客户价值进行分析,并识别出高价值客户。
在本实例中,主要希望实现以下三个目标:
借助航空公司客户数据,对客户进行群体分类对不同的客户群体进行特征分析,比较各细分群体的客户价值对不同价值的客户制定相应的运营策略
二、分析过程2.1 分析思路
本实例的数据包含了2012年4月1日至2014年3月31日期间的客户数据,共有6万余条记录。分析中需要用到KMeans算法,且需要将数据分析的结果可视化,便于后期的结论分析,于是采用以下两种工具进行分析:
jupyter notebook(Python 3.6 )Excel 2016
同时数据的属性定义见下表所示,可见维度非常丰富。
考虑到商用航空行业与一般商业形态的不同,决定在RFM模型的基础上,增加2个指标用于客户分群与价值分析,得到航空行业的LRFMC模型:
L:客户关系长度。客户加入会员的日期至观测窗口结束日期的间隔。(单位:天)R:最近一次乘机时间。最近一次乘机日期至观测窗口结束日期的间隔。(单位:天)F:乘机频率。客户在观测窗口期内乘坐飞机的次数。(单位:次)M:飞行总里程。客户在观测窗口期内的飞行总里程。(单位:公里)C:平均折扣率。客户在观测窗口期内的平均折扣率。(单位:无)
首先对原始数据进行探索,清洗异常记录,再根据上述公式将原始数据表变换得到LRFMC模型建模需要的新数据表,接着对新数据表的数据进行属性规约、数据变换、Python建模、结果分析,便能得到最终的结果。
总体思路与流程见下图:
由于本实例中的数据已经得到,便不需要在业务系统中抽取数据,直接开始对数据进行预处理即可。
2.2 数据预处理
2.2.1 数据探索
经过初步的数据探索,发现数据有几点特征:
共62988条记录部分维度存在缺失值,WORK_CITY缺失2269条,SUM_YR_1缺失551条,SUM_YR_2缺失138条
2.2.2 数据清洗
此处主要清洗两类异常数据:
缺失值:票价为null的数据(注意不是票价为零)异常值:票价为0、平均折扣率不为0、总飞行公里数大于0的数据(折扣不为0,仍有飞行里程,说明客户必然是花钱买票飞行的,如果此时票价也为0,说明是错误数据)
共清洗944条异常数据,得到62044条有效记录。
2.2.3 属性规约
根据LRFMC模型,选取与模型强相关的6个属性:LOAD_TIME、FFP_DATE、LAST_TO_END、LIGHT_COUNT、SEG_KM_SUM、avg_discount。删除其他冗余的、弱相关的属性,得到属性选择后的数据集。
2.2.4 数据变换
构建包含L、R、F、M、C五项指标的新数据表,并对应属性定义表,得到LRFMC模型中五项指标的计算公式:
L = LOAD_TIME – FFP_DATE. (观测窗口结束日期 – 入会日期)R = LAST_TO_END. (最后一次乘机时间至观测窗口结束时长)F = FLIGHT_COUNT. (观测窗口内的飞行次数)M = SEG_KM_SUM. (观测窗口的总飞行公里数)C = AVG_DISCOUNT. (平均折扣率)
利用2.2.3中的数据表计算得到变换后的数据表:
结果如下图所示:
从表中可以发现:每个指标的数据取值范围分布较广,为提高后续聚类分析的准确性,还需要将L、R、F、M、C五类数据进行标准化处理。标准化方法有极大极小标准化、标准差标准化等方法,此处采用标准差标准化的方法对数据进行处理。
结果如下图所示:
标准差标准化后,得到包含ZL、ZR、ZF、ZM、ZC五项指标的数据集。
2.3 数据建模
客户价值分析模型构建主要分为两个部分:
利用K-Means算法对客户进行聚类分析,得到细分的客户群对细分的客户群进行特征分析,得到客户价值分析模型
2.3.1 聚类分析
采用K-Means聚类算法对客户数据进行分群,共分为5类:
得到结果后,将结果转化为DataFrame对象:
以及对62044位客户贴上群体标签,记为1、2、3、4、5五类,并输出带有标签的Excel文件。结果如下图所示:
2.3.2 特征分析
对2.3.2中的聚类结果进行特征分析,如下图所示:
分析:
群体1的C属性上最大群体2的M、F属性属性最大,R属性最小群体3的L、C属性最小群体4的R属性最大,F、M属性最小群体5的L属性最大
其中每项指标的实际业务意义为:
L:加入会员的时长。越大代表会员资历越久R:最近一次乘机时间。越大代表越久没乘机F:乘机次数。越大代表乘机次数越多M:飞行总里程。越大代表总里程越多C:平均折扣率。越大代表折扣越弱,0表示0折免费机票,10代表无折机票
对应实际业务对聚类结果进行分值离散转化,对应1-5分,其中属性值越大,分数越高:
同时针对业务需要,及参考RFM模型对客户类别的分类,定义五个等级的客户类别:
(1)重要保持客户
平均折扣率高(C↑),最近有乘机记录(R↓),乘机次数高(F↑)或里程高(M↑)这类客户机票票价高,不在意机票折扣,经常乘机,是最理想的客户类型公司应优先将资源投放到他们身上,维持这类客户的忠诚度
(2)重要发展客户
平均折扣率高(C↑),最近有乘机记录(R↓),乘机次数高(F↓)或里程高(M↓)这类客户机票票价高,不在意机票折扣,最近有乘机记录,但总里程低,具有很大的发展潜力公司应加强这类客户的满意度,使他们逐渐成为忠诚客户
(3)重要挽留客户
平均折扣率高(C↑),乘机次数高(F↑)或里程高(M↑),最近无乘机记录(R↑)这类客户总里程高,但较长时间没有乘机,可能处于流失状态公司应加强与这类客户的互动,召回用户,延长客户的生命周期
(4)一般客户
平均折扣率低(C↓),最近无乘机记录(R↑),乘机次数高(F↓)或里程高(M↓),入会时间短(L↓)这类客户机票票价低,经常买折扣机票,最近无乘机记录,可能是趁着折扣而选择购买,对品牌无忠诚度公司需要在资源支持的情况下强化对这类客户的联系
(5)低价值客户
平均折扣率低(C ↓ ),最近无乘机记录(R ↑ ),乘机次数高(F ↓ )或里程高(M ↓ ),入会时间短(L ↓ )这类客户与一般客户类似,机票票价低,经常买折扣机票,最近无乘机记录,可能是趁着折扣而选择购买,对品牌无忠诚度
根据聚类结果,对应上述五类客户类型,进行匹配,得到客户群体的价值排名:
在数据与处理时,我们已经将62044位用户与客户群体一一对应,现在每类客户群体也对应了客户价值,至此得到了62044位客户的价值分类结果,建模完成。
三、分析结果
根据建模结果,发现该公司的五类不同价值的客户数量分布如图所示:
分析:
重要保持客户、重要发展客户占比15.3%,不足两成,整体较少一般客户、低价值客户占比59.3%,接近六成,整体偏多重要挽留客户占比25.4%,接近四分之一,整体发挥空间大
按照20/80法则:一般而言企业的80%收入由头部20%的用户贡献。从上图中也能发现:忠诚的重要保留客户、中发展客户必然贡献了企业收入的绝大部分,企业也需要投入资源服务好这部分客户。
同时,重要保持客户、重要发展客户、重要挽留客户这三类客户其实也对应着客户生命周期中的发展期、稳定器、衰退期三个时期。从客户生命周期的角度讲,也应重点投入资源召回衰退期的客户。
一般而言,数据分析最终的目的是针对分析结果提出并开展一系列的运营/营销策略,以期帮助企业发展。在本实例中,运营策略有三个方向:
提高活跃度:提高一般客户、低价值客户的活跃度。将其转化为优质客户提高留存率:与重要挽留客户互动,提高这部分用户的留存率提高付费率:维系重要保持客户、重要发展客户的忠诚度,保持企业良好收入
每个方向对应不同的策略,如会员升级、积分兑换、交叉销售、发放折扣券等手段,此处不再展开。
本文由@沈涛 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自 unsplash,基于 CC0 协议
标签: #kmeans算法的rfm