數據挖掘之航空公司客戶價值分析

課程設計選題:詳細文檔項目見https://download.csdn.net/download/sereasuesue/12050550

題目:航空公司客戶價值分析

目錄

一、 任務背景 2

二、 數據挖掘目標 2

三、數據探索與預處理 3

構建航空客戶價值分析的關鍵特徵 3

數據抽取 5

探索性分析 5

數據處理 6

四、模型構建與評價 12

1.模型構建K-Means聚類算法 12

客戶價值分析 13

五、 總結 16

 

 

 

  • 任務背景

高鐵、動車等鐵路的不斷興建,出行方式的多元化讓航空公司受到很大的衝擊。航空公司之間競爭也很激烈,除了四大航空公司之間的競爭之外,還有新興產業的各類小型航空公司、民營航空公司,旅遊等。甚至國外航線出現高速度增長。

隨着時代的發展,客戶問題越來越受到關注,客戶流失對利潤增長造成了非常大的負面影響。客戶與航空公司的關係越長,航空公司的利潤就越高。一個客戶使用了幾次這次服務,感覺服務不錯,那下次還會傾向於這個服務,但是要獲得新客戶,不僅需要在廣告和人員工資上花費很多,去吸引顧客,在銷售、市場也會花費很多,並且大多數新客戶產生的利潤不如那些流失的老客戶多。很明顯,失去一個客戶對公司來說比得到一個新客戶更昂貴。另外老用戶也可以帶來新用戶。

因此,在這一背景下,分析航空公司客戶數據,對客戶進行分類,提高客戶流失率是當務之急。航空公司應針對不同類型的客戶制定相應的營銷模式,以實現利潤最大化。。

  • 數據挖掘目標

按航空公司客戶數據進行分類。分析了不同類型顧客的特點,比較不同類型顧客的顧客價值。可以爲不同價值客戶類別提供個性化服務,並採用相應的營銷策略。

分類客戶的目的,就是要更精確地說明誰是我們的客戶,瞭解客戶到底有哪些實際需要,企業應該去吸引哪些客戶,哪些客戶應該被重點保留,以及應該如何迎合重點客戶的需求等重要問題,進而使客戶關係管理真正成爲業務獲得成功、擴大產品銷量的催化劑。客戶分類是客戶關係管理的核心。帕累託定律(2/8定律):就是20%的顧客給企業帶來80%的銷售利潤。20%的客戶其利潤率達到100%。現有客戶可以帶來90%以上的收入。而大部分的營銷預算經常被用在非現有客戶上。在客戶金字塔中具有升級潛力有5%至30%的客戶。客戶金字塔中客戶升級2%,銷售收入增加10%,利潤就增加50%。

這些經驗可能並不完全準確,但我們可以看到新時代客戶差異化的趨勢和客戶價值分析的重要性。

企業應該投入大量的資源來贏得客戶,而目標應該放在一小部分能夠爲企業帶來高利潤的客戶羣中,而不是所有的客戶羣中,以便長期實現自身的特點。航空公司如何投入有限的資源來實現精準營銷,從而提高企業的競爭力,最終實現利潤最大化?這是航空公司面臨的第一個也是必要解決的問題。

 

三、數據探索與預處理

構建航空客戶價值分析的關鍵特徵

這種數據挖掘的目標是通過航空公司的客戶數據識別客戶價值,並識別具有不同價值的客戶。首先,目標是客戶價值識別。RFM模型是識別顧客價值最常用的模型,可以用來對顧客進行分類。數據挖掘的目標是客戶價值分析,即通過航空公司客戶數據識別具有不同價值的客戶。識別客戶價值最常用的模型是RFM模型。

R(Recency)指的是最近一次消費時間與截止時間的間隔。一般而言,最近一次消費時間與截止時間的間隔越短,說明對當時提供的商品或是服務也最有可能感興趣。

F(Frequency)指顧客在某段時間內所消費的次數。可以說消費頻率越高的顧客,也是滿意度越高的顧客,其忠誠度也就越高,顧客價值也就越大。

M(Monetary)指顧客在某段時間內所消費的金額。消費金額越大的顧客,他們的消費能力自然也就越大,這就是所謂“20%的顧客貢獻了80%的銷售額”的二八法則

RFM模型包括三個特徵,使用三維座標系進行展示,如圖所示。X軸表示最近(時間),Y軸表示頻率,Z軸表示貨幣,每個軸一般會分成5級表示程度,1爲最小,5爲最大

轉存失敗重新上傳取消正在上傳…重新上傳取消

然而,由於機票價格受距離、艙位等諸多因素的影響,同一金額對航空公司的價值也不盡相同。因此,我們需要對指標進行修訂。在所選變量中,客艙係數=對應於客艙係數的平均折扣係數=c,距離係數=某段時間內的累計飛行里程=m。

考慮到航空公司的會員制會因用戶的出勤時間長短而在一定程度上影響客戶價值,增加指標L=成爲會員時間長度=客戶關係長度決定了五個指標。R代表客戶最近一次消費距今時間長度,客戶關係長度L(從入會之日算起),消費頻率f、飛行里程m和折扣係數。以上指標是航空公司對客戶價值的識別,稱爲LRFMC模型。

綜上,本案例,採用聚類的辦法進行識別客戶價值,以LRFMC模型爲基礎該案例,總體流程如下圖

挖掘步驟

從航空公司中,有選擇地提取數據進行觀察、探索性數據分析和預處理,包括缺失和異常值的分析和處理、屬性說明、清理和轉換。將處理後的數據作爲建模數據,利用客流價值的LRFMC模型對客戶進行聚類。然後分析每個客戶羣的特點,識別出有價值的客戶。針對模型結果得到不同價值的客戶,採用不同的營銷手段,推送定製化的營銷服務,重點維護老客戶

數據抽取

    選取兩年的時間作爲觀察窗口

探索性分析

對航空公司的客戶數據進行了探索和分析。主要分析缺失和異常數據。通過觀察發現,有票價爲0、折扣率爲0、飛行公里數爲0的數據。票價爲空值,可能是不存在飛行記錄,其他空值可能是,飛機票來自於積分兌換、特價0折優惠等渠道

查找每列屬性觀測值中空值的個數、最大值、最小值的代碼如下

#-*- coding: utf-8 -*-
#對數據進行基本的探索
#返回缺失值個數以及最大最小值

import pandas as pd

datafile= '../data/air_data.csv' #航空原始數據,第一行爲屬性標籤
resultfile = '../tmp/explore1.xls' #數據探索結果表

data = pd.read_csv(datafile, encoding = 'utf-8') #讀取原始數據,指定UTF-8編碼(需要用文本編輯器將數據裝換爲UTF-8編碼)

explore = data.describe(percentiles = [], include = 'all').T #包括對數據的基本描述,percentiles參數是指定計算多少的分位數表(如1/4分位數、中位數等);T是轉置,轉置後更方便查閱
explore['null'] = len(data)-explore['count'] #describe()函數自動計算非空值數,需要手動計算空值數

explore = explore[['null', 'max', 'min']]
explore.columns = [u'空值數', u'最大值', u'最小值'] #表頭重命名
'''這裏只選取部分探索結果。
describe()函數自動計算的字段有count(非空值數)、unique(唯一值數)、top(頻數最高者)、freq(最高頻數)、mean(平均值)、std(方差)、min(最小值)、50%(中位數)、max(最大值)'''

explore.to_excel(resultfile) #導出結果

結果如下

 

數據處理

數據清洗

航空公司客戶原始數據中有少量缺失和異常值,需要進行清洗後才能用於分析。

通過對數據觀察發現原始數據中存在票價爲空值,票價最小值爲0,折扣率最小值爲0,總飛行公里數大於0的記錄。票價爲空值的數據可能是客戶不存在乘機記錄造成。

處理方法:將票價爲空的記錄丟棄。

其他的數據可能是客戶乘坐0折機票或者積分兌換造成。由於原始數據量大,通過計算髮現這類數據所佔比例較小,對於問題影響不大,因此對其進行丟棄處理。

處理方法:將票價爲0的記錄丟棄,丟棄平均折扣率不爲0,總飛行公里數大於0的記錄。

 

 

刪除後剩餘的樣本值是62044個,可見正常樣本的比例超過98%,因此不會對分析結果產生較大的影響

屬性規約

航空公司客戶價值原始數據中的屬性太多,對其評估通常基於LRFMC模型,與其相關的只有6個屬性如下。刪除與其不相關,冗餘的其他的屬性

 

 

數據變換

原始數據沒有給出LRFMC模型的五個指標,需通過計算得出,而上面6個屬性與這5個指標的關係如下:

L(客戶關係長度)=LOAD_TIME - FFP_DATE

會員入會時間距觀測窗口結束的月數=觀測窗口結束的時間-入會時間(單位:月)

R=LAST_TO_END

客戶最近一次乘坐公司飛機距觀測窗口結束的月數=最後一次乘機時間至觀察窗口末端時長[單位:月]

F=FLIGHT_COUNT

客戶在觀測窗口內乘坐公司飛機的次數=觀測窗口的飛行次數(單位:次)

M=SEG_KM_SUM

客戶在觀測時間內在公司累計的飛行里程=觀測窗口的總飛行公里數(單位:公里)

C=AVG_DISCOUNT

客戶在觀測時間內乘坐艙位所對應的折扣係數的平均值=平均折扣率


import pandas as pd
import numpy as np
import datetime

datafile='../tmp/data_cleaned.xls'
data=pd.read_excel(datafile)
d1, d2 = [], []
for x in data['LOAD_TIME']:
    d1.append(datetime.datetime.strptime(x, '%Y/%m/%d'))
for y in data['FFP_DATE']:
    d2.append(datetime.datetime.strptime(y, '%Y/%m/%d'))

d3 = [d1[i] - d2[i] for i in range(len(d1))]
data['L'] = [round((x.days / 30), 2) for x in d3]
data2 = data[['L', 'LAST_TO_END', 'FLIGHT_COUNT', 'SEG_KM_SUM', 'avg_discount']]
data2.columns = ['L', 'R', 'F', 'M', 'C']
data2.to_csv('../data/zscoredata1.csv',  index=False)

 

發現得到數據和網上正確答案存在部分差距,可能是數據處理格式化和精確度的問題

從數據中提取5個指標後,對數據分佈情況進行分析(分析結果explore2.xls)。從表中數據可以發現,五個特徵的取值範圍數據差異較大,爲了消除數量級數據帶來的影響,需要對數據做標準化處理。

 

 

客戶價值分析

畫雷達圖

#-*- coding: utf-8 -*-
#畫出特徵雷達圖
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans #導入K均值聚類算法
inputfile = '../tmp/zscoreddata1.xls' #待聚類的數據文件
k = 5                       #需要進行的聚類類別數
#讀取數據並進行聚類分析
data = pd.read_excel(inputfile) #讀取數據
#調用k-means算法,進行聚類分析
kmodel = KMeans(n_clusters = k, n_jobs = 4) #n_jobs是並行數,一般等於CPU數較好
kmodel.fit(data) #訓練模型
labels = data.columns #標籤
k = 5 #數據個數
plot_data = kmodel.cluster_centers_
color = ['b', 'g', 'r', 'c', 'y'] #指定顏色

angles = np.linspace(0, 2*np.pi, k, endpoint=False)
plot_data = np.concatenate((plot_data, plot_data[:,[0]]), axis=1) # 閉合
angles = np.concatenate((angles, [angles[0]])) # 閉合

fig = plt.figure()
ax = fig.add_subplot(111, polar=True) #設置爲極座標方式
for i in range(len(plot_data)):
  ax.plot(angles, plot_data[i], 'o-', color = color[i], label = 'client'+str(i+1), linewidth=2)# 畫線

ax.set_rgrids(np.arange(0.01, 3.5, 0.5), np.arange(-1, 2.5, 0.5), fontproperties="SimHei")
ax.set_thetagrids(angles * 180/np.pi, labels, fontproperties="SimHei")
ax.set_title("matplotlib雷達圖", va='bottom', fontproperties="SimHei")
plt.legend(loc = 4)
plt.show()

 

 

客戶羣4 聚類個數5336個 曲線爲client1[blue] 此類用戶的特點是F(乘坐次數),M很高,L入會時長也不低,R(最近乘坐航班)屬性最小,可作爲最優先的目標,進行差異化管理,提高滿意度。可以作爲重要保持客戶

客戶羣1聚類個數4186個Client4[yellow] 的C屬性最大,R(最近乘坐航班)低,此類客戶的特徵是潛在價值客戶。雖然說,可以看到當前價值不高,但是卻有很大的發展潛力,促使這類客戶在該公司消費和合作伙伴處消費,這樣他們很快可以爲公司創造價值。可以作爲重要發展客戶

客戶羣3 聚類個數15740個雷達圖曲線爲client1[red]的L屬性較大但F,M較低。這說明之前可能乘坐航班過多,但最近乘坐較少,可能是流失或者其他原因。增加與這類客戶的互動,瞭解情況,採取一定手段,延長客戶生命週期。爲重要挽留用戶

客戶羣2 聚類個數24658個雷達圖曲線爲client2[green] 的L R屬性最小

客戶羣5聚類個數12124個雷達圖曲線爲client5[Celadan青色]的R屬性最大

客戶羣2和5的特點是C值較低、近期航班(R)較少、行程次數(F)較少或里程(M)較低。。但入會時長(L)也較短,因此可能是普通的工薪家庭,只有當公司提供折扣和促銷時,他們纔可以乘坐我們的航班。可被視爲是一般與低價值客戶

 

通過LRFMC 分析可將航空公司的客戶羣體劃分成以上等級針對不同等級的客戶,航空公司可以採取不同的管理策略

首次兌換會員的升級與保級:可從客戶數據庫中提取接近但不符合首次可兌換標準的客戶,並進行進行提醒或者進行促銷活動,使其易於消費達到標準成爲會員;在對會員升級或保級進行評價的時間點之前,對那些接近但尚未達到要求的客戶進行適當提醒或者一些促銷活動。並告知會員的權限和活動。一旦成爲會員,客戶在該公司進行再次消費兌換就比在其他公司進行兌換要容易許多,(心理原因潛意思行爲)這樣比創建一個新用戶的成該低的多。這樣,我們不僅可以獲得利潤,還可以提高客戶滿意度,增加公司的精英會員。

交叉銷售;針對各類重要客戶。查看這樣客戶在其他合作伙伴的消費情況,換句話說,某個用戶喜歡買東西,可以買東西時贈送給他航空的優惠卷或者積分,就是找出他們習慣的里程積累的方式喜歡消費哪些類型合作伙伴的產品,對他們進行相應推廣,使客戶在其他企業的消費過程中獲得該公司的積分,這樣他們和公司的聯繫會更加密切,也提高他們對公司忠誠度。

客戶保持;針對重要保持客戶。根據總得分的排列情況,優先將資源應該被投放到這類總得分較高的客戶身上,可以設置專享服務讓他們感受到他們被重視。

客戶的流失預警:針對重要挽留或保持客戶。我們可以定期觀測重要客戶的R、F、M、C 的變化情況,推測客戶消費的異動狀況,計算出客戶流失的可能性,列出客戶名單,重點聯繫然後進行推送活動,以最好有效的方式防範重要客戶流失。

客戶的發展:針對重要發展客戶。可以採取加強與這類客戶的溝通,使他們對航空公司的會員服務、特色活動,優惠活動、企業文化有更多的瞭解,提供各類會員資訊、促銷信息等。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章