李兵 陳俊才
(1.廣東郵電職業(yè)技術(shù)學(xué)院,廣東廣州 510630;2.中國電信廣東公司,廣東廣州 510000)
自我國電信業(yè)重組之后,各大電信運營商在生產(chǎn)經(jīng)營活動中,對客戶的競爭加劇,增量客戶爭奪與存量客戶維系是兩個最重要的業(yè)務(wù)指標(biāo)。據(jù)調(diào)查數(shù)據(jù)表明,爭取1名增量用戶成本為保持1名存量用戶的4-5倍[1]。而目前存量客戶的維系基本上依靠市場人員的經(jīng)驗鎖定潛在流失客戶進行營銷,存在準確性低、維系效果不理想的問題。近年來,隨著計算機設(shè)備算力增加與分布式計算等大數(shù)據(jù)存儲、計算技術(shù)的快速發(fā)展,為擁有海量用戶數(shù)據(jù)的電信運營商進行客戶流失預(yù)測研究提供了便捷。以電信行業(yè)大數(shù)據(jù)為“礦藏”,使用以回歸算法、分類聚類、決策樹及人工神經(jīng)網(wǎng)絡(luò)等機器學(xué)習(xí)算法,可以從大量歷史流失客戶的特征規(guī)律著手,客觀地研究出客戶的屬性,實現(xiàn)潛在流失客戶的精準識別,以便市場人員開展客戶流失挽留。
目前國內(nèi)外各大電信運營商對客戶流失的研究主要集中在三個方面:(1)電信客戶離網(wǎng)影響要素研究;(2)電信客戶挽留策略與營銷方法研究;(3)預(yù)測算法建模分析客戶流失。本文所述研究為第三方面,旨在從現(xiàn)網(wǎng)客戶中找出潛在流失客戶。
客戶流失是指客戶終止當(dāng)前的電信套餐服務(wù)并不再續(xù)約,也稱之為用戶離網(wǎng)。根據(jù)現(xiàn)有研究可知,客戶流失主要因素可以歸納為價格、網(wǎng)絡(luò)質(zhì)量、服務(wù)質(zhì)量、故障響應(yīng)速度、增值服務(wù)等,當(dāng)然也包括一些自身原因,如工作原因致使號碼變化、居住城市、他網(wǎng)(同類型服務(wù)商)競爭等。這些潛在因素成為我們進行流失預(yù)測建模的重要輸入,以期實現(xiàn)流失預(yù)警與維系雙管齊下的目標(biāo)。
機器學(xué)習(xí)[2]是一門多領(lǐng)域交叉學(xué)科,涉及概率論、統(tǒng)計學(xué)、逼近論、凸分析、算法復(fù)雜度理論等多門學(xué)科,它使用計算機模擬人類行為,以獲得新知識與規(guī)律。大數(shù)據(jù)技術(shù)為機器學(xué)習(xí)提供更廣闊的應(yīng)用舞臺。
國外基于機器學(xué)習(xí)算法的電信客戶流失的研究相對較早,Louis使用決策樹TreeNet不僅實現(xiàn)了對Verizon客戶流失的高準確度預(yù)測,同時找到影響客戶流失的重要因素[3];Nath等[4]人使用Bayes分類器較為準確地計算出未來3個月客戶離網(wǎng)概率;Khan等[5]人使用少量變量通過遞歸神經(jīng)網(wǎng)絡(luò)RNN算法對英國電信British Telecom客戶數(shù)據(jù)進行流失預(yù)測分析。
國內(nèi)學(xué)者關(guān)于這一領(lǐng)域的研究雖起步晚,但相關(guān)研究發(fā)展迅速。趙宇等人針改進了傳統(tǒng)SVM 算法在數(shù)據(jù)不平衡下使客戶流失的預(yù)測準確率大幅提升[6];徐新喬通過分布式架構(gòu)大數(shù)據(jù)平臺整合異構(gòu)數(shù)據(jù),提出基于XGBoost的Bagging方法構(gòu)建二分類模型對電信用戶進行離網(wǎng)預(yù)測,較好地提升了模型的精確率與召回率[7];沈江明等提出了基于不均衡數(shù)據(jù)處理與組合模型相結(jié)合的組合模型,用于客戶流失隔月預(yù)測,實現(xiàn)了命中率的提升[8];蔡男將聚類算法融入隨機森林構(gòu)造新的隨機森林改進了傳統(tǒng)隨機森林模型的預(yù)測性能指標(biāo)[9]。近年來,多算法融合的機器學(xué)習(xí)方法成為預(yù)測客戶流失的一個重要分支,并引起越來越多學(xué)者的關(guān)注。
目前國內(nèi)外關(guān)于電信客戶流失的研究,大多基于Clementine、SPSS等數(shù)據(jù)挖掘軟件,存在單數(shù)據(jù)挖掘算法或組合挖掘算法調(diào)參不便、使用數(shù)據(jù)維度有限等問題,難以全面分析客戶流失。
國內(nèi)各電信運營商由于行業(yè)規(guī)定、業(yè)務(wù)發(fā)展與網(wǎng)絡(luò)分析需要早已建有各類歷史信息管理系統(tǒng),包含客戶關(guān)系管理系統(tǒng)CRM、業(yè)務(wù)支撐系統(tǒng)BSS、運營支撐系統(tǒng)OSS、寬帶日志、故障申告等,這些系統(tǒng)底層數(shù)據(jù)庫基本上采用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫系統(tǒng)如MySQL、Oracle、SQL Server等,存儲格式往往按時間、站點等屬性進行存儲。我們在進行客戶流失預(yù)測建模之前,需整合各個數(shù)據(jù)源到統(tǒng)一的大數(shù)據(jù)平臺。預(yù)測方案的建立過程如圖1 所示。
從圖1可知,流失預(yù)測方案過程包括“數(shù)據(jù)源→大數(shù)據(jù)平臺→預(yù)處理→特征選擇→標(biāo)準化處理→預(yù)測算法構(gòu)建→預(yù)測訓(xùn)練→預(yù)測方案生成→方案評估→最終預(yù)測優(yōu)化方案”。在訓(xùn)練過程中預(yù)測指標(biāo)達不到預(yù)期,需采用各種機器學(xué)習(xí)方法進行反復(fù)訓(xùn)練并加以驗證。
圖1 客戶流失預(yù)測方案的建立過程Fig.1 The establishment process of customer churn prediction scheme
2.2.1 數(shù)據(jù)源整合與大數(shù)據(jù)平臺
目前我國電信運營商數(shù)據(jù)平臺眾多且分散,OSS、BSS、SEQ、上網(wǎng)等全網(wǎng)多種數(shù)據(jù)源的整合工作量大、難度較高,且存在數(shù)據(jù)口徑不一致的情況。本部分工作是決定大數(shù)據(jù)挖掘效果至關(guān)重要的一個環(huán)節(jié)。數(shù)據(jù)整合的質(zhì)量決定預(yù)測模型的上限,后續(xù)算法的優(yōu)化為預(yù)測模型能否接近上限,因此數(shù)據(jù)源的整合往往占據(jù)著電信行業(yè)大數(shù)據(jù)挖掘的絕大部分時間。現(xiàn)有系統(tǒng)往往利用數(shù)據(jù)集成套件BDI和日志收集系統(tǒng)Flume將離線數(shù)據(jù)抽取到Hadoop平臺的分布式文件系統(tǒng)HDFS中;對于實時性要求高的數(shù)據(jù)源往往采用FLume整合Kafka的方式實現(xiàn)實時數(shù)據(jù)采集,如圖2 所示。在大數(shù)據(jù)前提下而言,數(shù)據(jù)源越多進行預(yù)測建模的預(yù)測準確性等評價指標(biāo)會越好,但實際操作過程中應(yīng)根據(jù)運營商數(shù)據(jù)源現(xiàn)狀合理整合,盡量避免大量“臟數(shù)據(jù)”的出現(xiàn)。
本方案采集的源數(shù)據(jù)包括客戶基本信息、故障報備與投訴記錄、DTS線路檢測、移動通話記錄、寬帶網(wǎng)絡(luò)訪問日志等。
2.2.2 大數(shù)據(jù)預(yù)處理
目前大多數(shù)挖掘建模過程,都會將預(yù)處理后的二次數(shù)據(jù)放在關(guān)系型數(shù)據(jù)庫,但本方案對于數(shù)據(jù)量大、數(shù)據(jù)類型多、數(shù)據(jù)價值密度相對較低的電信行業(yè)大數(shù)據(jù),如上圖2所示使用MapReduce進行分布式計算,能極大地提升計算效率。預(yù)處理的主要內(nèi)容包括去除奇異點數(shù)據(jù)、補充缺失數(shù)據(jù)、數(shù)據(jù)重組、無效數(shù)據(jù)清洗以及數(shù)據(jù)抽取等內(nèi)容。本步驟最重要的在于無效數(shù)據(jù)的清洗與對已離網(wǎng)客戶數(shù)據(jù)的完整性、準確性進行檢查,這是決定后續(xù)預(yù)測算法效果最重要的兩個因素。數(shù)據(jù)抽取環(huán)節(jié)完成將源數(shù)據(jù)記錄轉(zhuǎn)變?yōu)橐钥蛻魹榱6鹊木W(wǎng)絡(luò)行為特征,數(shù)據(jù)抽取工作往往根據(jù)建模經(jīng)驗與專家判斷而定。本方案將上述源數(shù)據(jù)抽取為326個客戶網(wǎng)絡(luò)行為特征。
圖2 電信大數(shù)據(jù)整合與應(yīng)用框架圖Fig.2 Telecom big data integration and application framework
表1 客戶流失預(yù)測方案特征表Tab.1 Characteristic table of customer churn prediction scheme
圖3 TMRF 算法流程圖Fig.3 Flow chart of TMRF algorithm
表2 混淆矩陣Tab.2 Confusion matrix
2.2.3 特征選擇
不是所有的數(shù)據(jù)屬性都與客戶流失相關(guān),為了減少建模算法的運算量,往往需要使用數(shù)據(jù)探索性分析[10](Exploratory Data Analysis,簡稱EDA)以去除不相關(guān)的數(shù)據(jù),并選取重要的關(guān)鍵特征子集。目前采用主成分分析[11](如PCA)等降維方法或分析工具的方式實現(xiàn)特征選擇比較常見。本方案采取datawrangler工具實現(xiàn)特征的選擇,最終得到相關(guān)性較大的行為特征共57個,如表1所示。表1數(shù)據(jù)統(tǒng)計周期為月,其中客戶行為的變化趨勢為同比上月的數(shù)據(jù)。
2.2.4 標(biāo)準化處理
在多特征建模過程中,由于各特征的性質(zhì)、量綱及數(shù)量級不同,通常需要在應(yīng)用預(yù)測算法建模前,對數(shù)據(jù)進行標(biāo)準化處理使數(shù)據(jù)指標(biāo)化。常用的方法有min-max標(biāo)準化、log函數(shù)轉(zhuǎn)換以及z-score標(biāo)準化等。本方案根據(jù)輸入特征的實際情況采用最大最小規(guī)范法,如公式1 所示,進行標(biāo)準化處理,以使得各非數(shù)值類特征統(tǒng)一落在一個較小的區(qū)間[0,1]。
2.2.5 預(yù)測算法的構(gòu)建與方案訓(xùn)練
目前通常采用回歸算法、分類聚類、決策樹及人工神經(jīng)網(wǎng)絡(luò)等算法進行流失預(yù)測建模。有很多非常方便的工具和算法庫支撐數(shù)據(jù)處理,如Tensorflow、scikitlearn、NumPy等。利用這些已有的工具和算法庫能有效地減少算法開發(fā)與驗證難度。本方案擬采用scikit-learn改進隨機森林以實現(xiàn)預(yù)測建模。對于電信運營商而言,客戶流失可以按業(yè)務(wù)類型進行劃分,如寬帶、4/5G移動、IPTV等,本方案以4/5G移動客戶的流失預(yù)測為目標(biāo)。其它業(yè)務(wù)類型客戶流失預(yù)測機制相似,本文可作為參考。
使用訓(xùn)練數(shù)據(jù)完成預(yù)測方案訓(xùn)練后,再利用驗證數(shù)據(jù)進行對比來判斷方案的預(yù)測效果。常用的評估方法有5個:混淆矩陣、洛倫茲圖、GINI系數(shù)、KS曲線及ROC曲線。本方案根據(jù)應(yīng)用需要,選用混淆矩陣與ROC 曲線對預(yù)測算法進行評估。其中混淆矩陣指標(biāo)如表2 所示,通過以下三個指標(biāo)來評估模型的有效性:
精確率Precision=TP/(TP+FP)
召回率Recall=TP/(TP+FN)
F1-值(F1-score)=2*P*R/(P+R)
F1-score是精確率和召回率的調(diào)和平均數(shù),在機器學(xué)習(xí)中,往往將其作為模型重要評測指標(biāo),此外,ROC 曲線(AUC的值)能更為穩(wěn)定地反映模型好壞,一般預(yù)測算法的AUC(如下公式2,M與N分別代表正負樣本數(shù)量)介乎0.5至1之間才能證明算法有效,AUC越接近1,算法模型性能越好。
在整個客戶流失預(yù)測方案中,預(yù)測算法是核心?,F(xiàn)有的電信客戶流失分類預(yù)測模型最早采用基于決策樹的ID3算法對離散型數(shù)據(jù)進行分類,其后C4.5算法使用連續(xù)屬性離散化的方法對ID3算法做了改進,增加了對連續(xù)屬性的分類,之后大量學(xué)者使用隨機森林算法進行流失潛在客戶預(yù)測[12]。
本文預(yù)測方案擬改進傳統(tǒng)的隨機森林算法,提出多決策樹合并的隨機森林算法(Trees Merge Random Forest,以下簡稱TMRF),以保持預(yù)測整體性能的前提下,減少算法模型的存儲與計算時間開銷。TMRF 算法分為兩個階段:(1)由傳統(tǒng)隨機森林中對分類精度較高的決策樹進行約簡、合并,得到高精度子森林;(2)使用K-Means++聚類算法對高精度子森林進行聚類[13],從中過濾出高精度且低相似的決策樹組成新隨機森林。TMRF 算法流程如圖3所示。
首先利用驗證集計算原始森林的所有決策樹AUC值作為各決策樹的分類精度,并進行降序排序。按現(xiàn)有研究經(jīng)驗選擇前67%(約總決策樹的2/3),本算法擬選取精度高于隨機森林平均值的所有決策樹作為子森林SubT,如公式3所示,其中Auci為第i棵決策樹ti的AUC 值。
如圖3所示,高精度子森林約簡過程為:(1)使用自舉(Bootstrap)抽樣有放回地從訓(xùn)練集D中抽取K個子集;(2)對K個訓(xùn)練子集進行決策樹算法訓(xùn)練基分類器模型;(3)使用驗證數(shù)據(jù)集V 的樣本對K 個決策樹進行分類,并計算其AUC值;(4)對各樹AUC值進行降序列排列,取得高于AUC平均值的高精度子森林集SubT。
通過上一階段,去除了分類能力差的決策樹,但留在子森林集合SubT中的高相似決策樹仍然未得到優(yōu)化,會影響造成預(yù)測算法計算時間過長。為此,使用聚類算法完成高相似隨機森林的合并:(1)將上階段的SubT隨機森林對驗證樣本的分類結(jié)果作為數(shù)據(jù)集D={x1,x2,…,xm},從D中隨機選取k個樣本作為初始質(zhì)心向量{u1,u2,…,uk};(2)遍歷數(shù)據(jù)集D,根據(jù)公式4計算各xi到質(zhì)心向量μj(j=1,2,...k)的距離,將數(shù)據(jù)劃分到最近的中心組成類簇;(3)根據(jù)公式5更新各類簇的中心值uj;(4)重復(fù)2)與3)步驟,直至各類簇中心穩(wěn)定;(5)計算不同K值 下各類對應(yīng)的輪廓系數(shù)s(見公式6,disMeanin為該樣子與本類其它樣本的平均距離,disMeanout為該樣本與非本類樣本的平均距離),確定合適的K值與聚類結(jié)果;(6)從各類簇中選擇代表性的決策樹組成隨機子森林。
本預(yù)測方案的驗證源數(shù)據(jù)來自廣東省某市級電信運營商公司的自建Hadoop大數(shù)據(jù)平臺,該數(shù)據(jù)平臺共計170多個分布式計算節(jié)點,存儲容量達到4.9PB、2700核CPU、12T內(nèi)存計算資源,已經(jīng)完成OSS、BSS、寬帶訪問記錄、通話記錄等多個數(shù)據(jù)源整合,并以全網(wǎng)唯一標(biāo)識號以索引建立220 余萬以客戶為維度的326 維網(wǎng)絡(luò)行為特征的抽取。目前能支撐全市在網(wǎng)客戶的流失預(yù)警、智能交通、精準投放、場景營銷等場景應(yīng)用。
為了有效地驗證我們的預(yù)測方案,我們從中選取2019年網(wǎng)絡(luò)行為特征值相對較完整的客戶,共計476485人(全網(wǎng)唯一標(biāo)識號)。由于客戶流失行業(yè)具有一定的延時性,因此我們以對算法的訓(xùn)練規(guī)則為:以第N 月數(shù)據(jù)為輸入,觀察其后三個月是否流失為輸出建模,如圖4 所示。這是一個經(jīng)典的二分類決策建模問題。
實驗選取2019年1-6月數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集,7-12月數(shù)據(jù)作為驗證數(shù)據(jù)集。1-3月的特征數(shù)據(jù)進行TMRF算法訓(xùn)練,對其后3個月2-6月是否流失進行建模預(yù)測,如圖4所示。最后將2020年7-9月的客戶特征數(shù)據(jù)輸入到模型,以8-12月的在網(wǎng)客戶數(shù)據(jù)進行驗證。這樣保證了建模數(shù)據(jù)與驗證不存在干擾的可能。
圖4 預(yù)測模型示意圖Fig.4 Schematic diagram of prediction model
我們針對訓(xùn)練數(shù)據(jù)集進行多次訓(xùn)練,通過對訓(xùn)練結(jié)果反復(fù)驗證和評價經(jīng)驗,選擇將初始隨機森林規(guī)模設(shè)置為300顆樹,采樣方法為Bootstrap,初始樹的最大深度為19層,葉子最小樣本數(shù)242個;經(jīng)過高精度子森林的約簡后與K-Means++聚類后,得到SubT隨機森林為84顆,最大深度為16,葉子最小樣本數(shù)756個。
為了驗證基于TMRF 算法的有效性,我們同樣在將C4.5與傳統(tǒng)隨機森林對訓(xùn)練數(shù)據(jù)進行訓(xùn)練建模,并在7-12月驗證數(shù)據(jù)集驗證后進行整體性能比較。如圖5所示,三種預(yù)測算法在隨時間推進(7-9月預(yù)測),精確率、召回率及F1-score值相對平穩(wěn),說明TMRF算法經(jīng)過訓(xùn)練生成模型后固化性高,各項評估指標(biāo)相對穩(wěn)定,短期內(nèi)應(yīng)用無需反復(fù)訓(xùn)練。
圖5 三種預(yù)測算法性能指標(biāo)圖Fig.5 Performance index chart of three prediction algorithms
我們將三個月的預(yù)測結(jié)果的整體數(shù)據(jù)進行匯總統(tǒng)計,如表3 所示可知,TMRF 算法在精確在各項性能指標(biāo)方面比兩種傳統(tǒng)預(yù)測算法上有了較大提升。
表3 客戶流失預(yù)測結(jié)果匯總統(tǒng)計表Tab.3 Summary statistics of customer churn forecast results
最后,我們繪制ROC曲線圖直觀地對比三種預(yù)測算法的結(jié)果,如圖6所示。從圖可知C4.5、傳統(tǒng)隨機森林算法、TMRF算法的AUC值分別為79.5%、83.6%、88.7%。TMRF算法較之C4.5算法與傳統(tǒng)隨機森林算法的AUC值分別提高了9.2%與5.1%,在AUC值上,使用改進后的隨機森林是最優(yōu)的模型。
圖6 三種預(yù)測算法ROC 曲線圖Fig.6 ROC curves of three prediction algorithms
我們對流失客戶進行根因分析,發(fā)現(xiàn)流失客戶具有故障申訴不及時、異網(wǎng)社交圈比例小、流量使用趨勢下降、通話時長趨勢下降、套餐即將到期、周末移動網(wǎng)上網(wǎng)時長低等標(biāo)簽。將這些流失客戶的標(biāo)簽屬性與本模型預(yù)測結(jié)果相結(jié)合,有利于電信運營商更有針對性地制定客戶挽留策略,并精準鎖定潛在流失客戶并開展挽留工作,既能節(jié)約人才物力,又能減少對無離網(wǎng)意向客戶的打擾。
本文系統(tǒng)地分析了大數(shù)據(jù)挖掘技術(shù)在電信客戶流失預(yù)測中應(yīng)用現(xiàn)狀與客戶流失預(yù)測方案的建立過程,并在方案中使用決策樹約簡與K-Means++聚類的方法改進了傳統(tǒng)隨機森林算法,獲得到高精度、低相似的TMRF 隨機森林預(yù)測算法。最后,通過某市電信運營商大數(shù)據(jù)平臺的真實數(shù)據(jù)進行預(yù)測方案的驗證,我們發(fā)現(xiàn):TMRF 算法用于客戶流失預(yù)測較C4.5與傳統(tǒng)隨機森林在精確率、召回率、F-score值及ROC曲線等指標(biāo)上表現(xiàn)更為優(yōu)異?;赥MRF 算法的預(yù)測方案得到的預(yù)測結(jié)果對電信運營商開展客戶服務(wù)質(zhì)量提升與潛在流失客戶挽留工作具有較好的指導(dǎo)意義。
后續(xù)我們的預(yù)測建模工作將集中在兩個方面[14]:(1)由于采集數(shù)據(jù)的限制,本文的基礎(chǔ)數(shù)據(jù)源未包含移動網(wǎng)絡(luò)信令數(shù)據(jù)、定位數(shù)據(jù)等,針對移動用戶流失的預(yù)測能力尚有提升空間;(2)使用優(yōu)化的人工神經(jīng)網(wǎng)絡(luò)等深度學(xué)習(xí)技術(shù)進行流失預(yù)測建模對比。