文章目录
- 1. 案例背景
- 2. 分析方法与过程
- 2.1 分析流程步骤
- 2.2 分析过程
- 1. 数据探索分析
- 2. 描述性统计分析
- 3. 分布分析
- 1.客户基本信息分布分析
- 2. 客户乘机信息分布分析
- 3. 客户积分信息分布分析
- 4. 相关性分析
- 3. 数据预处理
- 3.1 数据清洗
- 3.2 属性约束
- 3. 3 数据转换
- 4. 模型构建
- 4. 1 客户聚类
- 4. 2 客户价值分析
- 4.3 模型应用
- 5. 总结思考
1. 案例背景
信息时代的来临使得企业营销焦点从产品中心转变为客户中心,客户关系管理成为企业的核心问题。客户关系管理的关键问题是客户分类,通过客户分类,区分无价值客户、高价值客户,企业针对不同价值的客户制定优化的个性化服务方案,采取不同营销策略,将有限营销资源集中于高价值客户,实现企业利润最大化目标。准确的客户分类结果是企业优化营销资源分配的重要依据,客户分类越来越成为客户关系管理中亟待解决的关键问题之一。
面对激烈的市场竞争,各个航空公司都推出了更优惠的营销方式来吸引更多的客户,国内某航空公司面临着常旅客流失、竞争力下降和航空资源未充分利用等经营危机。通过建立合理的客户价值评估模型,对客户进行分群,分析比较不同客户群的客户价值,并制定相应的营销策略,对不同的客户群提供个性化的客户服务是必须的和有效的。结合该航空公司已积累的大量的会员档案信息和其乘坐航班记录,实现以下目标。
•借助航空公司客户数据,对客户进行分类。
•对不同的客户类别进行特征分析,比较不同类客户的客户价值。
•对不同价值的客户类别提供个性化服务,制定相应的营销策略。
2. 分析方法与过程
2.1 分析流程步骤
1.抽取航空公司2012年4月1日至2014年3月31日的数据。
2.对抽取的数据进行数据探索分析与预处理,包括数据缺失值与异常值的探索分析,数据清洗,特征构建,标准化等操作。
3.基于RFM模型,使用K-Means算法进行客户分群。
4.针对模型结果得到不同价值的客户,采用不同的营销手段,提供定制化的服务。
总体流程:
2.2 分析过程
1. 数据探索分析
初始数据:
从航空公司系统内的客户基本信息、乘机信息以及积分信息等详细数据中,根据末次飞行日期(LAST_FLIGHT_DATE),以2014年3月31日为结束时间,选取宽度为两年的时间段作为分析观测窗口,抽取观测窗口2012年4月1日至2014年3月31日内有乘机记录的所有客户的详细数据形成历史数据,总共62988条记录。航空公司数据属性如下表所示。
2. 描述性统计分析
-
通过对原始数据观察发现数据中存在票价为空值的记录,同时存在票价最小值为0、折扣率最小值为0但总飞行公里数大于0的记录。票价为空值的数据可能是客户不存在乘机记录造成。其它的数据可能是客户乘坐0折机票或者积分兑换造成。
-
每列属性观测值中空值个数、最大值、最小值,如下表所示。
属性名称 | 空值记录数 | 最大值 | 最小值 |
---|---|---|---|
SUM_YR_1 | 551 | 239560 | 0 |
SUM_YR_2 | 138 | 234188 | 0 |
… | … | … | … |
SEG_KM_SUM | 0 | 580717 | 368 |
avg_discount | 0 | 1.5 | 0 |
实现代码:
3. 分布分析
分别从客户基本信息、乘机信息、积分信息3个角度进行数据探索,寻找客户的分布规律。
1.客户基本信息分布分析
选取客户基本信息中入会时间、性别、会员卡级别和年龄字段进行探索分析,探索客户的基本信息分布状况,得到各年份会员入会人数直方图、会员性别比例饼图、会员各级别人数条形图、会员年龄分布箱型图。
- 会员入会年份分析
实现代码:
- 会员性别分析
实现代码:
- 会员级别分析
代码实现:
2. 客户乘机信息分布分析
选取最后一次乘机至结束的时长、客户乘机信息中的飞行次数、总飞行公里数进行探索分析
- 会员年纪分布
实现代码:
- 客户飞行数据分析
选取最后一次乘机至结束的时长、客户乘机信息中飞行次数、总飞行公里数进行探索分析,探索客户的乘机信息分布状况。
客户最后一次乘机至结束的时长、客户乘机信息中飞行次数、总飞行公里数的箱线图
实现代码:
3. 客户积分信息分布分析
选取积分兑换次数、总累计积分进行探索分析,探索客户的积分信息分布状况
客户积分兑换次数直方图和总累计积分分布箱线图。
代码实现:
4. 相关性分析
客户信息的属性间存在相关性,选取入会时间、会员卡级别、客户年龄、飞行次数、总飞行公里数、最近一次乘机至结束时长、积分兑换次数、总累计积分属性,通过相关系数矩阵与热力图分析各属性间的相关性。
相关性矩阵:
热力图:
实现代码:
3. 数据预处理
数据预处理方法:
3.1 数据清洗
通过对数据观察发现原始数据中存在票价为空值,票价最小值为0、折扣率最小值为0、总飞行公里数大于0的记录。票价为空值的数据可能是客户不存在乘机记录造成。其他的数据可能是客户乘坐0折机票或者积分兑换造成。由于原始数据量大,这类数据所占比例较小,对于问题影响不大,因此对其进行丢弃处理。同时,数据探索时发现部分年龄大于100记录,也进行丢弃处理,具体处理方法如下。
(1) 丢弃票价为空的记录。
(2) 保留票价不为0的,或者平均折扣率不为0且总飞行公里数大于0的记录。
(3) 丢弃年龄大于100的记录。
使用pandas对满足清洗条件的数据进行丢弃,处理方法为满足清洗条件的一行数据全部丢弃。
代码实现:
3.2 属性约束
通过航空公司客户数据识别不同价值的客户,识别客户价值应用最广泛的模型是RFM模型。
- RFM 模型介绍
-
R(Recency)指的是最近一次消费时间与截止时间的间隔。通常情况下,最近一次消费时间与截止时间的间隔越短,对即时提供的商品或是服务也最有可能感兴趣。
-
F(Frequency)指顾客在某段时间内所消费的次数。可以说消费频率越高的顾客,也是满意度越高的顾客,其忠诚度也就越高,顾客价值也就越大。
-
M(Monetary)指顾客在某段时间内所消费的金额。消费金额越大的顾客,他们的消费能力自然也就越大,这就是所谓“20%的顾客贡献了80%的销售额”的二八法则。
- RFM 模型解读
RFM模型包括3个特征,无法用平面坐标系来展示,所以这里使用三维坐标系进行展示,如图 所示,x轴表示R特征(Recency),y轴表示F特(Frequency),z轴表示M指标(Monetary)。每个轴一般会用5级表示程度,1为最小,5为最大
- 航空公司客户价值分析的 LRFMC 模型
在RFM模型中,消费金额表示在一段时间内,客户购买该企业产品金额的总和。由于航空票价受到运输距离,舱位等级等多种因素影响,同样消费金额的不同旅客对航空公司的价值是不同的,比如一位购买长航线,低等级舱位票的旅客与一位购买短航线,高等级舱位票的旅客相比,后者对于航空公司而言价值可能更高。因此这个特征并不适合用于航空公司的客户价值分析。
客户关系长度L,消费时间间隔R,消费频率F,飞行里程M和折扣系数的平均值C五个特征作为航空公司识别客户价值特征,如下表所示,记为LRFMC模型。
模型 | L | R | F | M | C |
---|---|---|---|---|---|
航空公司LRFMC模型 | 会员入会时间距观测窗口结束的月数 | 客户最近一次乘坐公司飞机距观测窗口结束的月数 | 客户在观测窗口内乘坐公司飞机的次数 | 客户在观测窗口内累计的飞行里程 | 客户在观测窗口内乘坐舱位所对应的折扣系数的平均值 |
原始数据中属性太多,根据航空公司客户价值LRFMC模型,选择与LRFMC指标相关的六个属性:FFP_DATE、LOAD_TIME、FLIGHT_COUNT、AVG_DISCOUNT、SEG_KM_SUM、LAST_TO_END。删除与其不相关、弱相关或冗余的属性,属性选择后的数据集如下表。
FFP_DATE | LOAD_TIME | LAST_ TO_END | FLIGHT_ COUNT | SEG_ KM_SUM | avg_discount |
---|---|---|---|---|---|
2006/11/2 | 2014/3/31 | 1 | 210 | 580717 | 0.961639 |
2007/2/19 | 2014/3/31 | 7 | 140 | 293678 | 1.252314 |
2007/2/1 | 2014/3/31 | 11 | 135 | 283712 | 1.254676 |
2008/8/22 | 2014/3/31 | 97 | 23 | 281336 | 1.090870 |
2009/4/10 | 2014/3/31 | 5 | 152 | 309928 | 0.970658 |
… | … | … | … | … | … |
3. 3 数据转换
数据变换是将数据转换成“适当的”格式,以适应挖掘任务及算法的需要。
主要采用的数据变换方式:
- 属性构造
- 数据标准化
1.会员入会时间距观测窗口结束的月数L=会员入会时长
2.客户最近一次乘坐公司飞机距观测窗口结束的月数R=最后一次乘机时间至观察窗口末端时长(单位:月)
3.客户在观测窗口内乘坐公司飞机的次数F=观测窗口的飞行次数(单位:次)
4.客户在观测时间内在公司累计的飞行里程M=观测窗口总飞行公里数(单位:公里)
5.客户在观测时间内乘坐舱位所对应的折扣系数的平均值C=平均折扣率(单位:无)
在完成五个指标的数据提取后,对每个指标数据分布情况进行分析,其数据的取值范围如表所示。
属性名称 | L | R | F | M | C |
---|---|---|---|---|---|
最小值 | 12.23 | 0.03 | 2 | 368 | 0.14 |
最大值 | 114.63 | 24.37 | 213 | 580717 | 1.5 |
从表中数据可以发现,五个指标的取值范围数据差异较大,为了消除数量级数据带来的影响,需要对数据进行标准化处理。
标准差标准化处理后,形成ZL、ZR、ZF、ZM、ZC五个属性的数据。
ZL | ZR | ZF | ZM | ZC |
---|---|---|---|---|
1.43571897 | -0.94495516 | 14.03412875 | 26.76136996 | 1.29555058 |
1.30716214 | -0.9119018 | 9.07328567 | 13.1269701 | 2.86819902 |
1.32839171 | -0.88986623 | 8.71893974 | 12.65358345 | 2.88097321 |
0.65848092 | -0.41610151 | 0.78159082 | 12.54072306 | 1.99472974 |
0.38603481 | -0.92291959 | 9.92371591 | 13.89884778 | 1.3443455 |
… | … | … | … | … |
实现代码:
4. 模型构建
客户价值分析模型构建主要由两个部分构成,第一个部分根据航空公司客户五个指标的数据,对客户作聚类分群。第二部分结合业务对每个客户群进行特征分析,分析其客户价值,并对每个客户群进行排名。
4. 1 客户聚类
采用K-Means聚类算法对客户数据进行客户分群,聚成五类(需要结合业务的理解与分析来确定客户的类别数量)。
使用scikit-learn库下的聚类子库(sklearn.cluster)可以实现K-Means聚类算法。使用标准化后的数据进行聚类,
4. 2 客户价值分析
针对聚类结果进行特征分析,绘制客户分群雷达图。
定义5个等级的客户类别:重要保持客户,重要发展客户,重要挽留客户,一般客户,低价值客户。每种客户类别的特征如图所示。
4.3 模型应用
根据对各个客户群进行特征分析,采取下面的一些营销手段和策略,为航空公司的价值客户群管理提供参考。
1.会员的升级与保级:航空公司可以在对会员升级或保级进行评价的时间点之前,对那些接近但尚未达到要求的较高消费客户进行适当提醒甚至采取一些促销活动,刺激他们通过消费达到相应标准。这样既可以获得收益,同时也提高了客户的满意度,增加了公司的精英会员。
2.首次兑换:采取的措施是从数据库中提取出接近但尚未达到首次兑换标准的会员,对他们进行提醒或促销,使他们通过消费达到标准。一旦实现了首次兑换,客户在本公司进行再次消费兑换就比在其他公司进行兑换要容易许多,在一定程度上等于提高了转移的成本。
3.交叉销售:通过发行联名卡等与非航空类企业的合作,使客户在其他企业的消费过程中获得本公司的积分,增强与公司的联系,提高他们的忠诚度。
5. 总结思考
由于在航空客户关系管理中客户流失的问题未被重视,故对航空公司造成了巨大的损害。客户流失对利润增长造成的负面影响非常大,仅次于公司规模、市场占有率、单位成本等因素的影响。客户与航空公司之间的关系越长久,给公司带来的利润就会越高。所以流失一个客户,比获得一个新客户对公司的损失更大。因为要获得新客户,需要在销售、市场、广告和人员工资上花费很多的费用,并且大多数新客户产生的利润还不如那些流失的老客户多。
因此,在国内航空市场竞争日益激烈的背景下,航空公司在客户流失方面应该引起足够的重视。如何改善流失问题,继而提高客户满意度、忠诚度是航空公司维护自身市场并面对激烈竞争的一件大事,客户流失分析将成为帮助航空公司开展持续改进活动的指南。
客户流失分析可以针对目前老客户进行分类预测。针对航空公司客户信息数据,可以进行老客户以及客户类型的定义(其中将飞行次数大于6次的客户定义为老客户,已流失客户定义为:第二年飞行次数与第一年飞行次数比例小于50%的客户;准流失客户定义为:第二年飞行次数与第一年飞行次数比例在区间[50%,90%)内的客户;未流失客户定义为:第二年飞行次数与第一年飞行次数比例大于90%的客户)。同时需要选取客户信息中的关键属性如:会员卡级别、客户类型(流失、准流失、未流失)、平均乘机时间间隔、平均折扣率、积分兑换次数、非乘机积分总和、单位里程票价、单位里程积分等。随机选取数据的80%作为分类的训练样本,剩余的20%作为测试样本。构建客户的流失模型,运用模型预测未来客户的类别归属(未流失、准流失,或已流失)。