APP推广合作
联系“鸟哥笔记小乔”
不会机器学习,用这个模型照样可以预测用户流失!
2017-11-02 11:14:00

本文通过结合统计学知识,可以计算各个连续不活跃月份数(0-12)下的用户流失概率,从而预测用户流失。

简单来说,用户流失率是指用户的流失数量与全部使用/消费产品(或服务)用户的数量的比例,是用户流失的定量表述,以及判断用户流失的主要指标,直接反映了产品的市场接受程度如何,以及运营工作的好坏。


一般来说,这个指标用在“订阅型产品”的情形居多,如信息订阅类 App “锤子阅读”、绝大多数的在线 SaaS 产品,甚至传统的牛奶订购。

由于留住当前的用户要比获取新用户来的划算,所以预测流失率的目标在于,预测用户将会在哪个时间点离开(在订阅期结束前),在合适的时间点对这些用户施加影响,挽留他们。

如通过短信、邮件或APP,利用超低价商品吸引回访或者专属优惠券等,这些策略对于一些流失用户是很有效的!

接下来,笔者将利用简单的统计学知识,介绍一种基于用户不活跃记录的用户流失预测模型。

该模型在不使用机器学习算法的情况下,可以给出一个容易理解的用户流失预测,以便我们对将要离开的用户有一个相当准确的洞察。

废话不多说,进入正题吧~

01  用户活跃的操作性定义

在我们正式开始预测用户流失率之前,我们需要记录用户的历史活跃情况。做这个的目的在于,了解用户是否在使用我们的产品或服务。

那么,问题就来了,用户的“活跃”该做怎样的操作性定义(即根据可观察、可测量、可操作的特征来界定变量含义的方法)?

实际上,“用户活跃”的定义取决于你的业务背景,跟产品或者服务场景密切相关,不同类型的产品对“用户活跃”有不同的定义。

以新浪微舆情的“信息监测”为例,它是一款订阅型的大数据产品,用户通过各种关键词的组合检索到信息后,然后选择邮件或者客户端订阅,按照自定义的接收频次来收取订阅信息。


对于这款数据产品来说,用户的活跃可以这样定义——如果一个用户是活跃的,那么在指定时间段内(分析单位取决于分析者,可以是天、周、月、季度或年),应该包含如下付费、使用或者互动行为:

  • 该用户对“信息监测”的订阅尚未过期;
  • 该用户在web端或者移动端登录产品页面;
  • 该用户使用了产品的部分或全部功能,如基于信息源或者地域的定向监测功能;
  • 该用户在此期间产生了一些消费,如文本数据下载、订阅续费等;
  • 该用户在此期间对该产品有各种反馈,包括投诉。
        ……

对于这款产品来说,以月份为单位来分析用户行为是很有意义的——因为该产品最短的订阅期是一个月,最长的订阅期是一年。

一旦清晰的界定了“用户活跃”的定义,我们就可以用这些操作性定义来对每个月份的用户(不)活跃情况进行编码,利用二进制值(0,1)——假如在X月份,用户是活跃的,将ta的活跃值设定为 1 ,否则设定为 0 。
 
02  建立“用户不活跃档案”

现在,对于每位用户,我们有了一个以月为单位的“活跃标记”,接下来我们以此为基础,建立起“用户不活跃档案”。这意味着,对于每个用户,笔者想对他们连续不活跃的月份数进行计数统计

在这里,笔者选择了一年的“分析窗口”(也就是把12个月作为分析的时间范围),将“活跃档案”和“不活跃档案”以表格的形式呈现——蓝色表单显示每位用户在各个月份上的活跃记录,绿色表单则显示用户的不活跃记录。

根据用户在此时间段内可能出现的活跃情形,笔者枚举出3种典型用户,如下表所示:

用户A:

该用户在刚进入“分析窗口”时是活跃的,然而在5月变得不活跃(也就是说,5月份是第一个不活跃的月份)。接下来,这个用户的不活跃状态持续到了12月,也就一直持续到了“分析窗口”的末尾。

因此,从5月到12月,“用户不活跃档案”对用户连续不活跃的月份进行逐月累加的计数统计。

用户B:

跟用户A一样,该用户刚开始也是活跃的。不同的是,该用户在3~6月期间是不活跃的,在7月仅维持了一个月的活跃状态, 接着在8月和9月又进入不活跃状态,最后在“分析窗口”的10月,11月和12月又回到活跃状态。

在这种情况下,每当用户由不活跃状态返回活跃状态时,前面的不活跃月份计数需要重置。也就是说,当我们再次对该用户的连续不活跃月份进行计数时,需要重新从1开始计数,前面的不活跃月份计数不再累加。

用户C:

与上述提及的两类用户不同,该用户刚进入“分析窗口”时,是不活跃的状态。

这种情形的发生,可能是用户的订阅早已过期(最好在正式分析前排除这种情形,因为很难处理),或者该用户在“分析窗口”开始前就是不活跃的。因为我们看不到“分析窗口”前的用户活跃情况,所以用户在此之前的活跃状态,我们是不了解的。

鉴于此状况,我们对这些月份进行特殊的标记——使用 -1 标记用户C头几个不活跃的月份。该用户其他的不活跃情形,可以参照前面两类用户方式进行计数。

Note:后面绿色的表单,也就是“用户不活跃档案”,才是我们接下来建立用户流失模型所需要关注的数据。

03  构建用户流失模型

有了上述的关于用户不活跃的操作性定义,我们就可以在“分析窗口”内(1月份到12月份)以月份为单位,对从0到12的连续不活跃月份数上的用户数量进行计数统计。

这个步骤可以通过数据透视表实现——通过聚合每个月、每个不活跃级别的用户数量。

 如下表所示:


上表中,从列的方向上来看,每个单元格的数值表示每个月的连续不活跃X个月的用户的数量

举个例子来说,上表中第一个高亮数值(574),代表1月份已经不活跃1个月的用户数量,该数值来自于前面 12 月份的 4815 个活跃用户。第二个高亮数值(425)表示在 2 月份已经连续不活跃 2 个月的用户数量—— 425 来自于 574(1月份不活跃1个月的用户数,它是 2 月份不活跃 2 个月的用户数的基数)。

值得注意的是,第一行的 0 个连续不活跃月份数,其实表示的是基数中活跃用户的数量。

使用这些数据,我们可以计算出在“分析窗口”内,每个月连续不活跃月份数的用户占比情况

如下面的绿色表格所示:


上表中,高亮的数值(74%)表示2月份已经连续2个月不活跃的用户占比。该百分比是这样计算得到的:


笔者想获得最具代表性的数值,由此可以对分析窗口的最末4个月(9月,10月,11月和12月)取平均值。

我们可能没有足够的数据去计算这些平均值(比如10月份,11月份和12月份)——在这种情况下,我们取所有可用数值的平均值(用于计算平均值的数值区域以红色线框标记):


04  计算用户流失概率

哈哈,如果你还在看这篇文章,那么恭喜你!我们将要探讨最激动人心的部分!在这部分,我们将用上一点统计学的小知识。

让我们回顾一下本文的终极目标——计算各个连续不活跃月份数(0-12)下的用户流失概率

也就是说,如果某个用户已经连续 X 个月不活跃,那么这个用户接下来将要流失的可能性有多大?从数学上来说,我们可以使出贝叶斯公式这个大杀器来计算用户流失率。

贝叶斯公式尽管是一个数学公式,但它的原理不要数字也能明了:如果你看到一个人总是做一些好事,则那个人多半会是一个好人。

这就是说,当你不能准确知悉一个事物的本质时,你可以依靠与事物特定本质相关的事件出现的多少去判断其本质属性的概率。用数学语言表达就是:支持某项属性的事件发生得愈多,则该属性成立的可能性就愈大。它的数学形式如下:


在这里,P是概率,A和B都代表事件(event),同时P(B)≠0。P(A)和P(B) 分别代表A和B的先验概率或边缘概率。

之所以称为"先验"是因为它不考虑任何A(B)方面的因素。P(A|B)是已知B发生后A的条件概率,也由于得自B的取值而被称作A的后验概率。P(B|A)是已知A发生后B的条件概率,也由于得自A的取值而被称作B的后验概率。

在本案例中,对应的公式如下所示:


然并卵,上面公式里有一项是没啥意义的——P(连续X个月不活跃|流失),它的含义是“在已经流失的情况下,连续X个月不活跃的概率”。

试想一下,假如你已经流失掉了,你不可能是一个不活跃的状态,这个概率值是没有啥业务意义的。鉴于此种情形,笔者果断抛弃这一项(谨记!)。

由此,我们得到了一个终极版的流失率计算公式:


接下来,让我们看看公式右端的两项(分子和分母),然后计算它们在每个不活跃月份上的数值,进而得到我们想要的用户流失概率值(注意,它是一个条件概率值,也就是在连续不活跃X个月的情况下的用户流失概率)。

先说说分母,P(连续X个月不活跃)是笔者之前计算过的数值---最后4个月的用户占比平均值:

P(1) = 19%
P(2) = 81%
P(3) = 89%
P(4) = 92%
P(5) = 93%
P(6) = 95%
P(7) = 96%
P(8) = 97%

接下来,我们再来通过例子求解分子P(流失)。

首先,1个月不活跃的用户的流失概率P(C1)是多少呢?对于这些将要流失的用户,他们将要连续性的不活跃的月份数已经在我们所考虑的集合之内了,换言之,这些用户将要不活跃的月份数为1个月,2个月,3个月,…,。

因而,我们这样定义已经不活跃1个月的用户的流失概率P(C1)


现在, 以同样的方式, 持续2个月不活跃的用户的 P(流失) ,也就是P(C2)是多少呢?对于这些将要流失的用户,他们将要持续性的不活跃,2个月,3个月,4个月,…,12个月。

因而,我们这样定义已经连续不活跃2个月的用户的流失概率P(C2):


通过归纳和演绎,我们以同样的方式来计算每个不活跃月份的用户流失概率:


在这里,n是连续不活跃月份数的极限值,而我们发现,这个概率是稳定的。从上面的表单里可以到,这个发生在第7个连续的月份,这里的概率值维持在95~96%。

简化起见,我们假设,在连续月份上不活跃是相互独立的事件。

此时, P(A ∩ B )= P(A)* P(B)。因而,我们可以采用如下的公式:



现在,我们已经算出了每个不活跃月份概率对应的分子和分母,那我们就可以启动最后一步——算出每个各个连续不活跃月份数的用户流失概率。

先前我们已经讨论过了,n的值为7。


最终的计算结果如下表所示:


请注意,活跃用户(也就是第一行连续0个月不活跃的情形)的流失率由P(1) Ⅹ P(2) Ⅹ P(3) Ⅹ P(4) Ⅹ … Ⅹ P(7)计算得出。这里我们并没有除以任何值,这是因为——当用户处于活跃状态时, P(连续0个月不活跃)为1。

最后,我们还可用一条流失率曲线来直观的反映流失率的变化情况,由此决定对非活跃用户进行挽留操作的最佳时机,该曲线所下图所示:


05  结语

在本文中,笔者并没有提供该模型批量化使用的具体执行细节,假若你理解了这个模型建立的逻辑,那么你可以使用SQL、Python,甚至是Excel来实现它。

此外,在实践中,这个模型最好是分不同的用户群进行运行。在本文中,笔者仅仅在某一类用户上运行,然而,根据不同的标准来划分用户群体会对实际业务更有意义。

比如,你可以根据用户价值进行划分,然后对每个用户子群体进行用户流失预测。当然,笔者只是在月份的尺度上进行用户流失分析,但是,对于很多业务场景,更细粒度的分析视角可能更有意义,比如按周和按天。

 
参考资料:
1 维基百科“Customer ChurnRate”词条,https://en.wikipedia.org/wiki/%E9%A1%BE%E5%AE%A2%E6%B5%81%E5%A4%B1%E7%8E%87
2 维基百科“贝叶斯定理”词条,https://zh.wikipedia.org/wiki/%E8%B4%9D%E5%8F%B6%E6%96%AF%E5%AE%9A%E7%90%86
3 PredictingChurn without Machine Learning,http://jonathansacramento.com/posts/20170416_churn_model.html
4 新浪微舆情“信息监测”,http://wyq.sina.com/keyword.shtml

作者:苏格兰折耳喵
来源:鸟哥笔记(ID:niaoge8)
本文为作者授权鸟哥笔记发布,转载请联系作者并注明出处。
运营那些事儿
分享到朋友圈
收藏
收藏
评分

综合评分:

我的评分
Xinstall 15天会员特权
Xinstall是专业的数据分析服务商,帮企业追踪渠道安装来源、裂变拉新统计、广告流量指导等,广泛应用于广告效果统计、APP地推与CPS/CPA归属统计等方面。
20羽毛
立即兑换
一书一课30天会员体验卡
领30天VIP会员,110+门职场大课,250+本精读好书免费学!助你提升职场力!
20羽毛
立即兑换
顺丰同城急送全国通用20元优惠券
顺丰同城急送是顺丰推出的平均1小时送全城的即时快送服务,专业安全,准时送达!
30羽毛
立即兑换
运营那些事儿
运营那些事儿
发表文章39394
确认要消耗 羽毛购买
不会机器学习,用这个模型照样可以预测用户流失!吗?
考虑一下
很遗憾,羽毛不足
我知道了

我们致力于提供一个高质量内容的交流平台。为落实国家互联网信息办公室“依法管网、依法办网、依法上网”的要求,为完善跟帖评论自律管理,为了保护用户创造的内容、维护开放、真实、专业的平台氛围,我们团队将依据本公约中的条款对注册用户和发布在本平台的内容进行管理。平台鼓励用户创作、发布优质内容,同时也将采取必要措施管理违法、侵权或有其他不良影响的网络信息。


一、根据《网络信息内容生态治理规定》《中华人民共和国未成年人保护法》等法律法规,对以下违法、不良信息或存在危害的行为进行处理。
1. 违反法律法规的信息,主要表现为:
    1)反对宪法所确定的基本原则;
    2)危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一,损害国家荣誉和利益;
    3)侮辱、滥用英烈形象,歪曲、丑化、亵渎、否定英雄烈士事迹和精神,以侮辱、诽谤或者其他方式侵害英雄烈士的姓名、肖像、名誉、荣誉;
    4)宣扬恐怖主义、极端主义或者煽动实施恐怖活动、极端主义活动;
    5)煽动民族仇恨、民族歧视,破坏民族团结;
    6)破坏国家宗教政策,宣扬邪教和封建迷信;
    7)散布谣言,扰乱社会秩序,破坏社会稳定;
    8)宣扬淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪;
    9)煽动非法集会、结社、游行、示威、聚众扰乱社会秩序;
    10)侮辱或者诽谤他人,侵害他人名誉、隐私和其他合法权益;
    11)通过网络以文字、图片、音视频等形式,对未成年人实施侮辱、诽谤、威胁或者恶意损害未成年人形象进行网络欺凌的;
    12)危害未成年人身心健康的;
    13)含有法律、行政法规禁止的其他内容;


2. 不友善:不尊重用户及其所贡献内容的信息或行为。主要表现为:
    1)轻蔑:贬低、轻视他人及其劳动成果;
    2)诽谤:捏造、散布虚假事实,损害他人名誉;
    3)嘲讽:以比喻、夸张、侮辱性的手法对他人或其行为进行揭露或描述,以此来激怒他人;
    4)挑衅:以不友好的方式激怒他人,意图使对方对自己的言论作出回应,蓄意制造事端;
    5)羞辱:贬低他人的能力、行为、生理或身份特征,让对方难堪;
    6)谩骂:以不文明的语言对他人进行负面评价;
    7)歧视:煽动人群歧视、地域歧视等,针对他人的民族、种族、宗教、性取向、性别、年龄、地域、生理特征等身份或者归类的攻击;
    8)威胁:许诺以不良的后果来迫使他人服从自己的意志;


3. 发布垃圾广告信息:以推广曝光为目的,发布影响用户体验、扰乱本网站秩序的内容,或进行相关行为。主要表现为:
    1)多次发布包含售卖产品、提供服务、宣传推广内容的垃圾广告。包括但不限于以下几种形式:
    2)单个帐号多次发布包含垃圾广告的内容;
    3)多个广告帐号互相配合发布、传播包含垃圾广告的内容;
    4)多次发布包含欺骗性外链的内容,如未注明的淘宝客链接、跳转网站等,诱骗用户点击链接
    5)发布大量包含推广链接、产品、品牌等内容获取搜索引擎中的不正当曝光;
    6)购买或出售帐号之间虚假地互动,发布干扰网站秩序的推广内容及相关交易。
    7)发布包含欺骗性的恶意营销内容,如通过伪造经历、冒充他人等方式进行恶意营销;
    8)使用特殊符号、图片等方式规避垃圾广告内容审核的广告内容。


4. 色情低俗信息,主要表现为:
    1)包含自己或他人性经验的细节描述或露骨的感受描述;
    2)涉及色情段子、两性笑话的低俗内容;
    3)配图、头图中包含庸俗或挑逗性图片的内容;
    4)带有性暗示、性挑逗等易使人产生性联想;
    5)展现血腥、惊悚、残忍等致人身心不适;
    6)炒作绯闻、丑闻、劣迹等;
    7)宣扬低俗、庸俗、媚俗内容。


5. 不实信息,主要表现为:
    1)可能存在事实性错误或者造谣等内容;
    2)存在事实夸大、伪造虚假经历等误导他人的内容;
    3)伪造身份、冒充他人,通过头像、用户名等个人信息暗示自己具有特定身份,或与特定机构或个人存在关联。


6. 传播封建迷信,主要表现为:
    1)找人算命、测字、占卜、解梦、化解厄运、使用迷信方式治病;
    2)求推荐算命看相大师;
    3)针对具体风水等问题进行求助或咨询;
    4)问自己或他人的八字、六爻、星盘、手相、面相、五行缺失,包括通过占卜方法问婚姻、前程、运势,东西宠物丢了能不能找回、取名改名等;


7. 文章标题党,主要表现为:
    1)以各种夸张、猎奇、不合常理的表现手法等行为来诱导用户;
    2)内容与标题之间存在严重不实或者原意扭曲;
    3)使用夸张标题,内容与标题严重不符的。


8.「饭圈」乱象行为,主要表现为:
    1)诱导未成年人应援集资、高额消费、投票打榜
    2)粉丝互撕谩骂、拉踩引战、造谣攻击、人肉搜索、侵犯隐私
    3)鼓动「饭圈」粉丝攀比炫富、奢靡享乐等行为
    4)以号召粉丝、雇用网络水军、「养号」形式刷量控评等行为
    5)通过「蹭热点」、制造话题等形式干扰舆论,影响传播秩序


9. 其他危害行为或内容,主要表现为:
    1)可能引发未成年人模仿不安全行为和违反社会公德行为、诱导未成年人不良嗜好影响未成年人身心健康的;
    2)不当评述自然灾害、重大事故等灾难的;
    3)美化、粉饰侵略战争行为的;
    4)法律、行政法规禁止,或可能对网络生态造成不良影响的其他内容。


二、违规处罚
本网站通过主动发现和接受用户举报两种方式收集违规行为信息。所有有意的降低内容质量、伤害平台氛围及欺凌未成年人或危害未成年人身心健康的行为都是不能容忍的。
当一个用户发布违规内容时,本网站将依据相关用户违规情节严重程度,对帐号进行禁言 1 天、7 天、15 天直至永久禁言或封停账号的处罚。当涉及欺凌未成年人、危害未成年人身心健康、通过作弊手段注册、使用帐号,或者滥用多个帐号发布违规内容时,本网站将加重处罚。


三、申诉
随着平台管理经验的不断丰富,本网站出于维护本网站氛围和秩序的目的,将不断完善本公约。
如果本网站用户对本网站基于本公约规定做出的处理有异议,可以通过「建议反馈」功能向本网站进行反馈。
(规则的最终解释权归属本网站所有)

我知道了
恭喜你~答对了
+5羽毛
下一次认真读哦
成功推荐给其他人
+ 10羽毛
评论成功且进入审核!审核通过后,您将获得10羽毛的奖励。分享本文章给好友阅读最高再得15羽毛~
(羽毛可至 "羽毛精选" 兑换礼品)
好友微信扫一扫
复制链接