利用貝氏方法估計客戶終生價值 – Pareto / NBD 模型與 Gamma / Gamma 模型

%e8%a1%a8%e6%a0%bc123

近年來行銷領域越來越重視「顧客中心」(customer centricity),但顧客中心不代表要滿足所有消費者的所有需求,而是針對「特定高價值的客群」提供最符合他們需求的服務與產品。在營運與研發成本有限的情況下,為了提供客製化的服務,通常會更細緻地進行「顧客分群」,並深入挖掘每個客群的顧客需求,了解如何改善服務與產品。傳統的顧客分群通常建立於人口、過去的購買偏好等資訊上,但在「客戶中心」的經營原則中,以「價值」為基礎的分群,才能真正協助組織妥善分配資源,優先投資在重要的顧客客群上。因此,不論是針對高價值客戶提供適當的產品概念 (product offering),還是針對高價值客戶提供個人化的服務 (personalization),都變成企業的重要問題。

 

在這樣的行銷趨勢下,「客戶終生價值的估計」就成為了行銷領域中的重要問題。一個消費者的終生價值通常由三個重要的元素所組成,分別是:

  • 存活時間 (Lifetime / Survival Time):客戶從開始購買到不再購買 (inactive) 的時間長度。
  • 購買次數 (Purchase Count):客戶在存活時間的交易次數。
  • 每次購買金額 (Average Check Size):客戶在存活時間時每次交易的平均消費金額。

因此,如果我們想要預測單一客戶的終身價值,只要能夠預測上述三個重要的參數即可。在資料科學旺盛發展的今日,每一個參數我們都有數百種方法進行預測,但在 2005 年其實就有很好的統計方法可以進行估計,今天想要跟大家介紹這個方法: Pareto / NBD 模型與 Gamma / Gamma 模型。

 

Pareto / NBD 模型:估計存活時間與購買次數

 

Pareto / NBD 模型於 1987 年被提出 (*1),透過隨機過程中最基本的 count process – Poisson Process 來刻畫消費者購買行為。首先,接下來,我們描述消費者的存活時間 (lifetime),在這裡假設消費者 i 的存活時間 $latex\tau_i $ 為指數分配,其死亡率為 \mu_i,所以消費者 i 存活時間的機率密度函數為:

 

接下來,我們刻畫消費者的購買過程。令消費者 i 還是活躍的期間,在時間 $latext t$ 的累積購買次數為 N(t),則我們假設購買次數滿足以下性質:

  1. 期初消費者 i 的購買次數為 0,也就是 N(t) = 0
  2. 假設 (t_1, t_2)(s_1, s_2) 是任兩段不重疊的時間,則消費者  i 在這兩個時間區段的購買次數互相獨立,也就是:
  3.  消費者 i 單位時間的平均購買次數為 \lambda_i。該消費者在一個極短的時間段 (t, t+h) 內只會購買一次,且購買的機率為 ,也就是正比於該時間期望購買次數 \lambda_i h,機率增加的幅度最多就是隨著 h 線性成長。(little-o 是漸近符號,大家可以上網查詢意義。)

根據上述的假設,我們可以得知消費者 i 的期望購買次數為 \mathbb{E}\left[N(\tau_i)\right]

 

由於每個人的單位時間平均購買次數 \lambda_i 與死亡率 \mu_i 皆不一樣,因此在這裡我們透過貝氏統計的觀念,假設整體消費者的單位時間平均購買次數與死亡率為獨立的隨機參數,服從以下的分配:

  1. 單位時間平均購買次數服從 Gamma 分配,機率密度函數為:
  2. 死亡率服從 Gamma 分配,機率密度函數為:

 

根據上述,我們可以利用貝氏的方法估計出 \alpha, \beta, a, b,進而估計在特定時間點 T_i 消費者 i 的 (1) 存活機率: \mathbb{P}(\tau_i > T_i | a, b) 與 (2) T_i 時間到 T_i + k 間消費者的期望購買次數 \mathbb{E} \left[N(T_i + k) - N(T_i) \right]。詳細的估計方式可以見Fader 與 Hardie 於 2005 年發表的論文 (*2)。

 

Gamma / Gamma 模型:估計平均每次購買金額

 

由於每個消費者的平均每次購買金額都不一定相同,我們仍然需要一個刻畫消費者每次購買金額的模型,在這裡我們介紹 2005 年發表的 Gamma/Gamma 模型 (*3)。假設消費者 iT 時點觀察到每次消費的購買金額為 z_{i,1}, \cdots, z_{i, N(T)},我們假設 (1) 每次購買金的金額彼此獨立且 (2) 第 j 次的購買金額服從 Gamma (\rho, v) 分配。此時,我們觀察到 T 時點該消費者的平均購買金額 \widetilde{m}_{i,T} = \sum_{j=1}^{N(T)} z_{i,j} / N(T) 則服從 Gamma (\rho N(T), vN(T)) 分配 。在此處,我們假設 \rho 是一個固定的參數,代表整體消費者的購買水平。然而,由於每個消費者的平均購買金額應當不同,所以我們在此處假設 v 服從 Gamma(q,r)分配。

 

小結:最基本的終身價值預測模型

 

上述的模型其實有很顯然的問題,比如說:購買次數與購買金額可能是高度相關的,以及客戶存活時間可能跟某些客戶的特性有關(收入、年齡等)卻沒有納入考慮。因此,這並不能算是一個非常成熟的模型,相信大家應該有辦法透過不同統計/機器學習方法建立更準確的預測模型。另外,如果想知道 Python 的實作,可以參考以下內容:https://github.com/datascienceinc/oreilly-intro-to-predictive-clv/blob/master/oreilly-an-intro-to-predictive-clv-tutorial.ipynb

 

有關 David’s Perspective 的最新文章,都會發布在大鼻的 Facebook 粉絲專頁,如果你喜歡大鼻的文章,還請您按讚或留言給我喔!

大鼻觀點:https://www.facebook.com/davidperspective/

 

參考文獻

 

  1. Schmittlein, D. C., Morrison, D. G., & Colombo, R. (1987). Counting your customers: Who-are they and what will they do next?. Management science, 33(1), 1-24.
  2. Fader, Peter S., Bruce GS Hardie, and Chun-Yao Huang. “A note on deriving the Pareto/NBD model and related expressions." accessed July 31 (2005): 2005.
  3. Fader, Peter S., Bruce GS Hardie, and Ka Lok Lee. “RFM and CLV: Using iso-value curves for customer base analysis." Journal of marketing research 42.4 (2005): 415-430.

 

 

About David Huang

國立臺灣大學統計碩士,喜愛運用資料科學解決複雜的商業問題,改善商業決策的品質。過去的專案經歷包括:外匯選擇權套利、股票投資組合設計、戲劇推薦系統、使用者觀看行為預測、聊天機器人機器學習開發、IoT產業文字探勘與產品分析、衛材存貨管理系統等。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *