第2章 用户增长模型

2.1 搭建用户增长模型

在开始着手做用户增长之前,我们要明白用户增长是一个用户数量从少到多的过程。我们只有认真地研究这个过程、了解这个过程,才能知道如何着手做用户增长。了解用户增长的过程,就像在修理一些机械系统时,只有知道所有部件之间的关系,才能在系统遇到问题时拆解和修理,做用户增长的方法也与此类似。

那么,我们应该如何研究用户增长过程呢?首先,我们需要尝试描述这个过程。我们在描述一些现实过程时,会用到数学建模的方法,通过科学的假设把一个复杂的物理系统、社会学过程转化成一个可定量计算的数学系统。

如图 2-1 所示,数学建模就是根据实际问题建立数学模型,对数学模型进行求解,然后根据结果解决实际问题。当需要从定量的角度分析和研究一个实际问题时,我们就要在深入调查研究、了解对象信息、做出简化假设、分析内在规律等工作的基础上,用数学符号和语言建立数学模型。

图2-1 数学建模系统

我们可以尝试对用户增长过程进行数学建模。当我们掌握用户增长模型后,就能从中发现很多用户增长的方法。那么如何对用户增长过程进行数学建模的描述呢?我们先从一个“老板的问题”出发。

2.1.1 从“老板的问题”出发

如果你是一名产品经理或者与用户增长相关的运营经理、渠道经理,那么在日常工作中,特别是在项目立项、项目定期回顾和确定目标的时候经常会被老板问到下列问题:

· 我们在未来三个月能达到多少日活?

· 需要花多少推广成本才能达到××万日活?

· 什么时候我们才能让投资回报率大于1?

· 我们现在遇到的最大增长瓶颈是什么?

其实不只是老板,在项目的迭代过程中,与我们一起工作的同事甚至我们自己也会经常问这些问题。这些问题在本质上都是与用户增长相关的。在一个产品生命周期中,我们都必须经常面对和考虑这些问题。

要想很好地回答这些问题,我们必须理解用户增长过程的本质,需要能准确分析和描述用户增长的过程,也就是前面提到的用户增长过程建模。

在知道了用户增长的模型,并且能够分析和预测用户增长的过程后,自然就能知道在未来可以达到多少日活,也可以根据日活目标倒推出需要花费的成本。同样,当知道日活后,每日的收入和成本数据自然也是容易知道的。最后,我们也可以发现遇到的增长瓶颈是什么。

因此,所有的问题最终都指向另一个问题—用户增长的模型是什么?只有了解了这个模型才能更有效地回答“老板的问题”,并且真正地解决这些在用户增长中遇到的问题。

在进行用户增长的数学建模之前,我们必须对用户增长中的“用户”有更深入的理解。用户增长的衡量标准在很多时候就是日活,它是用户增长的重要衡量标准。对互联网有一些了解的人在听到日活时,会很自然地想到每日的活跃用户,但是这个定义是有歧义的。我们先来更深地了解日活是如何定义和计算的,这是对用户增长进行建模的概念前提。

2.1.2 重新认知用户增长的衡量标准—日活

几乎所有的公司和产品都会用日活数据衡量一个产品的增长情况。日活是我们做用户增长需要重点追逐的目标,很多公司甚至直接把日活作为公司的目标。比如,2019年6月18日,快手CEO宿华在给员工的内部信中,明确地给出了用户增长的目标:在2020年春节之前达到3亿日活。在互联网“红海”的今天,日活代表着产品的市场规模,在一定程度上也代表着产品价值或公司估值。很多风投机构在对创业公司进行估值时,就用创业公司产品的日活乘以一个固定的用户价值系数得出。

日活是日活跃用户数的简称。这是我们感性的认识,那么我们从数据后台或者数据日报中看到的日活数据到底是怎么被计算出来的呢?日活在本质上是一个统计数据,和我们统计一个按钮的每天点击人数是一样的。不过对于日活的统计维度,很多产品和公司是不太一样的。日活一般分为后台日活、前台日活和行为日活。

后台日活一般将所有在后台有行为的日志都算作日活的范围。我们都知道,很多App在我们没有主动打开时,特别是在Android系统上,会偶尔向后台发送一些请求,做一些缓存或者推送的准备,所有这些行为都会被算在后台日活的统计范围里。

前台日活和后台日活最大的不同就是统计的日志范围不一样,前台日活的统计日志一般仅包括用户主动打开App、展示了前台界面元素、在App内做过实际操作等。由此,我们知道后台日活一般比前台日活大得多,并且前台日活才有实际意义,单纯的后台日活意义不大。因为前台日活才代表用户真正使用了产品,而后台日活则不一定。之前出现过一些公司为了提高公司估值,直接用后台日活作为产品日活。

除了后台日活和前台日活,还会有一些单纯的行为日活,这是在更细致地分析产品功能时才会使用的。比如,快手除了统计一般意义上的前台日活,还会统计拍摄视频用户的日活、进行直播用户的日活等,这些具体的行为日活,是更细化反映产品各个功能的使用情况的统计,在数据分析中有着独特的意义,后续章节会更详细地讨论细分日活的意义。这里以某短视频App为例,列举各种日活的定义,如表2-1所示。

表2-1 某短视频App日活示例

通过上述分析,我们知道了日活的定义以及不同定义之间的区别。因为不同产品的用户行为不太一样,为了更广泛地讨论,本书所讨论的日活在没有特殊前缀下专指App的前台日活,即一般意义上的用户主动使用过产品的日活。

2.1.3 搭建用户增长模型

在开始对用户增长进行数学建模前,我们需要知道增长或者日活的影响因素有哪些、哪些因素对日活影响较大,以及哪些因素对用户增长的影响不大可以忽略。

从较大的方面来看,影响日活的第一个因素是每日的新增用户,这是所有活跃的源头。在理想情况下,如果每日的新增用户在后续的时间里每天都活跃,那么日活就是累计的新增用户数量之和,也就是累计的安装用户数量。

当然,这种情况在现实中并不存在,新增用户在使用过产品后,在自然情况下不可能所有的用户每天都能再使用产品。在这些用户中,有的人在首次使用后并不觉得每天都需要使用,这种的就是典型的低活跃用户;还有部分用户在使用过几次之后就再也不回来了,这种的是流失用户。

因此,影响日活的另一个重要因素就是用户流失。因此,我们可以定性地把日活比作图 2-2 所示的水池系统中水位的高度,进水口相当于源源不断的新增用户,出水口就是流失用户,水位的变化过程就是用户增长的过程。

图2-2 水池系统

当流入量大于流出量的时候,水位就会上涨,即日活增长。当流出量大于流入量的时候,水位就会下降,即日活下降。当两者相等的时候,水位保持不变,日活就保持不变。因此,我们可以知道,要想日活增长,流入量必须大于流出量。

日活是由流入量和流出量组成的,更细化地说,在每天的日活中都有着之前所有天的新增流入,也有着之前所有天的流失。从这个角度分析,我们可以尝试建立一个与水池模型相比更准确的数学模型。

在前面提到,每天的日活中有着之前所有天的流失量,那么如何定义这种流失呢?其实这就是留存的概念。昨天的新增用户今天流失了一部分,剩下的就是一日留存用户,即次日留存用户,前天的用户在今天剩下的就是二日留存用户,以此类推,我们就可以用多日留存用户的概念描述用户的流失了。

基于此,某一天的日活的组成,我们可以看作当天的新增用户加上前一天新增的次日留存用户,再加上大前天新增的二日留存用户……以此类推,我们可以认为日活是“当天的新增用户和此前每一天新增且在当天留存的用户之和基于此,我们可以用一个很简单的公式表达日活:

DAU(n)=An)+An-1)× R(1)+An-2)× R(2)+…+A(2)× Rn-2)+A(1)× Rn-1)式中,DAU(n)为第n天的日活, An)为第n天的新增用户数, Rn-1)为新增用户在第n-1天后的留存率。

假设每日的新增用户数是一个固定的数值A,则公式可简写为

上述公式就是日活的一个简单的数学模型。从这个模型中可以看出,日活主要由两个部分组成,一部分是新增用户数A,另一部分为留存率之和。

2.1.4 回答老板的问题

在上一节中我们分析并搭建了用户增长的数学模型,基于此,便可以回答老板的问题:我们的产品在未来能达到多少日活?

在用户增长的数学模型中,日活有两部分,一部分是新增用户数A,另一部分为留存之和。那么,我们应该如何确定这两部分的数值呢?

1.如何确定新增用户数A

在前文中,我们已经做了一个假设,即每日的新增用户数是一个固定的数值,这在现实中通常是不太可能的。

新增用户一般由两部分组成:付费用户和自然用户。付费用户顾名思义就是付费购买产品或服务的用户;自然用户是指没有花费金钱自然安装的用户。如果付费用户的占比较大,那么每天自然新增的用户数基本可以控制在一个范围内,这是可以通过预测算出来的。

如果付费用户不多,自然用户占比较大,那么在排除新增自然用户量突然暴涨的可能后,基本可以用过去一段时间的新增用户数,比如一个月的平均新增用户数,预测后面一段时间的新增用户数,误差不会太大。

2.如何计算留存率之和

留存率是一个产品最核心的指标之一,有一些特殊的性质,图 2-3 是一个产品的留存率衰减曲线。

图2-3 留存率衰减曲线

在图 2-3 中我们可以看出,留存率衰减曲线非常像对数函数曲线。其实,绝大部分产品的留存率衰减曲线都符合对数函数曲线的特征。

因此,我们可以用对数函数近似拟合留存率衰减曲线,进而可以顺利地预估出日活模型中需要的留存率之和。一般在预估一个产品的留存率之前,要有一些先验的数据基础,如果产品已经上线了一段时间,那么可以使用历史数据作为基础;如果产品还未上线,没有历史数据,因为不同类型产品的留存率和衰减速度不太一样,所以可以用同类型产品的大概留存数据作为拟合预测的参考。因此,留存率衰减曲线拟合基本会遇到以下两种情况:

· 已经知道了若干天的留存率,预估后续的留存率;

· 不知道每天的留存率,只知道次日留存率、7 日留存率、30 日留存率等数据,预估每一天的留存率。

这两种情况在本质上属于同一个问题,这里以第二种情况为例,简单说明如何操作。曲线拟合的方法有很多,这里介绍一个最简单的方法,就是利用 Excel做一个简单的拟合计算,具体步骤如下。

第一步,假设我们知道了一个产品的次日留存率、7日留存率和30日留存率,如表2-2所示。

表2-2 产品的留存率

第二步,在 Excel 中按照对应的留存天数,写出留存率,并画出散点图,如图2-4所示。

图2-4 留存率散点图

第三步,在散点图中添加趋势线,在趋势线选项中选择指数函数,并选择显示对数函数公式。

如图 2-5 所示,在散点图中选中某一个点,然后单击鼠标右键打开快捷菜单选择“添加趋势线”命令。

图2-5 添加趋势线

随后如图 2-6 所示,在打开的“设置趋势线”面板的“趋势线选项”中选择“对数”选项,然后勾选“显示公式”和“显示R平方值”复选框。R平方值表示散点图拟合成函数后的匹配度,R平方值等于1时表现完全拟合。

图2-6 设置对数拟合

然后,我们就能得到一个基于对数函数拟合的函数曲线和R平方值。

如图2-7所示,得到的函数为y=-0.103ln(x)+0.4501,其中x为对应的天数, y为对应天数的留存率。

图2-7 拟合后的函数曲线

我们尝试利用这个函数来得到每一天的留存率,计算109天的所有留存率如图2-8所示。

从图2-8中可以看出,到80天左右的时候,函数值已经小于0了,但是留存率的值是不可能小于0的。因此,对于上述的对数函数,我们必须保证函数值大于0,修正如下:

则预测的留存率的变化曲线修正如图2-9所示。

图2-8 根据函数得到的109天的留存率曲线

图2-9 修正后的预测留存率曲线

第四步,基于得到的对数函数公式,可以求得所有对应天数的留存率。

基于得到的对数函数,算出对应的留存率之后,就可以简单求得留存率之和,代入前述的日活公式中:

这样就可以得到n天后的产品日活了,我们就可以回答老板提出的一系列问题了。同时,我们也得到了一个可量化计算的用户增长模型。

我们还需要注意,这里假设的用户增长是从0开始的,但是很多时候,我们在接触一个产品的时候,它已经有了一段时间的积累,有了一些日活。这个时候,新增部分的数据可以按照前文所说的情况处理,相当于从0开始,然后已有的存量日活用户,我们可以根据历史的活跃留存率简单乘以存量日活后加到最终的日活中。因此,日活最终比较完善的表达式应该为

式中,DAUR为存量日活, RAn)为活跃用户第n天的留存率。