
作者 | Jeremy Curuksu編譯 | CDA數(shù)據(jù)分析師
數(shù)不清的企業(yè)通常使用機器學(xué)習(xí)(ML)來輔助決策。但是,在大多數(shù)情況下,機器學(xué)習(xí)系統(tǒng)做出的預(yù)測和業(yè)務(wù)決策仍然需要人類用戶的直覺來做出判斷。
在本文中,我將展示如何將ML與靈敏性分析結(jié)合起來以開發(fā)數(shù)據(jù)驅(qū)動的業(yè)務(wù)策略。這篇文章重點關(guān)注客戶流失,同時涵蓋了使用基于ML的分析時經(jīng)常出現(xiàn)的問題。這些問題包括處理不完整和不平衡的數(shù)據(jù),推導(dǎo)模型選擇以及定量評估這些選擇的潛在影響方面的困難。
具體來說,我使用ML識別可能流失的客戶,然后將特征重要性與方案分析結(jié)合使用以得出定量和定性的建議。然后,組織可以使用結(jié)果來做出適當(dāng)?shù)膽?zhàn)略和戰(zhàn)術(shù)決策,以減少未來的客戶流失。該用例說明了數(shù)據(jù)科學(xué)實踐中出現(xiàn)的幾個常見問題,例如:
端到端實施代碼可在Amazon SageMaker中使用,也可以在Amazon EC2上獨立使用。
在這種用例中,我考慮一家提供不同類型產(chǎn)品的虛構(gòu)公司。我將其兩個主要產(chǎn)品稱為產(chǎn)品A和B。我僅了解有關(guān)該公司產(chǎn)品和客戶的部分信息。該公司最近發(fā)現(xiàn)客戶流失有所增加。數(shù)據(jù)集包含有關(guān)數(shù)以千計的客戶的不同屬性的信息,這些信息是在幾個月內(nèi)收集和分類的。這些客戶中有一些已經(jīng)流失了,有些還沒有。通過使用特定客戶列表,我將預(yù)測任何一個人流失的可能性。在此過程中,我嘗試回答幾個問題:我們能否創(chuàng)建一個可靠的客戶流失預(yù)測模型?哪些變量可以解釋客戶流失的可能性?公司可以采取哪些策略來減少客戶流失?
這篇文章將介紹使用ML模型創(chuàng)建減少客戶流失策略的以下步驟:
1. 探索數(shù)據(jù)和設(shè)計新功能
我首先介紹如何通過查看各個輸入要素與客戶流失標(biāo)簽之間的簡單關(guān)聯(lián)來探索客戶數(shù)據(jù)。我還研究了特征之間的關(guān)聯(lián)(稱為互相關(guān)或協(xié)方差)。這使我能夠做出算法決策,尤其是確定那些特征需要派生,更改或刪除。
2. 開發(fā)一組ML模型
然后,我建立了多個機器學(xué)習(xí)算法,包括自動特征選擇,并結(jié)合了多個模型來提高性能。
3. 評估和完善ML模型的性能
在第三部分中,我測試了我開發(fā)的不同模型的性能。從這里,我確定了一種決策機制,該機制可以將高估客戶流失數(shù)量的風(fēng)險降到最低。
4. 將ML模型應(yīng)用于業(yè)務(wù)策略設(shè)計
最后,在第四部分中,我將使用ML結(jié)果來了解影響客戶流失的因素,得出特征選擇并量化評估這些選擇對客戶流失率的影響。我通過執(zhí)行靈敏性分析來做到這一點,在該分析中,我修改了在現(xiàn)實生活中可以控制的一些因素(例如折現(xiàn)率),并預(yù)測了針對該控制因素的不同值預(yù)期的客戶流失率的相應(yīng)降低幅度。所有預(yù)測都將使用第3節(jié)中確定的最佳ML模型進行。
在ML模型開發(fā)期間經(jīng)常出現(xiàn)問題的關(guān)鍵問題包括輸入數(shù)據(jù)中共線和低方差特征的存在,離群值的存在以及數(shù)據(jù)的丟失(缺少特征和某些特征的值)。本節(jié)介紹如何使用Amazon SageMaker處理Python 3.4中的每個問題。(我還通過深度學(xué)習(xí)AMI在Amazon EC2實例上評估了獨立代碼。兩者都可用。)
這種帶有時間戳的數(shù)據(jù)可以在某些指標(biāo)內(nèi)包含重要的模式。我將這些指標(biāo)分為每日,每周和每月的細(xì)分,這使我能夠開發(fā)新功能來說明指標(biāo)的動態(tài)性質(zhì)。
然后,我研究原始特征和新特征之間每個簡單的一對一(也稱為邊際)關(guān)聯(lián)和關(guān)聯(lián)度量。我還研究了特征與客戶流失標(biāo)簽之間的相關(guān)性。(請參見下圖)。
可以通過使用邊際相關(guān)和Hamming / Jaccard距離來處理低方差特征(當(dāng)流失標(biāo)簽更改時不會顯著變化的特征),如下表所示。Hamming / Jaccard距離是專門為二進制結(jié)果設(shè)計的相似性度量。這些措施提供了一個觀點,即每個特征對客戶流失提供了多大程度的信息。
刪除低方差特征是個好習(xí)慣,因為無論是要預(yù)測什么,它們都不會發(fā)生明顯變化。因此,它們的存在不能幫助進行分析,并且實際上會使學(xué)習(xí)過程效率降低。
下表顯示了特征和客戶流失之間的最高相關(guān)性和二進制差異。48個原始特征和派生特征中僅顯示最重要的特征?!?nbsp;Filtered“列包含對異常值和缺失值進行數(shù)據(jù)過濾時獲得的結(jié)果。
上表的主要結(jié)論是,三個銷售渠道似乎與客戶流失成反比,并且與客戶流失的大多數(shù)邊際相關(guān)性很?。ā?.1)。對異常值和缺失值應(yīng)用過濾器會改善邊際相關(guān)的統(tǒng)計顯著性。上表的右列描述了這種效果。
共線特征的問題可以通過計算所有特征之間的協(xié)方差矩陣來解決,如下圖所示。該矩陣為判斷某些特征具有的冗余量提供了新的角度。刪除冗余特征是一個好習(xí)慣,因為它們會產(chǎn)生偏差并需要更多的計算量,這會使學(xué)習(xí)過程效率降低。
上圖中的左圖表示某些特征(例如價格和某些預(yù)測指標(biāo))是共線的,其中ρ> 0.95。設(shè)計下一節(jié)中描述的ML模型時,我只保留了其中的一個,這給了我留下了大約30個特征,如上圖中的右圖所示。
缺失和異常數(shù)據(jù)的問題通常通過經(jīng)驗規(guī)則來處理,例如在缺少某些記錄數(shù)據(jù)值或它們超過樣本標(biāo)準(zhǔn)差的三倍時刪除觀察值(客戶)。
由于數(shù)據(jù)缺失是一種常見的問題,你可以使用樣本或總體的均值或中位數(shù)來估算缺失值,作為刪除觀測值的替代方案。那就是我在這里所做的:我刪除了缺失超過40%以上的特征,并將剩下每個特征的缺失值替換為中位數(shù)。讀者應(yīng)注意,一種更高級的,最佳實踐的缺失數(shù)據(jù)填補方法是訓(xùn)練一種基于其他特征的監(jiān)督學(xué)習(xí)模型,但是這可能需要大量的工作,因此在此不做介紹。當(dāng)我在數(shù)據(jù)中遇到異常值時,我刪除了那些數(shù)值超過均值六倍標(biāo)準(zhǔn)差的客戶??偣矂h除了16096個觀察結(jié)果中的140個(<1%)。
在本節(jié)中,我將開發(fā)和組合多個ML模型以利用多種ML算法的功能。集成建模還可以使用整個數(shù)據(jù)集中的信息,即使流失標(biāo)簽的分布高度不平衡,如以下流程圖所示。
作為刪除低方差特征的一種很好的做法,我通過應(yīng)用一個快速簡單的方差過濾器進一步將特征空間限制為最重要的特征。此過濾器會刪除對95%的客戶不顯示差異的特征。為了根據(jù)特征對客戶流失的綜合影響(而不是邊際影響)篩選特征,我使用了帶有逐步回歸的網(wǎng)格搜索,進行了基于ML的特征選擇。請參閱下一節(jié)的詳細(xì)信息。
在實現(xiàn)ML模型之前,我將數(shù)據(jù)隨機分為兩組,并確定了30%的測試集。就像在下一節(jié)中討論的那樣,我還在70%/30%拆分的基礎(chǔ)上使用了10倍交叉驗證。K-folding是一個迭代周期,可以對K個評估的平均性能進行平均,每個測試都針對單獨的K%保留數(shù)據(jù)集。
分別訓(xùn)練了三種ML算法(邏輯回歸,支持向量機和隨機森林),然后將它們組合在一起,如前面的流程圖所示。集成方法在文獻中稱為”軟投票”,因為它采用了不同模型的平均概率并將其用于客戶分類(在前面的流程圖中也可以看到)。
客戶流失率僅占數(shù)據(jù)的10%;因此,數(shù)據(jù)集是不平衡的。我測試了兩種解決類別不平衡的方法。
對于這兩種方法,在測試集上考慮實際情況而保持類的不平衡來評估模型性能。
在本節(jié)中,我測試了上一節(jié)中開發(fā)的不同模型的性能。然后,我確定了一種決策機制,該機制最大程度地降低了高估可能流失的客戶數(shù)量的風(fēng)險(稱為誤報率)。
在ML性能評估中經(jīng)常使用所謂的接收算子特性(ROC)曲線來補充列聯(lián)表。當(dāng)更改概率閾值以推斷正類別和負(fù)類別(在此項目中,分別為流失類和非流失類)時,ROC曲線提供了準(zhǔn)確性的不變度量。它涉及繪制所有準(zhǔn)確的陽性預(yù)測(真陽性)與假陽性的圖表。請參閱下表。
默認(rèn)情況下,將對不同ML模型預(yù)測的概率進行校準(zhǔn),以使p> 0.5的值對應(yīng)一個類別,而p <0.5的值對應(yīng)另一類別。此閾值是一個超參數(shù),可以對其進行微調(diào)以最大程度地減少一類的錯誤分類。這是以增加另一種錯誤分類為代價的,這會影響不同性能指標(biāo)的準(zhǔn)確性和精確度。相比之下,ROC曲線下的面積是性能的不變度量,在任何閾值下都保持不變。
下表描述了使用稀有類9倍訓(xùn)練總體的不同ML模型的性能。您可以看到隨機森林具有最佳性能,并且9倍總體的綜合性更好,ROC AUC得分為0.68。這個模型是表現(xiàn)最好的。
下圖描述了整體最佳模型的表現(xiàn)(9倍總體的隨機森林模型)以及對精度和誤差的優(yōu)化。當(dāng)使用概率閾值0.5時,最好的結(jié)果可以準(zhǔn)確預(yù)測69%的流失客戶。
查看ROC曲線,您可以看到同一模型可以準(zhǔn)確預(yù)測30%的客戶流失,而將非流失客戶預(yù)測為流失客戶的概率為10%。使用網(wǎng)格搜索,我發(fā)現(xiàn)閾值為p = 0.56。如果您想最大程度地減少高估會流失客戶數(shù)量的風(fēng)險(例如,由于我們?yōu)楸A暨@些客戶而進行的活動可能會成本很高),則可能要使用此模型。
在本節(jié)中,我將使用我開發(fā)的ML模型來更好地理解影響客戶流失的因素,得出減少流失的特征選擇,并評估這些選擇可能對流失率產(chǎn)生的影響。
考慮到特征對客戶流失的綜合影響,我使用了逐步邏輯回歸來評估特征的重要性。如下圖所示,回歸確定了12個關(guān)鍵特征。當(dāng)我在回歸模型中包含這12個特征時,預(yù)測得分最高。
在這12個因素中,凈利潤率,產(chǎn)品A和產(chǎn)品B的預(yù)計購買量以及多個產(chǎn)品客戶的指標(biāo)是最容易引起客戶流失的特征。減少客戶流失的因素包括三個銷售渠道,一個營銷活動,折扣價值,總體訂購額,客戶忠誠度以及購買的產(chǎn)品總數(shù)。
因此,向最易流失的客戶提供折扣似乎是一種簡單有效的策略。當(dāng)然還有其他戰(zhàn)略手段,包括增強A和B以外的產(chǎn)品,銷售渠道1-3,營銷活動和長期合同之間的協(xié)同作用。根據(jù)數(shù)據(jù),利用這些手段可能會減少客戶流失。
最后,我使用了靈敏性分析:我對ML模型確定為可能流失的客戶應(yīng)用了高達40%的折扣,然后重新運行該模型以評估合并了折扣后預(yù)計會有多少客戶流失。
當(dāng)我將模型的p閾值設(shè)置為0.6以使損失最小化至10%時,我的分析預(yù)測20%的折扣會減少25%的客戶流失。假設(shè)在此閾值下的真陽率約為30%,這個分析表明采用20%的折扣方法可以消除至少8%的客戶流失。有關(guān)詳細(xì)信息,請參見下圖。折扣策略是遇到客戶流失的企業(yè)可以考慮采取的緩解問題的簡單的第一步。
在這篇文章中,我演示了如何執(zhí)行以下操作:
在這個特定的用例中,我開發(fā)了一個模型,該模型可以識別30%可能流失的客戶,而將假正率限制為10%。這項研究支持在服務(wù)和銷售渠道之間建立協(xié)同作用以保留更多客戶的基礎(chǔ)上,部署提供折扣的短期策略和制定長期戰(zhàn)略的有效性。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10