航空公司客户价值分析

背景:民航的竞争除了三大航空公司之间的竞争之外,还将加入新崛起的各类小型航空公司、民营航空公司,甚至国外航空巨头。
航空产品生产过剩,产品同质化特征愈加明显,于是航空公司从价格、服务间的竞争逐渐转向对客户的竞争。

目标:通过建立合理的客户价值评估模型,对客户群体进行分类,分析比较不同的客户群的客户价值,并制定相应的营销策略,对不同的客户群体提出个性化的服务是必须和有效的。目前航空公司已经累积了大量的会员档案信息和其乘坐航班的几率,根据相关记录实现以下目标:
1.借助航空公司数据,对客户进行分类。
2.对不同的客户类进行特征分析,比较不同的客户价值。
3.针对不同的客户提供个性化服务,指定相应的营销策略。

话不多说,直接上菜

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

Airline_data= pd.read_csv('air_data.csv',encoding='gb18030') # 输入的数据文件

#选取特征列
dataX=Airline_data.loc[:,['FFP_DATE','LOAD_TIME','FLIGHT_COUNT','SEG_KM_SUM','LAST_TO_END','avg_discount',]]
#时间转化
dataX['FFP_DATE']=pd.to_datetime(dataX['FFP_DATE'])
dataX['LOAD_TIME']=pd.to_datetime(dataX['LOAD_TIME'])
data1=(dataX['LOAD_TIME']-dataX['FFP_DATE']).apply(lambda x:x.days)

# 用一列置换前面两列
dataX['F2L_DATE']=data1
dataX1=dataX.loc[:,['F2L_DATE','FLIGHT_COUNT','SEG_KM_SUM','LAST_TO_END','avg_discount']]

#看最大和最小值
# dataX1.max()
# dataX1.min()

#dataX1.info()
#dataX1.describe()

#标准化
# x_np=np.array(dataX1)
# scaler=StandardScaler()
# X_train=scaler.fit_transform(x_np)


data_mean=dataX1.mean()
data_std=dataX1.std()
data_train=(dataX1-data_mean)/data_std


#########聚类
k = 5
# 训练模型
model = KMeans(n_clusters=k)
model.fit(data_train)
s = pd.Series(['第一类','第二类','第三类','第四类','第五类'], index=[1,2,3,4,5]) #创建一个序列s
r1 = pd.Series(model.labels_).value_counts() #统计各个类别的数目
r2 = pd.DataFrame(model.cluster_centers_) #找出聚类中心
r = pd.concat([s,r1,r2], axis = 1) #横向连接,得到聚类中心对应的类别下的数目
r.columns =[u'聚类名称'] +[u'聚类个数'] + list(dataX1.columns) #重命名表头
print(r)

#画图
plt.figure(figsize=[10,10])
x=range(1,6)
colors=['red','green','yellow','blue','black']
tu_title=['第一类','第二类','第三类','第四类','第五类']
for i in range(0,5):
      y=r2.loc[i,:]
      plt.plot(x,y,color=colors[i],label=tu_title[i],marker='o',markerfacecolor=colors[i])
      # plt.legend(tu_title[i])
plt.legend()
plt.show()

聚类结果:在这里插入图片描述

类中心可视化结果:在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值