航空公司客户价值分析(K_Means聚类分析)
最近在看黄红梅、张良均老师主编的《Python数据分析与应用》,拿书里的案例练练手。
本案例将使用航空公司客户数据,结合RFM模型,采用K_Means聚类算法,对客户惊醒分群,比较不同类别客户的客户价值,从而制定相应的营销策略。
RFM模型:Recency最近一次消费,Frequency消费频率,Monetary消费总金额。
RFM模型是衡量客户价值和客户创利能力的重要工具和手段。该机械模型通过一个客户的近期购买行为、购买的总体频率以及花了多少钱三项指标来描述该客户的价值状况。
本案例中,航空票价受到运输距离、舱位等级等多种因素影响,同样消费金额的不同旅客对航空公司的价值是不同的。选择高等级舱位、短距离的客户和选择低等级舱位、长距离的客户价值,即使两者的消费金额一样,前者更具价值。所以用客户在一定时间内累积的飞行里程M和客户在一定时间捏乘坐舱位所对应的折扣系数的平均值C两个特征来代替消费金额。另外,航空公司会员入会时间的长短在一定长度上能够影响客户价值,所以在模型中增加客户关系长度L。最终选择客户关系长度L、消费时间间隔R、消费频率F、飞行里程M和折扣系数的平均值C这5个特征作为航空公司识别客户价值的特征,构建LRFMC模型进行客户分群,将客户分为重要保持客户、重要发展客户、重要挽留客户、一般客户和低价值客户。
打开python敲代码,首先导入常用的库和数据表。
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
get_ipython().run_line_magic('matplotlib', 'inline')
#解决中文编码出现的问题
plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['axes.unicode_minus']=False
df=pd.read_csv(r'air_data.csv',encoding='gb18030')
#一开始用pd.read_csv(r'air_data')导入数据文件一直报错
#解决方法:read_csv()中加上encoding='gb18030'
了解数据概括,进行数据预处理。
df.isnull(