如何预估一个产品的日活(DAU)?

96
蛋蛋爱忧伤
3.0 2018.09.16 16:21* 字数 1647

20190601更新说明:欢迎大家关注我的微信公众号:南村小付,一起交流。

20190328更新说明:文末有直接计算的工具

hello,大家好,我是蛋蛋。这段时间,经常有人问到以下的问题:

1、按照现在的推广和留存,我们在未来最多能到达多少日活?
2、为了三个月后达到预定的日活,我们需要每天都少推广?
3、一个产品在某个国家,得达到多少留存之后,推广和收益才能打正(ROI为正)?

其实这些问题本质上,都是在回答一个问题,即如何预估一个产品的日活?问题应该有很多解法,提供一个简单思路,总结如下。

日活会受到很多因素的影响,产品迭代,运营活动,推广的变化等等都会影响到日活。当然这些因素中,有的影响较小,有的暂时无法预估,因此在预测的过程中,我们可以将一些影响不大的因素,剔除出去,从而简化得到一个可计算的状态。(这个简化到可计算的过程中,其实就叫数学建模。)

因此为了计算,我们首先构建日活的一个简单数学模型。

建立日活的数学模型

影响日活的因素中,最本质的其实是两个,一个是每日新增用户数,一个是新增用户的留存率。某一天的日活,我们可以看作是,当天的新增,加上前一天的新增的次日留存用户,再加上大前天的新增的二日留存用户,......,以此类推,我们可以认为日活是“当天的新增用户和此前每一天新增用户在当天的留存用户之和”,基于此,我们可以用一个很简单的公式表达日活。
DAU\left ( n \right )= A\left ( n \right )+A\left ( n-1 \right )\ast R\left ( 1 \right )+A\left ( n-2 \right )\ast R\left ( 2 \right )+...+A\left ( 2 \right )\ast R\left ( n-2 \right )+A\left ( 1 \right )\ast R\left ( n-1 \right )
其中,DAU\left ( n \right )为第n天的日活,A\left ( n \right )为第n天的新增,R\left ( n-1\right )为新增用户在第n-1天后的留存率。如果我们假设,每日用户的新增是一个固定的数值A,则公式可简写为
DAU\left ( n \right )= A\left ( 1+R\left ( 1 \right )+ R\left ( 2 \right )+...+R\left ( n-1\right )\right )=A\sum_{i=0}^{n-1}R\left ( i \right )

上述公式可以看成是日活的一个简单的数学模型。从这个模型中,我们可以看出,新增A是一个较为确定的数值,另一部分\sum_{i=0}^{n-1}R\left ( i \right ),留存之和的确定稍微有些麻烦。可以用下述的方法,预估留存。

如何预估留存

留存率是一个产品最为核心的指标了,下图是一个产品的留存率衰减曲线


1-30日留存率衰减曲线

由图中,我们可以看出,留存率的衰减曲线,非常类似幂函数的曲线,其实,在业内绝大部分产品的留存衰减曲线,基本都是符合幂函数曲线。

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

1、已经知道了若干天的留存,预估后续的留存?
2、不知道具体每天的留存,只知道次留,周留,月留存等数据,预估每一天的留存

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

step1 假设我们知道了一个产品次日留存,7日留存,30留存如下

某产品若干日留存

step2 在excel中按照对应留存天数,写出留存率,并画出散点图

留存散点图

step3 在excel图表对上述散点添加趋势线,并在趋势线选项中,选择幂函数,并选择显示幂函数公式
基于散点拟合曲线

得到的幂函数为y=0.4861*x^-0.435,其中x为对应的天数,y为对应天数的留存率。

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

计算得到预估的日活

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

DAU\left ( n \right )= A\left ( 1+R\left ( 1 \right )+ R\left ( 2 \right )+...+R\left ( n-1\right )\right )=A\sum_{i=0}^{n-1}R\left ( i \right )

这样就可以通过预估的每日新增,得到在未来第n天日活所处的水平。

总结&后记

以上通过简化日活模型,仅考虑新增和留存对于日活的影响(其它影响,也都是通过新增和留存间接对日活产生影响的),可以粗略的估算出未来一段时间的产品日活规模。进而通过日活的规模,再去估算一些潜在收益,以及运营成本等等数据。上述计算一定存在误差,并且不能满足所有的场景,但整体的思路可以作为参考,应该能搞解决大部分相关问题了。

感觉已经很久没有写东西了,这半年一直在做内容相关的事情,试了很多方式,找到了一些行之有效的办法,希望后面有空能总结出来。

20190328日更新

文章发布一段时间后,一直有很多人咨询我怎么计算,为了解决大家的困扰,我们做了一个小程序,输入新增,留存等数据直接预估日活,计算方法就是本文的计算方式,


20190601日更新
想咨询详细计算的,可关注我的公众号:南村小付,沟通交流。

产品那些事