數據運營系列(一):生存分析與用戶行爲如何聯繫起來

1. 生存分析

生存分析主要用於醫學研究,比如醫療方案對病人壽命的影響。後面用來探究所感興趣的事件的發生的時間的統計方法。比如產品的壽命分析、工程中的失敗時間分析等等。這裏病人死亡、產品淘汰和工程失敗等稱爲事件event。生存分析中有兩個重要的概念,一是生存函數,二是風險函數。

生存函數的形式如下,表示爲事件未發生的樣本比例隨時間變化的趨勢,比如存活病人樣本比例、可正常使用產品比例隨時間的變化趨勢等

風險函數的形式如下,表示爲事件發生概率的變化率。

兩個函數之間的關係如下。

2. 用戶行爲

用戶行爲分析,特別是Customer Lifetime Value,對用戶運營和用戶增長工作尤爲重要。瞭解用戶在特定時間的行爲程度更能幫助運營人員開展運營活動,提高用戶價值。而常用的AB testing方法無法進行跨產品平臺的定量分析,迴歸模型無法動態測量用戶隨時間變化的行爲程度概率。因此藉助生存分析可以進行用戶留存、用戶點擊、用戶購買等行爲隨時間變化的趨勢。

比如以用戶購買行爲爲例,一般的運營數據,直接進行用戶分層查看其轉化率,但是這樣的數據無法知道用戶的動態行爲,比如在哪個時間點用戶轉化率會發生突變,產品的轉化率會穩定在多少。生存分析以一個用戶的單位,以用戶註冊時間爲實驗開始,數據採集截止時間(右刪失)或用戶轉化時間爲實驗終止,用戶最後是否發生購買行爲爲事件。

(1)數據集說明:

  • user_id:用戶id

  • signup_time:註冊時間

  • end_time:事件截止時間(購買時間,當購買時間爲空時,以數據採集截止時間填充)

  • sex:性別

  • age:年齡

  • event:事件標誌(用戶有購買行爲該值爲1,否則爲0)

  • duration:時間段(截止時間減去註冊時間)

(2)轉化率隨時間變化趨勢:

通過Kaplan-Meier無參估計方法繪製出生存估計量曲線發現,在50天前後轉化率基本穩定在40%。即在註冊後的50天內,這一批實驗用戶中大概有40%的用戶有購買行爲。再次減小時間間隔發現用戶轉化率在第10天基本無變化,因此運營需要在這個時間點開展運營或營銷活動,促進用戶轉化。

圖1 未轉化率隨時間的變化趨勢

(3)轉化率隨時間變化的變化速率:

這裏的生存分析是將轉化率作爲事件的發生標記,那麼生存函數就描述了未轉化率隨時間的變化情況,所以轉化率的變化率應該是風險率函數hazard rate function,即h(t)。這裏用Nelson-Aalen無參估計方法繪製累積風險估計量曲線。可以發現轉化率在前5天緩慢增大,但其後迅速減小。因此運營需要在用戶註冊後5天內採取措施提高用戶滿意度,促進轉化,否則用戶後期的購買意願會減小。

圖2 累積風險率隨時間的變化趨勢

(4)生存迴歸分析:

當需要了解一些例如性別、年齡等協變量是否影響生存時間時,可以用COX-PH迴歸分析變量的顯著性,並且還可以根據迴歸模型預測用戶是否會發生轉化。通過建模結果現年齡和性別均顯著影響生存時間。結果中的coef就是公式中的迴歸係數,因此exp(coef)則是Cox模型中最主要的概念風險比(HR-hazard ratio):

  • HR = 1: No effect

  • HR < 1: Reduction in the hazard

  • HR > 1: Increase in Hazard

z值代表Wald統計量,其值等於迴歸係數coef除以其標準誤se(coef),即z = coef/se(coef);有統計量必有其對應的假設檢驗的顯著性P值,其說明coef是否與0有統計學意義上的顯著差別。以性別變量舉例,coef值小於0說明HR值小於1,而這裏的Cox模型是group 1相對於group 0而言的,那麼按照測試數據集來說:male=1,female=0,即男性的轉化風險相比女性要低。exp(coef)等於0.9916,即風險比例等於0.9916,說明女性(female=0)增加了0.9916倍轉化風險,將回歸數據按性別分類指標進行分層發現,性別爲女性的用戶會更早做出購買行爲。

n=10000, number of events=7683


              coef  exp(coef)  se(coef)       z      p  lower 0.95  upper 0.95     
birth_year -0.0084     0.9916    0.0010 -8.7945 0.0000     -0.0103     -0.0066  ***
sex        -0.1676     0.8457    0.0241 -6.9492 0.0000     -0.2149     -0.1203  ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 
Concordance = 0.528
Likelihood ratio test = 124.891 on 2 df, p=0.00000

圖3 生存函數在性別上的差異

3. 學習資料

書籍推薦:John博士的 《survival analysis techniques for censored and truncated data》2E。該書可配合下面的視頻一起使用,該書把入門的基本原理講解得很透徹,並且有很多簡單的例子幫助理解模型和推導。推薦只是使用生存分析做用戶分析,看完前8章內容即可。

視頻資料:餃子博士(B站)

第一章 生存函數、風險函數 

https://www.bilibili.com/video/BV1WE411P78Z

第二章 刪失數據 

https://www.bilibili.com/video/BV1WE411N7dd

其餘章節待更新。。。

第五章 Cox迴歸

https://www.bilibili.com/video/BV1N741117G3

個人筆記:糖甜甜甜(知乎)

https://app.yinxiang.com/fx/34f33a79-999a-4dc6-b104-490bc9671838

4. 附件

Kaplan-Meier估計生存估計量原理:

Nelson Aalen估計累積風險率估計量原理:

COX-PH迴歸:

Cox模型的基本假設爲:

    在任意一個時間點,兩組人羣發生時間的風險比例是恆定的;或者說其危險曲線應該是成比例而且是不能交叉的;也就是如果一個體在某個時間點的死亡風險是另外一個體的兩倍,那麼在其他任意時間點的死亡風險也同樣是2倍。

Cox模型與Kaplan-Meier法比較:

  • Kaplan-Meier法是非參數法,而Cox模型是半參數法,一般來說在符合一定條件下,後者的檢驗效應要大於前者。

  • Kaplan-Meier法一般處理單因素對研究生存結局的影響,而Cox模型可以同時處理多個因素對生存結局的影響。

Cox model的形式:h0(t)和βk都是待估參數,Zk爲協變量。

代碼參考來源:

https://github.com/threecifanggen/lambda-and-tau/blob/master/%E7%94%9F%E5%AD%98%E5%88%86%E6%9E%90-%E4%B8%80%E4%B8%AA%E5%AE%9E%E4%BE%8B/survival_function_for_user_conversion.ipynb

點擊“在看”可收藏隨時查看↘↘

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章