崔亞奇
(蘭州財經大學 統計學院,蘭州 730020)
近年來,關于客戶流失的分析在金融、通信等行業已有深入研究,并且通過建立客戶流失模型已給相關產業帶來利潤增長,但對于航空公司的客戶流失分析問題一直未被重視。隨著中國高鐵技術的迅猛發展,部分乘客由航空業轉向高鐵,進一步加深了客戶流失對航空公司的影響。因此,在國內交通運輸市場競爭日益激烈的環境下,航空公司必須對客戶流失方面的問題給予足夠的重視。
國內外對客戶流失模型的研究最早應用于通信業[1],目前已廣泛應用于金融[2]、保險[3]、郵政[4]、商品推銷[5]等各個行業。由于客戶流失模型是關于流失或者不流失的二元選擇問題,所以對于模型的構建常用方法有決策樹、Logistic回歸[6]和人工神經網絡[7]。
決策樹具有出色的數據分析能力和較為直觀的可視化圖形展示,完全不用考慮諸如線性性、共線性之類的約束或干擾。決策樹能夠在復雜的大數據環境下,找出數據中輸入變量和輸出變量取值間的邏輯對應關系,并實現對新數據輸出變量的預測[8]。由于本文算例中數據較大,變量較為復雜,因此使用具有較好容臟能力和解釋能力的決策樹模型是最為合適的。
吳桐水等人采用ID3算法構建了小樣本的航空公司客戶流失預警模型[9], ID3算法使用最高信息增益值來劃分當前數據集,然而ID3算法在處理大數據集時容易陷入局部最優問題。
林楚泉等人在ID3算法的基礎上,通過改進的RFM模型,來找出20%具有較高價值的客戶信息[10]。鄒競等人利用C4.5算法建立了流失預警模型,并且有很好的預測能力[11],但是與C5.0算法相比,C4.5算法在算法精度和速度上都不如C5.0算法。張宇等人采用了最新的C5.0算法對郵政短信服務數據進行了流失預警建模,將C5.0算法運用于客戶流失并且很好的處理了大數據樣本[12]。
通過以往文獻可以看出,在分析客戶流失的問題中,決策樹算法是使用最為廣泛且最受歡迎的方法,但是由于變量較多導致樹形過大,無法畫出合適的決策樹圖,并且在航空客戶流失方面并未涉及。
本文針對航空公司會員數據,先對數據進行了預處理及變量篩選,然后利用C5.0模型中的決策樹算法建立了客戶流失預警模型,選出對模型較為重要的變量,并且在有較高的命中率和覆蓋率上給出決策樹圖,旨在對航空公司客戶流失的情況進行分析和預警,對航空公司的活動決策具有重要意義。
決策樹算法是數據挖掘中最為經典的算法之一,它通過對樣本數據的不斷分組,從而形成決策樹的各個分支,因此通過決策樹算法來不斷形成樹的分支的過程就是決策樹模型建立的過程。
決策樹的生長和剪枝是決策樹模型的兩大核心問題。決策樹的生長就是通過訓練集數據的不斷分組來逐漸長出新枝,當輸出變量的差異性隨著訓練集數據分組的繼續而顯著減少時便停止生長,這便形成一顆完整的決策樹。但實際情況中,通過第一步生長出的完整決策樹通常不是最佳的,因為隨著訓練集數據抽取的不同,形成的決策樹可能會有很大差異,并且如果樹形過于龐大,即對于訓練集特征的描述“過于精確”,這就是我們通常所說的過擬合現象,這樣的決策樹不具有一般性,因此決策樹的剪枝就顯得格外重要。決策樹的剪枝分為事前剪枝和事后剪枝,有利于減少樣本的個性化趨勢,通過剪枝可以減少樹的深度,形成更具有一般代表性的決策樹模型,從而達到預測功能。
C5.0算法是構造分類決策樹的最新方法,它的核心便是使用熵來確定劃分標準。樣本數據的熵表示樣本的復雜程度,最小值0表示樣本是完全同質的,而1表示樣本最為復雜。熵的具體定義如下:
在熵的公式中,對于給定的數據分割(S),常數c表示類的水平數,pi表示落入類的水平i中的數值比例。
在決策樹算法的學習過程中,信息增益是特征選擇的一個重要指標,對于特征F,信息增益的計算方法是分割前的數據分區(S1)的熵值減去由分割產生的數據分區(S2)的熵值,即:
InfoGain(F)=Entropy(S1)-Entropy(S2)
根據信息增益值的大小來確定分組原則,取其中信息增益最大的分類變量及對應的切分點組合,由此生長出一個新的樹枝。
由于本文所選取的數據量較大,數據在處理之前大體上都是不完整、不一致的雜亂數據,無法直接進行數據分析,因此為了提高模型的準確性和適用性,在建模之前必須對數據進行預處理。
本文所選取的數據為某航空公司兩年內所有會員客戶的飛行情況,處理前的數據為62988個觀測值,57個屬性。對擁有空值、缺失值的數據進行刪除填充,處理后的數據條目為61884個觀測值。其中已流失的客戶數量為23577個,未流失的客戶數量為38307個,可以看出已流失客戶已經達到38.1%,從這一數值可以看出航空公司的客戶流失問題已經非常嚴重,建立客戶流失預警模型刻不容緩。
根據上文預處理后的數據利用R軟件中的C5.0算法進行決策樹模型的初步構建,結果如下表所示。

表1 模型初步構建結果
從表1可以看出,模型一共使用了61884個觀測值,56個變量作為輸入變量,用0表示未流失,1表示流失。模型判斷錯誤的數目僅為55個,錯誤率遠小于0.1%,正確率達到99.9%之多,但是由于變量過多導致決策樹過于龐大,其中樹的大小為137,即包括137個葉節點,所以在正確率如此高的情況下一定存在著過擬合現象,雖然正確率很高,但是不具有預測效果,比如“最后一次乘機時間至觀察窗口末端時長大于300天且最后一季度消費為0的年齡大于56歲的女性”為流失客戶,雖然這條規則的精確性是毋庸置疑的,但是模型規則分的過細導致模型不具有一般性,我們可以通過變量的重要性打分來篩選變量,變量重要性打分表如表2。

表2 變量重要性打分表
從表2可以看出,變量DAYS_FROM_LAST_TO_END,MAX_FLIGHT_INTERVAL重要性打分依次為100和99.82,為顯著重要變量,變量AVG_FLIGHT_INTERVAL,DAYS_FROM_BEGIN_TO_FIRST和FLIGHT_COUNT_QTR_8的重要性打分為63.75,63.15和57.95,為一般重要變量,而剩余的FLIGHT_COUNT_QTR_7,EXPENSE_SUM_YR_2 等51個變量的重要性等于或接近于0,說明這些變量對決策樹模型的建立沒有影響。因此,為了避免變量過多導致決策樹模型過于復雜,產生過擬合現象,從而失去模型的適用性和預測性,本文選擇對決策樹模型有顯著影響和一般影響的5個變量再次建模,對模型進行剪枝優化。
模型的初步構建中由于變量過多產生了過擬合現象,因此我們根據初次建模所篩選出來的變量來進行模型的改進。在建模之前,我們從61884個觀測值中隨機抽取2/3(41256個)作為C5.0算法的訓練樣本集合,剩余的 1/3(20628個)作為測試集合對模型進行檢驗,設置訓練集和測試集有利于評估模型質量,檢驗模型是否具有預測性。各樣本集合中客戶流失情況如下表3所示。

表3 各樣本集合客戶流失情況表
從表3可以看到,隨機抽取的訓練集中未流失客戶數量為25506個,流失客戶數量為15750個,未流失和已流失之比為1.61:1,與總樣本中兩類客戶流失比例1.62:1幾乎一致,因此可以認為訓練集中的樣本屬性可以反映和代表總樣本屬性,此時訓練集是可以符合建模要求的。并且測試集中兩類客戶流失比率為1.63:1,與總樣本屬性和訓練集屬性也接近一致,因此,此時的訓練集也符合檢驗模型的要求。
我們根據訓練集中的DAYSFROM_LAST_TO_END(最后一次乘機時間至觀察窗口末端時長),MAX_FLIGHT_INTERVAL(觀察窗口內最大乘機間隔),AVG_FLIGHT_INTERVAL(平均乘機時間間隔),DAYS_FROM_BEGIN_TO_FIRST(觀察窗口內第一次乘機時間至MAX(觀察窗口始端,入會時間)時長),FLIGHT_COUNT_QTR_8(觀測窗口第八季度飛行次數)5個變量作為輸入變量,Runoff_flag(流失標志)為輸出變量,再次利用決策樹模型中的C5.0算法進行建模。
模型改進后的結果如表4所示,此次模型的正確率為88.3%,樹的大小為30,符合我們的建模要求,并且具有較高的正確率。把模型帶入測試集進行檢驗,可以看到在測試集中預測的正確率為88.2%,說明模型具有很好的預測功能。

表4 模型改進結果
根據前面的分析可以知道,改進后的決策樹模型滿足航空公司對客戶流失分析的需要,因此我們畫出決策樹圖來具體分析影響客戶流失的重要變量,并分析出已流失客戶的特征來對未流失客戶進行預警挽留。模型改進后生成的決策樹簡圖如下圖1所示。

圖1模型改進后生成的決策樹簡圖
依據圖1所示,決策樹的第一個選擇屬性為DAYS_FROM_LAST_TO_END(最后一次乘機時間至觀察窗口末端時長),這是最為重要和顯著的變量,其后對決策樹節點選擇有意義的變量為MAX_FLIGHT_INTERVAL(觀察窗口內最大乘機間隔)。結合決策樹圖,這些變量都是我們篩選出來的顯著重要的變量,對于我們的客戶流失模型至關重要,因此我們對每個變量進行逐一分析:
(1)DAYS_FROM_LAST_TO_END(最后一次乘機時間至觀察窗口末端時長)。最后一次乘機時間至觀察窗口末端時長就是指最后一次乘機的時刻距離現在時刻的遠近程度,時間越長,說明客戶在該航空公司的消費可能性就越低,越容易造成客戶流失。從決策樹圖中可以看到,當最后一次乘機時間至觀察窗口末端時長小于104天的情況下,流失客戶為482個,流失比例僅僅為2.4%,當最后一次乘機時間至觀察窗口末端時長大于288天的情況下,流失客戶為150人,流失比例達到了29%,所以根據最后一次乘機時間至觀察窗口末端時長來判斷客戶流失與否至關重要。
(2)MAX_FLIGHT_INTERVAL(觀察窗口內最大乘機間隔)。觀察窗口內最大乘機間隔指的是客戶前后兩次乘機時間間隔最長的天數,一般而言,當客戶在觀察窗口內最大乘機間隔越長時,說明在該航空公司乘機的頻率很低,對該航空公司的遺忘性越高,就越容易選擇其他交通方式,從而導致航空公司的客戶流失。我們在決策樹圖中結合第一分節點即最后一次乘機時間至觀察窗口末端時長來看,當最后一次乘機時間至觀察窗口末端時長大于等于觀察窗口內最大乘機間隔時,此時的客戶是極度容易流失的客戶。
通過對決策樹圖的分析,我們找出了對航空公司客戶流失影響最為顯著的兩個變量,從以上對兩個變量的逐一分析可知,變量MAX_FLIGHT_INTERVAL的影響也是建立在變量DAYS_FROM_LAST_TO_END的基礎上,并且變量DAYS_FROM_LAST_TO_END也是決策樹的第一選擇屬性。所以下面通過測試集中的數據來驗證在改善DAYS_FROM_LAST_TO_END這個變量的情況下,是否能解決航空公司的客戶流失問題。我們首先來觀察測試集中流失客戶和未流失客戶的變量特征,如下表5所示。

表5 測試集中的變量特征
表5是測試集中兩類客戶對于變量DAYS_FROM_LAST_TO_END的特征情況表。從表中可以看到流失客戶的最后一次乘機時間至觀察窗口末端時長均值較大,為350天,而未流失客戶的均值只有66天,這也與我們之前討論的最后一次乘機時間至觀察窗口末端時長值越大,越容易造成客戶流失的結果是一樣的。從最大值可以看出,未流失客戶的最大值僅為346天,還沒有流失客戶的均值大,所以在DAYS_FROM_LAST_TO_END變量中對于流失客戶和未流失客戶的區分是十分明顯的。
在驗證了變量DAYS_FROM_LAST_TO_END對于客戶區分的重要性的基礎上,如何降低客戶最后一次乘機時間至觀察窗口末端時長的問題,也就是我們主要面對的流失問題。針對這一問題,航空公司可以設置老用戶召回日,也就是對于長時間沒有在本航空公司進行消費的用戶,航空公司可以利用短信或者電話的方式聯系老客戶來進行召回,從而提高客戶的印象值,減少客戶流失。召回日具體日期的選擇可以從圖2來判斷。

圖2 測試集各階段客戶流失數目
圖2是針對變量DAYS_FROM_LAST_TO_END各階段的客戶流失數目的柱狀圖,因為測試集中的未流失客戶最后一次乘機時間至觀察窗口末端時長的最大值為346天,也就是說超過346天的客戶一定會流失,所以只畫出一年時間段內每月的客戶流失數目。從圖中可以觀察,隨著變量值的不斷增加,客戶的流失數目也就越來越多,超過210天后,因為測試集樣本數據本身數目的缺少,呈現下降趨勢。召回日的選擇就是根據召回日前后流失客戶差值最大的日期來選擇,圖中60天前后客戶流失差值最大,為118人,也就是說,在60日前后的一個月內,客戶流失數目的增加量最大,僅次于最大差值的客戶流失數目出現在120日時,在120日前后的一個月內客戶流失數目的增加量為110人。因此我們選擇在60日和120日時,即每兩個月對未在本航空公司消費的老客戶進行召回活動。根據所選擇的召回日來觀察測試集中客戶流失問題是否能夠得到有效的改善。

表6 測試集中未流失客戶比例
表6是針對變量DAYS_FROM_LAST_TO_END來說明測試集中未流失客戶的比例關系。因為已流失客戶是已經發生的事情,我們已經不能挽回,主要對于測試集中未流失的客戶進行流失預警??梢钥闯觯蛻糇詈笠淮纬藱C時間至觀察窗口末端時長小于60日的客戶人數是7448人,所占比例為58.2%,這些客戶是本航空公司的忠實客戶,不需要進行召回。最后一次乘機時間至觀察窗口末端時長在60-120日和120-180日之間的客戶人數是2870人和1566人,所占比例分別為22.4%和12.2%,這些客戶屬于存在著流失可能的客戶,需要在60日和120日進行召回活動。若召回活動成功,可以看到能夠減少的客戶流失人數為4436人,所占比例高達34.6%,因此再次驗證了召回日的準確性,對于改善航空公司的客戶流失問題有著重要意義。
客戶流失對于航空公司造成的損失已日益嚴重,因此針對航空公司客戶流失的分析必須引起航空公司的足夠重視。本文將決策樹中的C5.0算法引入航空公司的客戶流失分析,隨機抽取了2/3的樣本數據作為訓練集來訓練建模,結果證明該分析方法是有效的,并且根據測試集對模型的驗證可知,模型具有較好的準確性和預測性。最后,根據決策樹圖的分析結果,確定了客戶流失的共同特征,航空公司可以根據最后一次乘機時間至觀察窗口末端時長來設置老客戶召回日,從而減少客戶流失比例,對于提高航空公司利潤增長具有重要意義。
[1] LEE E B,KIM J,LEE S G.Predicting customer churn in mobile industry using data mining technology[J].Industrial Management & Data Systems,2017,117(1):90-109.
[2] 王未卿,姚嬈,劉澄.商業銀行客戶流失的影響因素——基于生存分析方法的研究[J].金融論壇,2014,19(1):73-79.
[3] 桂現才,彭宏,王小華.基于決策樹的保險客戶流失分析[J].計算機工程與設計,2005,26(8):2026-2029.
[4] 張瑩.數據倉庫在郵政快遞企業客戶流失分析中的應用[D].北京:北京郵電大學,2008.
[5] 李偉健.面向主動服務的客戶流失預測模型研究[D].武漢:武漢理工大學,2010.
[6] JIANG M,CHU N,BI X M.Research on customers churn prediction model based on logistic[J].Advanced Materials Research,2014(989-994):1517-1521.
[7] WU Y,LIU B X,LI M S.Model of customer loss based on cluster and neural network[J].Applied Mechanics and Materials,2012(190-191):284-287.
[8] 薛薇.R語言數據挖掘方法及應用[M].北京:電子工業出版社,2016:142-143.
[9] 吳桐水,賀亮.基于決策樹的航空公司客戶流失分析[J].商業現代化,2006(35):381-383.
[10] 林楚泉,彭鴻鑫,陳育興,等.基于ID3算法的航空客戶流失模型[J].大學教育,2013(23):70-72.
[11] 鄒競,謝鯤.C4.5算法在移動通信行業客戶流失分析中的應用[J].計算技術與現代化,2009,28(3):98-101.
[12] 張宇,張之明.一種基于C5.0決策樹的客戶流失預測模型研究[J].統計與信息論壇,2015,30(1):89-94.