前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据运营系列(一):生存分析与用户行为如何联系起来

数据运营系列(一):生存分析与用户行为如何联系起来

作者头像
木东居士
发布2020-06-01 16:32:30
1.5K1
发布2020-06-01 16:32:30
举报

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倍转化风险,将回归数据按性别分类指标进行分层发现,性别为女性的用户会更早做出购买行为。

代码语言:javascript
复制
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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 木东居士 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 生存分析
  • 2. 用户行为
  • 3. 学习资料
  • 4. 附件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档