数据分析案例:浅谈生存分析在用户流失中的应用
导读:生存分析(Survival analysis),是医学领域常见的分析方法,直白点说,就是分析“因素”和“生存”是否相关,能够直接将研究的因子和患者最终的预后表型关联起来,其重要性可想而知。目前,生存分析已经广泛应用于社会科学和商业领域,今天我们将从用户流失的视角来谈谈它的应用。
前言
生存分析可以简单概括为:研究特定事件的发生与时间的关系的回归。这里特定事件可以是:病人死亡、病人康复、用户流失、商品下架等。
以用户流失为例:
将用户下首单日期当做“出生”时刻,用户注销(或长时间不下单)当做“死亡”时刻(用户流失),两者相减即为用户的生存时间。
当研究用户流失与时间的关系时我们往往会在意,什么样性别年龄的客户、在什么样消费力水平下、面对什么样促销力度诱惑、结合什么样的召回手段,会产生什么样的"生存时间"?带着这些疑问,继续看下去,生存分析能够给我们答案。
介绍到这里可能有同学会问:为什么上述场景不能用普通的线性回归呢?
仔细回顾这个场景,我们将2020年1月1日当做观察开始时间,将2021年6月30日当做观察截止时间,用户在这期间下首单的日期为该用户出生时时刻,注销日期为该用户死亡时刻。
有一类用户,在这1年半期间完成了下首单(出生)到注销(死亡)的流程,可以算出来他们准确的生存时间;但是还有另外一类用户,在这期间下首单之后不断购买,未注销(未死亡),这部分用户的生存时间还有多久?并不清楚!
生存分析中将这部分用户的生存数据称为删失数据,结合删失数据与完整数据来研究用户的生存时间,这是普通的线性回归难以实现的。
案例介绍
为了使大家有个直观的感受,下面以一个特殊的案例简要介绍该方法在用户流失中的应用(本案例数据纯属模拟生成,仅用于本节生存分析案例的使用介绍)。
1. 定义
观察起始时间:2020年1月1日-2021年6月30日
用户出生时刻:用户第一次下单时间
用户死亡时刻:用户注销时间(或者用户超X个月未下单),为了表述方便,这里使用用户注销当做用户流失
生存时间(Y):对于在观察期间注销用户来说:生存时间=用户注销时间-用户第一次下单时间;对于到观察期截止,仍未注销的用户来说:生存时间=观察截止日期-用户第一次下单时间
是否死亡(N):观察期截止,用户是否注销
影响因素(X):影响用户生存时间长短的因素,比如性别、年龄、是否会员、最大消费金额、是否评论、最大购买间隔天数等
2. 数据格式化
需要的原始数据格式如下:
转换后的数据格式如下:
3. 描述分析
结合生存时间(Y)、是否死亡(N)两个变量,可以研究所有用户在不同生存时间下,存活的概率(这里需要用到K-M估计,本文主要讲应用,相关理论方法可查阅文末的参考文献)
由上图可知:
(1)0-3个月的用户处于对平台新鲜感保持的状态,此阶段用户的流失速度不大(斜率小) ;
(2)3-12个月的用户流失速度较大(斜率大),此时所有用户都处于快速流失阶段;
(3)12个月之后的用户生存概率几乎不变,流失速度几乎未0(斜率几乎未0),用户高粘性,对平台已是忠实用户。
根据上述表现可知:要特殊关注3-12个月用户在平台的体验,必要时刻采取特殊手段延续他们的生存时间,这部分用户潜力很大,一旦成为12月+的留存用户,用户整体对平台的依赖度、忠实度会更高。
除了数据生存时间(Y)、是否死亡(N)2个变量外,还可以加入X变量(比如下图:是否会员)观测不同组别下,用户的生存时间和存活概率的关系。
由上图可知:会员的生存曲线在非会员生存曲线之上,非会员用户更容易流失。从而可以针对不同类型用户的生存曲线,做对应的干预动作,实现精细化运营。
4. 量化分析
到这里可能大家会问:生存分析能否量化不同的影响因素(性别、年龄、是否会员、最大消费金额、最大购买间隔天数)对用户生存时间的影响?
答案是可以!
(此时会用到COX回归等,对理论感兴趣的同学可查阅附录中的参考文献)
生存分析可以针对不同影响因素建立回归方式,最后输出如下结果:
影响因素 | 影响因子 |
会员_是 | 1.8 |
评论_是 | 2.1 |
最大购买间隔天数 | 0.8 |
最大消费金额 | 1.3 |
(1)[会员_是]因素的影响因子为1.8,含义:会员的生存天数是非会员的1.8倍;
(2)[最大购买间隔天数]因素的影响因子是0.8,含义:最大购买间隔天数每增加1天,用户的平均生存天数减少0.2天。
其中评论的影响因子(2.1)高于会员影响因子(1.8),是提升用户生存时间ROI较高的因素。
总结
生存分析不仅可以应用于传统的医学领域,还能应用于研究用户流失与时间的关系、用户转化与时间的关系分析、用户点击与时间的关系、商品衰退与时间的关系,只要有特定事件和时间,生存分析无处不在。
以用户流失分析为例,生存分析方法能提供不同影响因子(性别、年龄、消费力水平、促销力度等)下,不同时间截点下、用户发生流失的概率。从而指导业务在不同时间阶段、针对不同类型用户、进行不同的干预动作,提升用户生存时间,防止流失。
生存分析在用户流失等场景的应用,笔者还在探索阶段,大家如果有相关想法和建议,欢迎在评论区留言探讨~~
参考文献:
《Clinical Statistics》,https://book.douban.com/subject/4699839/
Kylin,网易严选数据分析师,喜欢用数据来探索世界。主要负责流量分发、商品分析相关工作。