Last update: July 15, 2023
動態分析 Customer Behavior – Recursive RFM
要處理數據分析的潛在 Data Seasonality 問題,其中一個方法是運用 Recursive RFM,動態觀察顧客在整個時段中的行為變化。
Index
在上一篇文章 “大數據如何分析 Customer Behavior-RFM” 中,我們試範了如何運用 Python Programming 從 Big Data 中建立一些新的 customer behavior features 如 recency, frequency, monetary value 及 aging 等,從 Sales & Marketing 的角度以大數據分析分辨出哪些顧客擁有高價值,哪些顧客有較高的忠誠度而繼續消費,哪些顧客已經開始漸漸對公司的產品失去興趣:
在 Sales & Marketing 行業中有多年經驗的你此刻或許會有一個問題 – 我們把整個時段的數據 (e.g. 3年數據) 一次過進行分析,會否錯過了當中特別時期的影響? 例如在聖誕節期間,銷售額會因假日影響而增加。
以上現象我們稱之為 Data Seasonality。的確如果把整個時段的數據一次過進行分析,我們或許會錯過Seasonal Effect 對數據的影響,導致分析結果有所偏差。
Recursive RFM
要處理以上問題,其中一個方法是運用 Recursive RFM。簡單來說我們選擇一個時間分佈 (time frequency) 作為觀察時段 (observed period) 及將來時段 (future period) 的單位 (e.g. 1個月),然後劃分數據 (e.g. 1年的數據可以劃分為 12個時段)。我們會運用每個觀察時段的數據去計算 RFM Features (i.e. recency, frequency, monetary value, aging) 及以將來時段的數據提供標籤 (labels)。
例如首先我們以首月的數據作為觀察時段 (observed period) 及第2個月的數據作為將來時段 (future period),以計算 RFM Features 及提供標籤 (labels):
然後我們拉長觀察時段 ,以首2個月的數據計算 RFM Features。我們以第3個月的數據作為將來時段提供標籤:
重覆以上步驟,直至最後我們以首11個月的數據計算 RFM Features。我們以最後1個月的數據作為將來時段提供標籤:
透過這個方式,我們便可以觀察顧客在整個時段中的行為變化,從而了解當中會否出現 Data Seasonality。你可以在這篇文章了解更多 Data Science Recursive concept。
標籤 (Labels)
在將來時段中,如果我們看見相同的顧客出現 (i.e. 與觀察時段中出現的顧客擁有相同 Customer ID),代表這位顧客在將來時段進行消費,因此我們會在觀察時段的數據中為這位顧客加上 “Buy = 1” 的標籤 (如果顧客沒有在將來時段時段出現,即時沒有在將來消費,Buy 則是 0),以便日後我們訓練 Machine Learning Model:
劃分時段 (Observed Period & Future Period)
我們先根據所選擇的時間單位把數據劃分 (i.e. 1個月),以 Python Programming 定義觀察時段及將來時段,然後再以 for loop 逐步拉長觀察時段:
計算 RFM Features
在每一次 for loop 中,我們會運用觀察時段的數據計算 RFM Features 及將來時段的數據決定是否加上 “Buy=1” 標籤,然後以 merge function 把 RFM Features 加上 “Buy” 標籤:
最後我們把不同時段產生的 RFM Features 及標籤組合在一起成為新的 dataset:
我們成功以 Recursive RFM 總結顧客在不同時期的行為:
總結
在這篇文章中,我們試範了如何運用 Python Programming, Pandas 及 Recursive RFM Model 改良 Customer Behavior Analysis 以解決潛在的 Data Seasonality 問題,並從 Big Data 中建立一些新的 customer behavior features 及加上標籤 (labels)。下一篇文章我們會開始以 machine learning 進行 training 及 prediction。
如果你不想獨自走過以上每個部份,歡迎你報讀 DANGER 為你加入大數據行業工作而設的 Data Science & Engineering Bootcamp,在行內導師的指導下與其他學生一起進行具職場水準的訓練,節省學習時間同時額外汲取行業經驗,比其他人走快一步。