3航空公司客户价值分析

您所在的位置:网站首页 客户分群案例 3航空公司客户价值分析

3航空公司客户价值分析

2023-03-20 19:36| 来源: 网络整理| 查看: 265

3航空公司客户价值分析

目标

将客户进行分类分群,分析对比不同客户群体的客户价值,将营销资源集中于高价值客户,实现企业利润最大化。(通过航空公司的数据识别不同价值的客户。)

3.1 数据的探索性分析

探索性分析的目的是对数据进行缺失值分析和异常值分析,分析数据的规律。

查找每列属性的最大最小值以及空值个数。代码如下:

# coding=utf-8#数据探索分析import pandasas pddatafile='demo/data/air_data.csv'resultfile='demo/tmp/explore.xls'#数据探索分析结果表pd.set_option('display.width',200)data=pd.read_csv(datafile,encoding='utf-8')explore=data.describe(percentiles=[],include='all').T#percentiles指定计算多少分位数explore['null']=len(data)-explore['count']explore=explore[['null','max','min']]explore.columns=[u'空值数',u'最大值',u'最小值']#表头重命名explore.to_excel(resultfile)

计算结果如下:

部分数据没能显示

从该表中我们可得知哪一列有缺失值,以及由多少缺失值。

3.2 数据预处理

本案例采用的数据预处理的方式主要有数据清洗、属性规约、数据变换。

3.2.1 数据清洗

根据数据探索分析的结果可知数据中存在缺失值,以及票价最小值为0、折扣率最小值为0、总飞行公里数大于0的纪律,由于本案例的数据较多,故将此部分数据删除过滤掉。代码如下:

#数据清洗删除异常数据及空值# coding=utf-8import pandasas pddatafile='demo/data/air_data.csv'cleanedfile='demo/tmp/data_cleaned.xls'pd.set_option('display.width',500)data=pd.read_csv(datafile,encoding='utf-8')data=data[data['SUM_YR_1'].notnull()*data['SUM_YR_2'].notnull()]#票价非空值才保留#只保留票价非零的,或者平均折扣率与总飞行公里数同时为0的记录index1=data['SUM_YR_1']!=0index2=data['SUM_YR_2']!=0index3=(data['SEG_KM_SUM']==0)&(data['avg_discount']==0)data=data[index1|index2|index3]data.to_excel(cleanedfile)

3.2.2属性规约

从表中我们科看出,每行数据的属性太多了,而且许多属性时与我们分析无关的,此时就需要将这些不相关的数据删除。代码如下:

#属性规约# encoding=utf-8import pandasas pdinputfile='demo/tmp/data_cleaned.xls'outputfile='demo/tmp/zscoreddata2.xls'data=pd.read_excel(inputfile)data=data[['FFP_DATE','LOAD_TIME','FLIGHT_COUNT','avg_discount','SEG_KM_SUM','LAST_TO_END']]data.to_excel(outputfile)

结果如下

3.2.3 数据变换和数据标准化

数据变换就是将数据转换成适当的数据格式,以适应挖掘任务的需要,本案例中主要采用的数据变换方式为属性构造和数据标准化处理。代码如下:

# coding=utf-8#数据标准化import pandasas pddatafile='demo/data/zscoredata.xls'zscoresfile='demo/tmp/zscoreddata.xls'data=pd.read_excel(datafile)data=(data-data.mean(axis=0))/(data.std(axis=0))data.columns=['Z'+ifor iin data.columns]data.to_excel(zscoresfile,index=False)

3.3 模型的构建

客户价值分析模型构建主要由两个部分组成,首先是,根据航空公司客户的五个指标数据,对客户进行聚类分析;其次是,结合业务对每个客户群进行特征分析,分析客户的价值,并对客户群进行排名。

3.3.1 客户聚类

本案例采用K-Means聚类方法,对客户进行聚类分析。代码如下:

# coding=utf-8#k-means聚类import pandasas pdfrom sklearn.clusterimport KMeansimport matplotlib.pyplotas pltimport numpyas npnp.set_printoptions(suppress=True)inputfile='demo/tmp/zscoreddata.xls'k=5data=pd.read_excel(inputfile)kmodel=KMeans(n_clusters=k,n_jobs=1,random_state=1)#n_jobs指并行数kmodel.fit(data)#开始训练模型print kmodel.cluster_centers_#查看聚类中心print kmodel.labels_#查看各类样本对应的类别r1=pd.Series(kmodel.labels_).value_counts()r2=pd.DataFrame(kmodel.cluster_centers_)r=pd.concat([r2,r1],axis=1)r.columns=list(data.columns)+['类别数目']print r#可视化x=[1,2,3,4,5]colors=['green','red','yellow','blue','black']for iin range(5):    plt.plot(x,kmodel.cluster_centers_[i],label=('customer%d'%(i+1)),linewidth=2,color=colors[i],marker='o')    plt.legend()plt.xlabel('L R F M C')plt.ylabel('values')plt.show()

 

每个客户群体的个数:

客户群体3最多,1次之,客户群体5的数量最少仅有4232

可视化结果:

3.3.2 客户价值分析

客户群体1 [[ 0.48347647 -0.79941777  2.48236495 2.42356419  0.30943042]

客户群体2 [1.16037972 -0.37741377 -0.08700996 -0.09501774 -0.15844696]

客户群体3 [-0.7007739  -0.41516372 -0.16074548 -0.16047743-0.25671287]

客户群体4 [-0.31408336  1.68668163 -0.57385161 -0.53660513-0.17255233]

客户群体5 [ 0.05131968-0.00247696 -0.23102924 -0.23522627 2.1770189 ]]

L:会员入会时间距离窗口结束的月数

R:客户最近一次乘坐公司飞机距观测窗口结束的月数

F:客户在观测时间内乘坐公司飞机的次数

M:客户在观测时间内在公司累计的飞行公里数

C: 客户在观测时间内乘坐舱位所对应的折扣系数的平均值

 

从图中可看出:

(1) 客户群体1的优势特征为F,M,在R上的属性值最小,属于重要保持客户,他们是航空公司高价值的客户,是最为理想型的客户类型,对公司贡献率较大,但是占比较小,应把优先资源投放在它们身上,对他们进行差值化管理和一对一营销,提高客户忠诚度和满意度。

(2) 客户群体5的C较高,其他较低,属于重要发展客户,他们的L较短,是公司的潜在客户,虽然当前其对公司的价值不是太高但是发展潜力却很大,公司要促使其在本公司的消费和合作伙伴处的消费,提升客户价值,提升其满意度,提高其转向竞争对手的转移成本,使他们逐渐成为公司的忠诚客户。

(3) 客户群体2,L较高,其他较低,属于重要挽留客户。航空公司应根据这些客户的最近消费时间、消费次数的变化情况,推测客户消费的异动状况,对其重点联系,延长客户的生命周期。

(4) 客户群体4,R较高,其他较低,属于一般客户

(5) 客户群体3,属于低价值客户,一般客户和低价值客户可能只会在公司机票打折时才会乘坐。根据顾客群体数量可知,该公司的低价值客户群体占比最大。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3