利用聚类分析航空公司客户价值

目标: 
客户分类,比较分析不同类别客户价值,制定相应的营销策略

思路与流程: 
分析的目标是将航空公司客户分类,属于无监督学习,故采用聚类挖掘模型 
确定模型之后,需要选择相应的指标,这里指标的选择需结合业务来确定,能够反映客户的关键特征 
确定模型和指标之后,可能需要对数据进行一定的探索分析,预处理等,以适应挖掘的需要

数据抽取 - 数据探索分析 - 数据预处理 - 构建模型及模型应用

一、数据抽取

首先观察一下原始数据的基本信息

可以看出,原始数据大小为 (62988行, 44列),并且存在空值,存在不同的数据类型

二、数据探索分析

这里着重分析数据的质量,特别是空值数量,极值的数量

通过观察可以看出,原始数据中存在票价为空值、票价为0、折扣率最小值为0、飞行公里数大于0的记录。票价为空值的原因可能是乘客不存在登机记录,其他数据可能是乘客乘坐0折机票或积分兑换造成

三、数据预处理

1 数据清洗

通过数据的探索分析发现数据中存在票价为空值、票价为0、折扣率最小值为0、飞行公里数大于0的记录。由于这块的数据所占比重较小,故采用丢弃的处理办法

01 删除空值 
02 仅保留票价不为0,或折扣率和总飞行公里数同时为0的记录

2 属性规约

航空公司的客户价值模型为LRFMC,即入会时间、距最近乘机月数、飞行次数,飞行里程,平均折扣。原始数据中与LRFMC指标相关的6个属性为 FFP_DATE、 LOAD_TIME、 FLIGHT_COUNT、 avg_discount、 SEG_KM_SUM、 LAST_TO_END

我们需要在以上6个属性的基础之上,提取出LRFMC指标 
L = LOAD_TIME - FFP_DATE (属性需转换为时间格式) 
R = LAST_TO_END 
F = FLIGHT_COUNT 
M = SEG_KM_SUM 
C = avg_discount

3 数据变换

这里数据变换的方法是标准差标准化。这样做是因为挖掘模型为聚类模型,是基于距离的算法。数据集中各属性量纲不同,数据大小差别太大,若不处理会影响挖掘的效果

下面是经过标准差标准化后的数据集

至此,数据预处理完成,下一步进行数据挖掘

四、构建模型及模型应用

1 客户聚类 
采用KMeans 聚类算法对客户数据进行客户分群,分为5类 
代码如下:

from sklearn.cluster import KMeans
model = KMeans(n_jobs = 4, n_clusters = 5)
model.fit(zs_d)

center_d = pd.concat([pd.Series(model.labels_).value_counts(), pd.DataFrame(model.cluster_centers_)], axis = 1)
center_d['客户类别'] = ['客户群1','客户群2','客户群3','客户群4','客户群5']
center_d.columns = ['计数'] + list(target_d.columns)+['客户类别']
center_d = center_d[['客户类别','计数','L','R','F','M','C']]
1
2
3
4
5
6
7
8
9
聚类结果如下:

2 客户价值分析 
针对聚类结果,对各客户群进行特征的分析。这里采用雷达图,可以更为直观的分析比较各个特征

雷达图代码如下:

from pyecharts import Radar

v1 = [list(radar_d.loc['客户群1',:])]
v2 = [list(radar_d.loc['客户群2',:])]
v3 = [list(radar_d.loc['客户群3',:])]
v4 = [list(radar_d.loc['客户群4',:])]
v5 = [list(radar_d.loc['客户群5',:])]
c_schema= [{"name": "L", "max": 2.5, "min": -1},
           {"name": "R", "max": 2.5, "min": -1},
           {"name": "F", "max": 2.5, "min": -1},
           {"name": "M", "max": 2.5, "min": -1},
           {"name": "C", "max": 2.5, "min": -1}]

radar = Radar()
radar.config(c_schema=c_schema, shape='circle')
radar.add('客户群1', v1, item_color="#ff0000", symbol=None)
radar.add('客户群2', v2, item_color="#477725", symbol=None)
radar.add('客户群3', v3, item_color="#66ff00", symbol=None)
radar.add('客户群4', v4, item_color="#66ffff", symbol=None)
radar.add('客户群5', v5, item_color="#FFFF00", symbol=None)
radar.show_config()
radar.render()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
雷达图显示:

各客户群的优势特征和劣势特征比较

客户群1的优势特征为:L F M 
客户群2的优势特征为:R 
客户群3的优势特征为: 无 
客户群4的优势特征为:F M R L C 
客户群5的优势特征为:C F M

根据每个客户群的特征,定义5个等级的客户类别: 
01 重要保持客户。F M R L C 均表现优势,属于高价值客户。航空公司应将主要资源放在他们身上,提高他们的忠诚度和满意度,延长此类客户的高水平消费 
02 重要发展客户。此类客户入会时间短,折扣率高,飞行次数和里程较高,属于潜力股客户。航空公司要促进此类客户的消费 
03 重要挽留客户。此类客户入会时间长,但最近没有消费。航空公司应唤醒此类客户,延长生命周期 
04 一般与低价值客户。 F M R L C 均表现弱势

最后,将5个客户群价值排名: 
NO.1 客户群4 
NO.2 客户群5 
NO.3 客户群1 
NO.4 客户群2 
NO.5 客户群3
--------------------- 
作者:不得行 
来源:CSDN 
原文:https://blog.csdn.net/partherzb/article/details/78203449 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值