本篇公众号内容仅描述分析思路,完整的分析过程及python代码,请点击下方【原文链接】阅读。
数据来源:网上脱敏数据
| 一、背景和目标 |
通过对航空公司客户数据分析,对客户进行分类;
比较不同客户的客户价值,并制定不同的服务和营销策略
| 二、分析思路 |
1、数据质量分析和数据特征分析,选择数据分析的属性和分析方向
2、数据预处理:对数据进行清洗,删除重复数据、对缺失值进行处理、异常数据处理
3、数据分析:因为是对客户价值分析,采用RFM模型构建数据模型,对客户群体进行聚类分群,分析每个聚类客户的特点
4、客户价值的分析
| 三、分析过程 |

数据时间范围: 2012年4月1日至2014年3月31日的 数据
数据记录数: 62988 行
字段数: 44 个
数据属性说明(字段)


缺失值分析

数据存在缺失值
重复值分析
# 查询是否有重复值df.duplicated().sum()查询结果无重复值
异常数据分析
发现存在年龄 > 100岁的记录,属于异常数据,需要处理
数据特征分析
数据中有44个属性,对于我们客户价值分析有用的属性是有限的几个,我们选取会员入会时间、票价、飞行总次数、飞行总里程、最后飞行间隔、折扣等与飞行有关的属性作为分析的依据,对于相关性较弱的属性,我们予以丢弃。
属性 说明 FFP_DATE 入会时间 LOAD_TIME 观测窗口的结束时间 LAST_TO_END 最后一次乘机时间至观察窗口末端时长 FLIGHT_COUNT 观测窗口内的飞行次数 SEG_KM_SUM 观测窗口总飞行公里数 avg_discount 平均折扣率

删除重复值、缺失值处理(与分析指标相关性弱的属性,不作处理)、异常数据处理。

由于航空公司的业务具有其显著的特征,传统的RFM模型并不太适用,消费金额(即票价)受到多种因素影响,会员等级、折扣率、飞行里程等,但客户乘机的飞行里程是不受其他因素影响,这里将飞行总里程数作为M指标进行分析。在模型构建时,采用了优化的LRFMC模型,增加L、C两个指标辅助分析,指标说明如下图所示:

构建完模型后,发现5个指标的数据取值范围跨度比较大,存在数量级的差距,不便于分析。

为了消除数量级的影响,需要对指标数据进行标准化处理,这里选择z-score进行数据标准化处理,z-score方法的原理是将各个指标数据按比例缩放,使各个指标数据落在特定的区间内(平均值为0,标准差为1)。


通过K-means聚类算法,将会员进行分类聚类为5类,并统计每类客户群的人数。


最后,将聚类的数据使用matplotlib绘制雷达图,直观展示客户特征分布。


结合RFM模型进行用户价值分类,对聚类的5类用户进行特征性分析,最终总结航空公司的几类客户群体的分类,并给予相应的建议。





