Beta 存活模型

螢幕快照 2020-02-28 下午3.18.52

最近在研究客戶留存的問題時,看到了 Netflix 的一篇有趣的文章:Beta Survival Models。在這篇文章中,他們將留存模型 (retention modeling) 中很經典的 Shifted Beta-Geometric Model 與用戶的特徵 (feature/covariates) 連結在一起,做出挺有趣的參數化方法,估計個別用戶的留存機率。

 

Shifted Beta Geometric Model

 

假設使用者(其特徵為 \mathbf{x})在每個離散時間點(比如說:每一期繳費前)t 會決定是否要繼續訂閱 Netflix 服務,其中用戶取消訂閱的機率為 \theta、持續訂閱的機率為 1 - \theta,而且 \theta 會隨著使用者的特徵不同而改變(也就是指:\theta\mathbf{x} 的函數),比如說:第一個月用觀看時間越長的用戶,取消訂閱的機率 \theta 就越小。令 T 代表用戶取消訂閱的時間,則 T 的機率分配為幾何分配 (Geometric distribution),其機率質點函數 (probability mass function) 為:

CodeCogsEqn-4

上式是怎麽得到的呢?其實很簡單,假設用戶在第 t 期取消訂閱,代表在第 1,2,\cdots, t-1 期用戶都沒有取消,機率為 (1-\theta)^{t-1},而在在第 t 期取消的機率是 \theta,因此我們可以得到上式。

 

如果有學過貝式統計,應該不陌生,通常我們會使用 Beta 分配來描述 Bernoulli 機率,因此,在這裡我們設定 \theta 的條件分配 (conditional distribution) 為 B(\alpha (\mathbf{x}), \beta (\mathbf{x})) 分配,也就是說,此處透過 Beta 分配中的 \alpha, \beta 來連結 churn probability 與使用者特徵的關係。因此,我們可以寫下 \theta 的條件機率密度函數 (conditional density function) 為:

CodeCogsEqn-5

其中 \alpha (\cdot), \beta (\cdot) 皆為大於 0 的函數。為了確保大於 0 的條件,比較好的方法是將其參數化為 \alpha(\mathbf{x}) = \exp a(\mathbf{x}) , \beta(\mathbf{x}) = \exp b(\mathbf{x}),目標則轉變成估計 a, b 函數。

 

接下來,我們可以透過 MAP (maximum a posterior) 方法估計 \alpha, \beta。令 c_i = 0 代表使用者 i 再觀察時間內有退訂 (c 代表 censored)且退訂時間記為 t_ic_i = 1 代表沒有退訂且最後訂閱的時間記為 t_i,則我們可以將 \alpha, \beta 的後驗分配寫為:

CodeCogsEqn-18

其中 \mathbb{P}\left(T = t_i|\alpha(\mathbf{x}_i),\beta(\mathbf{x}_i)\right) =\int_0^1f\left(\theta|\alpha(\mathbf{x}_i),\beta(\mathbf{x}_i)\right)\mathbb{P}(T=t_i|\theta)d\theta

 

利用遞迴關係估計 \alpha, \beta

 

接下來,我們要透過 Gamma 函數的性質,寫出遞迴形式,透過遞迴形式,我們可以更進一步得到遞迴形態的 gradient,幫助我們解出後驗分配的最大化問題。首先,我們列出起始條件,也就是 t = 1 的情況(此處為求符號簡單,省略 \mathbf{x}_i):

CodeCogsEqn-12

CodeCogsEqn-11

透過類似的技巧,我們可以得到以下的遞迴形式:

螢幕快照 2020-02-23 上午11。52。12

有了上述的遞回形式,針對每個用戶 i,我們都可以從 t = 1 計算到 t = t_i,得到概似函數 \mathbb{P}(T > t_i|\alpha,\beta) 或是 \mathbb{P}(T = t_i|\alpha,\beta)

 

接下來,我們要透過 MAP 估計 \alpha,\beta,也就是求解最佳化問題 \max_{\alpha,\beta} \mathcal{L}(\alpha,\beta)  \equiv \min_{\alpha,\beta} -\log\mathcal{L}(\alpha,\beta),其中損失函數 (loss function) 的形式為:

CodeCogsEqn-16

此處我們可以透過上述的遞迴形式以及簡單的微積分,就可以得到如論文 Appendix 2 中的遞迴式,也可以順利計算出 Gradient 和 Hessian 的數值。因此,此處我們已經可以順利計算出 loss function, Gradiient, Hessian 的數值,因此就有辦法透過 Gradient Descent 方式解出 \alpha, \beta 了。

 

Beta-logistic 模型

 

上述的 Beta 存活模型,最簡單的形式便是假設線性關係,也就是 a (\mathbf{x_i})=\gamma_a \cdot \mathbf{x_i}, b (\mathbf{x_i})=\gamma_b \cdot \mathbf{x_i},此時我們可以發現在 t = 1 時:

CodeCogsEqn-19

變成了邏輯迴歸的連結函數 (link function),因此作者將這個簡化的模型稱為 Beta-logistic 模型。在論文中還有再提到幾個面向的討論,一是比較兩個使用者的流失機率:

CodeCogsEqn-20

另一個面向則是 Posterior Size Comparision,也就是比較估計出 \theta 的信賴區間大小。

 

這篇論文運用貝式統計進行參數估計與預測的方法其實很經典,但滿巧妙的連結了離散事件跟使用者特徵,而且並不一定只適用於線性模型,比較複雜的方法也可以用來參數化 \alpha, \beta,論文本身的數學難度也不高,滿建議修過貝氏統計的朋友可以讀一讀!有關 David’s Perspective 的最新文章,都會發布在大鼻的 Facebook 粉絲專頁,如果你喜歡大鼻的文章,還請您不吝嗇地按讚或留言給我喔!

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

About David Huang

即將於 2020 年秋季至哈佛商學院 (Harvard Business School) 就讀量化行銷博士。過去曾在 Migo TV 擔任 Data Lead、Mastercard Data & Services 擔任顧問,過去專案經歷包括:客戶分群、消費者終生價值預測、市場實驗與學習、新產品上市測試、影片推薦系統、使用者行為預測、線上機器學習、文字探勘與產品分析、互聯網產品分析策略、企業指標體系與儀表板建立等。

發表迴響

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