機器學習系列六:讓機器學習分析影響公司營收的「關鍵變數」
(附Python程式)
- 準確度不代表獲利
- 機器學習在線上/線下商業活動的指標選擇
- 廣告全投放與機器學習投放之差別
- 管理上,管理者對權力掌控的有利程度
- 推出新線上服務之參考
- 深度訪談這些擁有這重要變數的客戶,舉例來說:年齡可能是重要的變數,那該群顧客還會有何種線上服務的需求? 年齡層高與低的顧客未來分別有何種需求等?
- 驗證本次主打的商品有沒有打中預想的重要變數
簡單講解過關鍵變數的應用後,接著,我們要深入行銷資料科學的「資料科學」領域,使用一真實線上服務商之服務流程資料進行分析,並以Python 3 機器學習進行「關鍵變數」選擇!
既上次解決系列1的難題後,我們再次使用P產品的相關資料來進行「關鍵變數」之選擇
- 產品:A公司主打的線上服務P產品
- 通路:100%的網路媒介
- 行銷文宣成本:$ 300元新台幣 / 每位顧客
- 銷售:A公司提供30天的免費線上服務 — P產品,期望期限內顧客能正式簽約購買P產品之服務
- 資料蒐集:購買 = 1;無購買 = 0,提供的為10,000位顧客使用第7天時購買狀況之資料集
- 「關鍵變數」上所面對難題:
- 不甚清楚客戶對哪個欄位變數感興趣,讓A公司可以使力在該重要變數
變數:
- prod_output_num : 產品結果輸出次數
- locations : 使用者地區
- gender : 性別
- age : 年齡
- click_on_prod : 產品點擊次數
- balance : 點數餘額
- registry_to_use_time : 產品註冊到使用的時間
- credit_card_paid : 是否使用信用卡付月費
- active_member : 是否為活躍用戶
- estimated_salary : 估計薪資

圖1. 分析資料表一覽
機器學習建模前,老樣子我們一樣先將類別變數 — 地區及性別進行 One-Hot Encoding(見圖2),轉換為下述資料型態:
如欲知 One-Hot Encoding 的概念,請見本提問回覆

依照系列1的建議,XGBoost對於預期獲利來說,為最適當的模型,因此我們將XGBoost當作我們「關鍵變數」的篩選選模型。
首先就讓我們先來看一下模型預測結果與關鍵變數表:

圖3. 預測結果與關鍵變數表
再來我們將之圖像化,就可以到系列1中詳細介紹的confusion matrix,進而算出86.8%的準確率:

圖4. XGB confusion matrix
再來看到本次文章的主角 — 「變數重要性長條圖」的結果:

圖5. 變數重要性長條圖
從圖5中,我們分別可以看到,從XGBoost中所判別出來的 balance(點數餘額)、estimated salary(預估薪資)、prod_output_num (產品結果輸出次數)、age(年齡)與registry_to_use_time (產品註冊到使用的時間)為預測「消費者是否會購買」的五大關鍵變數!
然後呢? 讀者這時候可以想一想,既然我知道這幾樣為重要性的變數,那接下來我應該要「加強還是降低」這些關鍵變數? 那應該如何知曉這些關鍵變數對「消費者是否購買」的關係?

圖6. 係數長條圖
那應該如何評估關鍵變數加強或減弱的效果呢? 這時候我們便會使用到羅吉斯回歸評估係數時,常使用到的Odds ratio(圖7),藉以評估在考量不同X變數下,會購買消費者(Y=1)相對於不會購買的消費者(Y=0)來說,該X變數的影響程度。

圖7. Odds ratio
讓我們再舉另一例子來看,增加prod_output_num (產品結果輸出次數),竟然造成購買倍數的下降?! 結果發現,這是因為消費者不熟悉該產品操作,所以消費者變嘗試輸出錯誤的結果,在經過使用者訪談後,發現原來是產品使用上稍為複雜,導致消費者需要經過非常多次的輸出,才有辦法輸出正確的可交付成果,因此管理者可以與消費者及產品開發者們分別討論如何對產品輸出流程進行簡化作業,讓消費者在輸出可交付成果時,擁有更好的體驗。

圖8. Odds ratio之管理意涵
實測中,我們測試了數10位消費者,就讓我們找出某一意願低下的A消費者當作案例代表,A對該產品的使用狀況如下:

圖9. A消費者產品使用狀況

圖10. A消費者對產品的購買機率評估
- prod_output_num (產品結果輸出次數)為 551次
- registry_to_use_time (產品註冊到使用的時間)為 2 單位的時間
- 我們預估其購買機率為8%
接著,A公司對P產品的界面及註冊流程進行了更User-friendly的改造,對其進行再次測試,經訪談,該位消費者即非常有意願該購買產品;數據的結果則是:

圖11. 產品改良後,A消費者產品使用狀況

圖12. 產品改良後,A消費者對產品的購買機率評估
- prod_output_num (產品結果輸出次數)為 373次,減少178次
- registry_to_use_time (產品註冊到使用的時間)為 1 單位的時間
- 我們預估其購買機率增長到70%
- 管理者可針對關鍵變數進行決策,找出消費者痛點
該A產品功能多樣,要找出消費者痛點實屬不易,更遑論這些痛點很有可能不是在產品本身,而是在一開始未使用A產品時所遭遇的產品使用前之程序,如:註冊程序、註冊時間、網頁停留時間數等,管理者都應當充分使用機器學習技術,查看會影響到消費者購買意願之「關鍵變數」,以利提高購買機率之可能性。 - 關鍵變數改善? 不改善?
從本案中可看到我們並未主打改善balance(點數餘額)與estimated salary(預估薪資),其考量因素主要在於管理者在於改變這些變數執行上的難易度,經過評估,進行prod_output_num與registry_to_use_time相對來說於公司產品使用經驗上能得到更多的改善,更重要的是公司能從中節省更多成本,獲取更多利益,而這些決策,即是考驗管理者/專業經理人的策略性思考能力。
作者 : 鍾皓軒(臺灣行銷研究有限公司 共同創辦人)