王 妍,孫克爭,高小虎
(江蘇商貿(mào)職業(yè)學(xué)院,江蘇 南通 226011)
客戶流失是餐飲企業(yè)普遍面臨的問題。客戶流失會導(dǎo)致餐飲企業(yè)營業(yè)額下降,嚴(yán)重的客戶流失會導(dǎo)致餐飲企業(yè)因入不敷出而倒閉。在餐飲行業(yè)中,維系一個老客戶的成本遠(yuǎn)低于挖掘一個新用戶的成本,且老用戶在復(fù)購時是為企業(yè)進(jìn)行無形的宣傳,拉動新客戶,從而減少了宣傳成本[1]??梢?老客戶流失會對餐飲企業(yè)造成不小的損失,減少老客戶流失對餐飲企業(yè)發(fā)展尤為重要。餐飲企業(yè)需預(yù)測有可能流失的客戶,在客戶流失前分析其流失原因,找尋提高客戶留存率的方法,制定相應(yīng)挽留策略。
隨著大數(shù)據(jù)技術(shù)與網(wǎng)絡(luò)信息產(chǎn)業(yè)的發(fā)展,機(jī)器學(xué)習(xí)技術(shù)為數(shù)據(jù)分析提供了更加便捷的分析工具,餐飲企業(yè)可根據(jù)客戶基本信息及消費(fèi)產(chǎn)生的訂單信息,構(gòu)建客戶流失特征,提前識別將要流失的客戶,根據(jù)客戶流失的重要特征制定相應(yīng)的挽留策略,降低客戶流失率,提高經(jīng)濟(jì)效益。白瑞瑞使用邏輯回歸、決策樹、隨機(jī)森林、XGBoost模型,分析在攜程網(wǎng)預(yù)定酒店客戶的流失情況的預(yù)測效果[2]。王興麗使用單一分類算法與集成分類算法,預(yù)測電信客戶的流失情況,發(fā)現(xiàn)集成算法在電信客戶流失預(yù)測中的效果較好[3]。張靜怡建立決策樹模型,利用歷史交易數(shù)據(jù)預(yù)測證券市場的客戶流失情況,證明該模型可較精確地預(yù)測潛在客戶的流失[4]。張葉航使用隨機(jī)森林算法建立車險客戶流失預(yù)測模型,發(fā)現(xiàn)該模型可輸出客戶流失概率,有效實現(xiàn)客戶細(xì)分,幫助車險公司挽留客戶[5]。
本研究構(gòu)建客戶流失特征,分別建立決策樹與支持向量機(jī)模型,對客戶的流失情況進(jìn)行預(yù)測,分析判斷兩種模型的預(yù)測能力與準(zhǔn)確度,以期利用其指導(dǎo)餐飲企業(yè)制定挽留客戶策略,減少餐飲企業(yè)的損失。
決策樹的結(jié)構(gòu)是樹狀結(jié)構(gòu),由一個根節(jié)點、一些內(nèi)部節(jié)點及一些葉節(jié)點構(gòu)成。根節(jié)點為樣本集,葉節(jié)點對應(yīng)分類結(jié)果,內(nèi)部節(jié)點則為特征或?qū)傩?從根節(jié)點到每個葉節(jié)點的路徑都對應(yīng)一個判別序列。決策樹算法是通過遞歸過程生成泛化能力強(qiáng)的決策樹,其基本執(zhí)行流程為分而治之。構(gòu)造決策樹的關(guān)鍵是選擇適當(dāng)?shù)奶卣鲗颖具M(jìn)行拆分,常用的算法及選擇特征準(zhǔn)則有CART(基尼系數(shù))、ID3(信息增益)及C4.5(信息增益比值)。決策樹中的剪枝是為了避免過擬合,提高其泛化能力。盡管很多分類算法的分類能力都超過了決策樹算法,但是決策樹算法的可視化分類規(guī)則功能是其他算法無法替代的,常被用于分析特征影響最大,如較具樣特征的客戶流失概率會更高,等等。
決策樹的優(yōu)點在于結(jié)果比較清晰易懂,能夠?qū)崿F(xiàn)可視化分析,更加易于提取規(guī)則。決策樹可并行處理數(shù)值型與類別型數(shù)據(jù),在大型數(shù)據(jù)庫中同樣適用,模型大小與數(shù)據(jù)庫大小無關(guān)。決策樹的缺點是在特征數(shù)量多但樣本數(shù)量少的情況下,易出現(xiàn)過擬合現(xiàn)象,且不關(guān)注數(shù)據(jù)集中特征的關(guān)聯(lián)性。使用ID3算法計算信息增益時,結(jié)果往往受數(shù)值特征的影響。
支持向量機(jī)是特征空間中間隔最大的線性分類器,其中包含核函數(shù),這使得支持向量機(jī)成為實質(zhì)上的非線性分類器。支持向量機(jī)的學(xué)習(xí)要點是間隔最大化,可將間隔最大化轉(zhuǎn)化為求解凸二次規(guī)劃問題,等價于正則化的損失函數(shù)最小化問題。支持向量機(jī)是一種監(jiān)督學(xué)習(xí)的數(shù)據(jù)挖掘算法,也是一種二分類算法,經(jīng)轉(zhuǎn)化后也適用于多分類問題,在非線性分類方面具有顯著優(yōu)勢,常用于處理二元分類問題。在機(jī)器學(xué)習(xí)領(lǐng)域中,支持向量機(jī)算法可用于分類、異常值檢測、模式識別及回歸分析,SVR是支持向量機(jī)算法在回歸方面的運(yùn)用。支持向量機(jī)算法在文字識別、人臉識別、行人檢測及文本分類等領(lǐng)域都具有較好的應(yīng)用效果。
支持向量機(jī)可對非線性分類進(jìn)行建模,當(dāng)發(fā)生過擬合時,支持向量機(jī)具有很強(qiáng)的魯棒性,在高維空間中魯棒性更強(qiáng)。其最終決策函數(shù)僅由少數(shù)的支持向量決定,計算的復(fù)雜性越強(qiáng)所需要的支持向量越多,這與樣本空間的維數(shù)無關(guān),可避開維數(shù)災(zāi)難。
使用某餐飲企業(yè)的客戶用餐數(shù)據(jù),將其分別整理為客戶信息表與訂單詳情表??蛻粜畔⒈碛涗浟?361位客戶的基本信息,每條客戶信息都包括客戶ID、姓名、年齡、性別等34個特征,其特征說明詳見表1。訂單詳情表記錄了8783條客戶消費(fèi)記錄,每條記錄有21個特征,其特征說明詳見表2。
表1 客戶信息表特征Tab.1 Description of customer information table features
表2 訂單詳情表特征Tab.2 Description of order details table characteristics
在對數(shù)據(jù)集進(jìn)行預(yù)處理時,首先要檢查數(shù)據(jù)集中是否存在重復(fù)值,以免影響特征值的計算,導(dǎo)致模型預(yù)測出錯??蛻粜畔⒈碇锌蛻鬒D是唯一主鍵,經(jīng)檢查此表中不存在重復(fù)記錄。訂單詳情表中訂單ID是唯一主鍵,經(jīng)檢查此表中不存在重復(fù)記錄。
建構(gòu)客戶流失特征時,主要使用訂單詳情表中的數(shù)據(jù),發(fā)現(xiàn)存在一張桌子同時被不同用戶使用的情況,即兩個訂單的桌子ID與開始使用時間相同,屬于異常值數(shù)據(jù)。經(jīng)檢查,發(fā)現(xiàn)異常值的比重極小,不會對數(shù)據(jù)分析結(jié)果產(chǎn)生影響,故直接刪除異常值。
客戶信息表中存在大量的缺失值,因其特征項較多,客戶在開戶時預(yù)留信息不完整。而訂單詳情表中的數(shù)據(jù)大都由系統(tǒng)自動生成,數(shù)據(jù)較為完整,但也有部分缺失值。經(jīng)研究發(fā)現(xiàn),并不是每一項客戶信息表與訂單詳情表中的特征數(shù)據(jù)都可用于預(yù)測客戶流失,故提取關(guān)鍵特征,將客戶信息表中的客戶ID、最后一次登錄、客戶狀態(tài)特征以及訂單詳情表中的客戶ID、消費(fèi)人數(shù)、消費(fèi)金額特征以客戶ID為主鍵進(jìn)行合并,使用pandas庫中的dropna函數(shù)對缺失值進(jìn)行處理。經(jīng)上述處理,共得到2547條完整的客戶記錄可用于模型的訓(xùn)練與預(yù)測。
客戶流失大體上表現(xiàn)為4個方面:到店用餐次數(shù)越來越少、長時間未到店用餐、人均消費(fèi)額較低、總消費(fèi)額越來越低?;诖?構(gòu)建6項客戶流失特征數(shù)據(jù):用戶ID(USER_ID)、總用餐次數(shù)(frequence)、最近一次用餐距當(dāng)前的天數(shù)(recently)、人均消費(fèi)額(average)、總消費(fèi)額(amount)及客戶流失標(biāo)簽(TYPE),其中客戶流失標(biāo)簽分為非流失、準(zhǔn)流失、已流失三種。詳見表3。
選擇Anaconda軟件為實證研究平臺,因其擁有眾多流行的數(shù)據(jù)分析Python庫,其中就包含決策樹算法與支持向量機(jī)算法。構(gòu)建的客戶流失預(yù)測流程詳見圖1。
為對比決策樹模型與支持向量機(jī)模型對客戶流失的預(yù)測能力,需保證用于訓(xùn)練及測試的數(shù)據(jù)一致,且使用相同的模型評價方式??捎脭?shù)據(jù)記錄共2547條,刪除已流失的客戶數(shù)據(jù)637條,將非流失與準(zhǔn)流失數(shù)據(jù)按4∶1的比例劃分為訓(xùn)練集與測試集,其中1528條數(shù)據(jù)記錄為訓(xùn)練集數(shù)據(jù),382條數(shù)據(jù)記錄為測試集數(shù)據(jù)。使用sklearn庫構(gòu)建決策樹模型與支持向量機(jī)模型,分別對其進(jìn)行訓(xùn)練,使用測試集數(shù)據(jù)對訓(xùn)練完畢的兩種模型進(jìn)行預(yù)測,并自定義評價函數(shù),使用評價函數(shù)計算模型的混淆矩陣、精確率及F1值。兩種模型的各項評價指標(biāo)詳見表4。
表4 兩種模型的各項評價指標(biāo)Tab.4 Each evaluation index of the two models
決策樹模型與支持向量機(jī)模型的精確率和F1值都很高,說明兩種模型的預(yù)測效果都很好,對客戶非流失與準(zhǔn)流失的分類能力相對均衡。設(shè)置客戶的流失標(biāo)簽為準(zhǔn)流失與非流失,在模型的訓(xùn)練與測試中,用0表示準(zhǔn)流失,1表示非流失,分別用兩種模型預(yù)測測試集中客戶的流失狀態(tài)。根據(jù)餐飲企業(yè)對客戶流失預(yù)測的要求,對準(zhǔn)流失客戶的預(yù)測結(jié)果更加重要,即把客戶流失標(biāo)簽為0的客戶全預(yù)測為0更為重要。在測試集的382位客戶中,有167位非流失客戶與215位準(zhǔn)流失客戶,決策樹模型預(yù)測的準(zhǔn)流失客戶數(shù)為195位,準(zhǔn)確率為0.907,而支持向量機(jī)模型預(yù)測的準(zhǔn)流失客戶數(shù)為209位,準(zhǔn)確率達(dá)到0.972,說明支持向量機(jī)模型可更好地預(yù)測準(zhǔn)流失客戶,能夠更精準(zhǔn)地為餐飲企業(yè)鎖定客源損失目標(biāo)。
對于本研究中的測試集而言,決策樹模型的總預(yù)測精確度為0.913,支持向量機(jī)模型的總預(yù)測精確率為0.951,支持向量機(jī)模型的精確率更高。由于測試集數(shù)據(jù)較多,僅展示了兩個模型對測試集中前10位客戶的流失狀態(tài)預(yù)測結(jié)果。其中,決策樹模型對4位非流失客戶只預(yù)測對1位,說明決策樹算法的模型穩(wěn)定性較差。支持向量機(jī)模型對6位準(zhǔn)流失客戶預(yù)測正確5位,對于4位非流失客戶全部預(yù)測正確,說明支持向量機(jī)模型的穩(wěn)定性較好,可認(rèn)為支持向量機(jī)模型更適用于客戶的流失預(yù)測。詳見表5。
表5 兩種模型對測試集前10位客戶流失狀態(tài)的預(yù)測結(jié)果Tab.5 Predicted results of the two models for the loss situation of first 10 customers in the test set