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