利用KMeans聚類進行航空公司客戶價值分析
本文利用KMeans聚類演算法依據航空公司某一時間段歷史數據對客戶進行分類,進而對不同客戶類別進行特徵分析,得到不同類客戶的客戶價值,分析結果可以供航空公司為客戶提供個性化服務,降低營銷成本。
1.分析目標:
對航空公司客戶進行分類,識別不同類型客戶價值
2.理解數據
2.1導入數據
2.2查看數據信息
可以看到源數據總共有62988行,44列。其中SUM_YR_1和SUM_YR_2分別表示第一年總票價和第二年總票價,兩列均有空值缺失約500多條數據,且第一年和第二年總票價最小值均為0
3.數據清洗
針對票價為空的記錄,由於這類數據佔比較小,所以對其進行丟棄處理
只保留票價非0或者平均折扣率與總飛行公里數同時為0的記錄
識別客戶價值應用最廣泛的模型是RFM模型,但考慮到航空業務的特殊場景:航空票價受運輸距離、艙位等級等多種因素影響。同樣消費金額的不同旅客對航空公司的價值是不同的,例如,一位購買長航線、低等級艙位票的旅客與一位購買短航線、高等級艙位票的旅客相比,後者對於航空公司而言價值可能更高。因此在本例中採用客戶在一定時間內累積的飛行里程M和客戶在一定時間內乘坐艙位所對應的折扣係數平均值C兩個指標代替消費金額,另外考慮到航空公司會員入會時間的長短在一定程度上能夠影響客戶價值,所以在模型中增加另一指標:客戶關係長度L
故而本案例中採用的客戶價值分析模型為由以下指標:客戶關係長度L、消費時間間隔R、消費頻率F、飛行里程M和折扣係數平均值C構成的LRFMC模型
選取源數據中與分析指標相關的列:LOAD_TIME觀測窗口的結束時間、FFP_DATE入會時間、LAST_TO_END最後一次乘機時間距離觀測窗口結束時間時長(月)、FLIGHT_COUNT飛行次數、SEG_KM_SUM觀測窗口總飛行公里數、avg_discount平均折扣率
客戶關係長度L=LOAD_TIME-FFP_DATE (單位:月)
R=LAST_TO_END
F=FLIGHT_COUNT
M=SEG_KM_SUM
C=avg_discount
查看五個指標數據的分布情況
從圖3.6中可以看出5個指標取值範圍差異較大,為了消除數量級數據帶來的影響,對數據進行標準化處理
4.構建模型
KMeans演算法可以將五個指標分別劃分為k個聚類,得出的聚類結果同一聚類類別的相似度較高而不同聚類類別的相似度較小,本例中k值指定為5,即劃分為5類(需要結合業務的理解和分析來確定客戶的類別數量)
KMeans演算法輸出聚類中心model.cluster_centers_和聚類標籤model.labels_
5.特徵分析
圖4.2聚類中心折線圖X軸1,2,3,4,5坐標分別代表LRFMC五個指標,折現上的圓點對應的Y軸取值為該折線即該客戶群在此指標下的聚類中心
針對該圖對客戶價值進行分析:
折線顏色與客戶群類別對應關係為
紅色:客戶群1
綠色:客戶群2
黃色:客戶群3
藍色:客戶群4
黑色:客戶群5
客戶群4 F、M值很高說明消費頻次和飛行里程數高,並且L不低,說明會員時長也不短,R又很低說明最近消費過,視為重要保持客戶
客戶群1 C值很高,說明乘坐艙位級別高,R低說明最近消費過,雖然F、M暫時較低,但發展潛力較大,視為重要發展客戶
客戶群5 重要挽留客戶
客戶群2、客戶群3 CFML低,R高 普通價值客戶和低價值客戶
至此,就對航空公司的客戶價值進行了識別
推薦閱讀:
※剪刀石頭布的數據分析闖關之路——起跑線上的暢談
※胖胖狗的2017年上半年數據分析學習計劃
※誰說菜鳥不會數據分析·筆記
※python基礎篇之小白滾躺式入坑