Chapter 05 選擇目標市場程式實作

一、以「精準行銷模型」評估預期獲利 –模型評估指標的意涵

現在幾乎每個人都有手機,且均與電信公司簽下399、499、699「網路吃到飽」的套餐服務;或與銀行簽訂每刷1筆帳單,即可享有3%現金回饋專案,每刷滿10筆,即享10%現金回饋的信用卡「個人化」契約;如果是雲端使用者,也可能向Github、線上課程公司、防毒軟體公司等,付費購買線上服務。

無論是電信公司、發卡銀行或雲端服務商,這些大型企業擁有數百萬、千萬,甚至是億計的會員消費者,每天可能都有客戶合約到期;但您有沒有想過,在到期客戶中,哪些人會留下來?哪些人又會解約,轉投靠競爭者的陣營?爭取一個新客戶其實很不容易,企業又該如何預防他們解約?此外,企業在網路上投放廣告,儘管它們的成本,要比實體投放低很多,但是,怎麼樣可以「精準投放」,而非像過去一樣做「地毯地轟炸」,對現在處處講究撙節成本的企業,一定是重要課題。

畢竟,如果每隔幾天,就得對數以萬計的消費者發送電子行銷文宣,不但轉換率、購買率低,可能還會造成消費者的強烈反感,甚至導致客訴案件直線上升。同時,要評估接收到文宣的這些消費者,最後會為公司帶來多少獲利,過去大都是憑經驗和直覺,在沒有量化或模型工具的協助下,往往導致廣告投放效益不彰。

現在,拜「機器學習」之賜,電腦已能夠協助我們解決這些問題。以下,就以真實的線上服務商之零售資料進行分析,並以Python 3 進行「評估顧客帶來的預期獲利」的機器學習實戰。

主題如下:

  1. 產品:A公司主打的線上服務P產品。
  2. 通路:100%的網路媒體。
  3. 價格:$ 5,000元新台幣。
  4. 成本:$ 884元新台幣。
  5. 行銷成本(內含行銷人員的人事成本):$ 500元新台幣 / 每位顧客。
  6. 銷售:A公司先行提供30天的免費線上服務 — P產品,期望期限內顧客能正式簽約購買P產品之服務。
  7. 資料蒐集:目前已經有蒐集個別天數的每一消費者是否對P產品的實際購買狀況(購買 = 1;無購買 = 0),這裡提供的是10,000位顧客使用第7天時購買狀況之資料集,如圖1.所示。
STP_16

圖1. 分析資料表一覽

此次,以A公司同意情境下,真實線上零售資料為基準展開實做,並將所有的敏感變數加以移除、屏蔽和更換,進行資料預處理。

機器學習演算法主要以 Random Forest(RF)、XGBoost(XGB)、LightGBM(LGBM)進行分析預測,原因在於樹狀模型建模容易、解釋容易且較其他模型來說精準度更高。至於,損失函數部份則使用分類常用的Log-Loss(Cross-entropy loss)進行分類損失函數數值評估。以下簡述資料集裡的欄位。

目標變數(或稱依變數):

購買與否:每一客戶對P商品的購買狀態,購買=1;不購買 = 0。

標籤(或稱自變數):

  1. 產品使用分數 — 依據A公司估算,每位顧客每天使用產品的流暢程度。
  2. 使用者所在地區 — 台北、台中與台南三個地區之資料。
  3. 性別—   男、女類別變數。
  4. 年齡 — 使用者年齡。
  5. 使用累計時間 — 使用者使用A公司任一產品的時間。
  6. 點數餘額 — 使用者對A公司產品總點數餘額。
  7. 產品服務使用量 — 使用者每天產品使用程度。
  8. 是否使用信用卡支付月費 — 使用者支付方式是否為信用卡。
  9. 是否為活躍用戶 — 使用者在A公司的評估中,是否為活躍[1]使用者。
  10. 估計薪資 — 使用者在A公司的評估中,所估計的可用所得。

接著進行初步分析,發現這10,000筆資料中,購買者與不購買者呈現20/80的比例分佈(如圖2.所示,購買比例20.37 %;不購買比例79.63 %。),此為「不平衡資料集(imbalanced dataset)」。不過,先不考慮不平衡資料集所可能造成的問題,直接以三種演算法進行預測性建模。

[1] 顧客活躍度 (Customer Active Index, CAI)意指(平均購買期間-加權平均購買期間)/平均購買期間,CAI>0即為活躍(active);CAI<0即為不活躍(Inactive)。

STP_17

圖2.購買者與不購買者呈現不平衡資料集之型態

首先,先對類別變數─地區及性別,進行資料預處理,透過獨熱編碼(One-Hot Encoding)(如圖3.所示),將資料轉換為下述的資料型態:

STP_18

圖3.獨熱編碼後的資料集

接著,透過Random Forest(RF)、XGBoost(XGB)、LightGBM(LGBM)三種演算法進行建模,並比較三者的ROC曲線AUC分數及測試資料集的準確度(Test Accuracy)(如圖4.所示)。結果可發現,RF的準確度(Test Accuracy)為0.87,屬於最高值,因此決定以RF做為最適當的評估模型。

STP_19

圖4. 三種樹狀模型的ROC曲線比較

從技術上來看,準確率(Test Accuracy)是評估不同模型的最佳指標,不過,當準確率遇上不平衡資料集,或是不同的商業情境(如數位行銷或實體行銷)時,就不能一味地相信準確率這項指標。此時,企業的行銷資料科學家應充分了解建模的需求,並擬定相對應的衡量指標。

以下以混淆矩陣(Confusion matrix)的兩種概念:精確率(Precision)與召回率(Recall)與(如圖5.所示)來進行說明。

STP_20

圖5. 混淆矩陣表

(一) 精確率(Precision) —建議使用於 高成本的實體行銷活動

精確率的定義,是指「在預測會買的顧客中,預測到會買且實際會買的顧客」。這一項指標,通常應用在「寧可精準也不濫投」的高成本、高報酬的商業活動。一旦我們要求高精確率,通常會犧牲召回率,所以碰到舉辦行銷成本非常高的活動時,瞄準的一定是高消費客群,而且要精準命中,才足以支應行銷成本。

這也意味在實體行銷活動高昂的成本基礎下,哪怕預測到會買且實際會買的顧客相對較少(True Positive, TP較少),且錯誤預測不買的人多(False Negative,FN多),此時,寧可多投放給精確且會購買的人(TP中等+FP非常低),因為其中只要有一名顧客大筆消費,企業便能因大筆的消費金額中,快速賺回行銷費用。

在這種情況下,行銷資料科學家能透過模型找出精準「TP」[1],但犧牲「FN」,來達成效益最大化之目標。

[1] 在不平衡資料集下,要求更精確的精確率,TP數量相對會更少

(二)召回率(Recall) —建議使用於低 成本的數位行銷活動

召回率是指「在實際會買的顧客中,預測到會買且實際會買的顧客」。此項指標適用於低成本、需要大量名單的數位行銷活動。當我們要求召回率高,通常會犧牲精確率,但也因為在網路行銷成本相對低廉的狀況下,哪怕錯誤預測會買的人多(FP多),但寧願多投放給可能購買的人(TP高+FP高),因為只要多一個人購買,企業就多一份進帳,就能輕易負擔額外增加的網路行銷成本。因此行銷資料科學家能透過模型,增加「真的正/買(TP)」,但犧牲「FP」,來達成效益最大化。

在商業上,最希望看到的就是「精確率」與「召回率」這兩個比例,都可以趨近於1。雖然可以針對不同的商業目的與兩種指標來挑選適合的模型,不過,通常還是要求兩者之間至少都在0.4或0.5以上進行平衡,否則模型就未達正常的預測效力。

此外,針對於精確率(Precision)與召回率(Recall)我們會使用所謂的「PR 曲線(Precision-Recall Curve)」了解分類器在商業應用上的好壞。

以下隨機取一99%不購買,僅有1%購買的不平衡資料集(如圖6所示)來進行測試。

請見文末對應程式碼:precision_recall_case.py

STP_21

圖6、使用模擬資料集來測測Precision-Recall Curve

對其進行KNN的簡單分類,從圖7.右方中可以發現,其實ROC曲線的分數還不錯,AUC分數可以達到77%,測試資料集的準確度(Test Accuracy)更達96%。如果僅看ROC曲線,很容易發現這似乎是一個不錯的分類器,但如果看PR 曲線(圖7左方),則效果不佳,當精確率(Precision)為50%時,召回率(Recall)僅有11%。

STP_22

圖7. Precision-Recall Curve與 ROC曲線

由圖8.中,我們可以看到,使用該分類器結果進行廣告投放,結果僅建議投放4人,而有2人會購買。但是,如果「損益兩平點」在7人以上,這一個模型絕對會遭到捨棄。儘管此時,剛入門的行銷資料科學家可能因為準確率而建議公司使用這個分類器,但從圖8.的獲利表現中,就知道這次投放廣告要虧大了。因此,這就是我們為什麼要強調精確率與召回率,至少要在0.5以上的原因了。

STP_23
STP_24

圖8. 模擬之混淆矩陣

分類器評估方法— ROC曲線、AUC、Accuracy、PR曲線

把顧客資料送進電腦,利用各種演算法加以分類之後,千萬不要以為任務已經完成,行銷資料科學家必須接著使用ROC曲線、AUC、Accuracy或PR曲線等不同的評估工具,來判斷各個分類器的分類成效。

分類器的目的在對樣本進行分類,例如,將樣本中的男女進行區分。不過,在預測分類的過程中,會有預測正確與預測錯誤兩種結果。因此,將分類狀況與預測結果進行排列組合,即可得到以下四種情境,如圖9.所示。

STP_29
STP_30

圖9. 混淆矩陣
繪圖者:何晨怡

目前常用的評估分類器的方法,可以透過ROC曲線、AUC、Accuracy、PR曲線等衡量。

(一) ROC曲線

ROC曲線(Receiver Operator Characteristic Curve,譯為接收者操作特性曲線)。ROC曲線以FPR為X軸;TPR為Y軸,如圖10.左所示。

STP_31

圖10. 隨機森林的ROC曲線

其中,FPR(False Positive Rate,譯為偽陽性率),代表分類器的預測為正(Positive),但實際是錯的,即預測錯誤(False);TPR(True Positive Rate,譯為真陽性率),代表分類器的預測為正(Positive),而實際也是正的,即預測正確(True)。

ROC曲線呈現分類器在效益(真陽性率)與成本(偽陽性率)之間的相對關係。其中點(0,1)代表完美分類,代表效益最大,成本最低。所以ROC曲線越靠近左上方越好。

(二) AUC(Area Under Curve)

AUC(Area Under Curve)代表在ROC曲線下的面積,能表示分類器預測能力的一項常用的統計值。前面提到,ROC曲線越靠近右上方越好,因此,ROC曲線下的面積越大越好,代表模型的效益越高。

當AUC = 1時,代表分類器非常完美,但這畢竟是理想狀況。

當AUC > 0.5時,代表分類器分類效果優於隨機猜測,模型有預測價值。

當AUC = 0.5時,代表分類器分類效果與隨機猜測相同,模型無預測價值。

當AUC < 0.5時,代表分類器分類效果比隨機猜測差,但如果進行反預測,就會優於隨機猜測。

(三) 準確率(Accuracy)

準確率(Accuracy)等於正確預測的數量(包括正確預測為正或負),除以總預測數(包括正確預測為正或負,以及錯誤預測為正或負)。用公式來看,即為(TP+TN)/(TP+TN+FP+FN)。基本上,準確率越高越好。

(四) PR曲線

PR曲線(Precision-Recall Curve,譯為精確召回曲線)以召回率(Recall)為X軸,精確率(Precision)為Y軸。一般來說,精確率與召回率越高,代表模型的效益越高,也就是PR曲線,越往右上方靠近越好,如圖11.所示。

STP_32

圖11. 隨機森林的PR曲線

不平衡資料集問題

這位顧客是否會回傳我們精心製作的問卷資料?這張信用卡是否會變成銀行的呆帳?這張保單是否會讓保險公司產生理賠?這台冰箱,是否為我們工廠生產出來的不良品?資料科學家每天無不在思考,如何利用資料預測哪些問題會出現,機率又有多少?在進行商業分析時,資料科學家偶爾會遇到一種情況,那就是「樣本」的分布極不平均,因為即便使用機器學習分類時,還是得面對這種因為「樣本偏移」的重大挑戰

這問題怎麼來的呢?試想一下,一家銀行的數百萬張發出去給消費者的信用卡之中,出現呆帳者的比例是不是很低?在保險公司上千萬張的保單中,出現理賠保單的比例是不是很低?在所有發出的問卷中,回傳問卷的比例也是否很低?這種不同類別(呆帳、非呆帳;理賠、不理賠;回傳、不回傳)的樣本量,非常不平均(例如:100/1),一旦出現像這樣的資料集就稱為「不平衡資料集」 (以上的類別為兩類,屬於二元分類),如圖12.所示。

STP_33

圖12. 不平衡資料集
繪圖者:曾琦心

回過頭來看,一旦資料集屬於「不平衡資料集」時,一般的分類方法通常無法正確地加以分類。而如果您所處理、分析的資料集為大數據,雖然是「不平衡資料集」,但各類別中的樣本數,最小的都還有數萬甚至是數十萬筆,這樣在進行分類時問題不大。

反之,如果資料集裡各類別中最小的資料量,屬於非常少數的情況下(例如:10,000名病患中,得到罕見疾病的病患數只有3位),這時在機器學習的分類器效果就會受到很大的影響。因為機器學的分類器在訓練時,會因為這種「類別不平衡問題(Class Imbalance Problems)」而產生偏誤,進而導致在「少數類別(Minority Class Examples)」的預測正確率大幅降低。

在這樣的資料型態中,某個特定類別的樣本數,遠遠超過其它類別的樣本數,樣本的分佈呈現偏斜分佈(Skewed Class Distribution)。但反過來看,相較於多數類別樣本,少數樣本反而是較有趣的類別。例如,出現在醫學診斷中的罕見疾病、信用卡審查中的詐騙資料等。

從資料的角度來看,處理不平衡資料集的方法,主要可以透過「增加少數法(Oversampling),或稱過取樣」、「減少多數法(Undersampling),或稱欠取樣」以及「合成少數法(Synthetic Minority Over-sampling Technique, SMOTE)」等抽樣方式,來提升分類器效果。這些內容,我們將在後續的文章中進行分享。

STP行銷策略 | 網路爬蟲x機器學習x數據分析

作者:鍾皓軒,羅凱陽,蘇宇暉
出版社:碁峰
出版日期:2020/09/16
語言:繁體中文
定價:520元

作者:鍾皓軒,羅凱陽,蘇宇暉
出版社:碁峰
出版日期:2020/09/16
語言:繁體中文
定價:520元

臺灣行銷研究有限公司

Taiwan Marketing Research Ltd.

02-8732-2593
tmrglobalservice@gmail.com
台北市大安區基隆路四段43號(臺科大國際大樓11樓1103室)

臺灣行銷研究有限公司

Taiwan Marketing Research Ltd.

02-8732-2593
tmrglobalservice@gmail.com
台北市大安區基隆路四段43號
(臺科大國際大樓11樓1103室)
Follow us
掌握最新行銷趨勢

臺灣行銷研究

Taiwan Marketing Research Ltd.

02-8732-2593
tmrglobalservice@gmail.com
台北市大安區基隆路四段43號(臺科大國際大樓11樓1103室)
Scroll to Top