作者通过简化日活模型,仅考虑新增和留存对于日活的影响(其它影响,也都是通过新增和留存间接对日活产生影响的),可以粗略的估算出未来一段时间的产品日活规模。 这段时间,经常有人问到以下的问题: 按照现在的推广和留存,我们在未来最多能到达多少日活? 为了三个月后达到预定的日活,我们需要每天多少推广? 一个产品在某个国家,得达到多少留存之后,推广和收益才能打正(ROI为正)? 其实这些问题本质上,都是在回答一个问题,即:如何预估一个产品的日活? 问题应该有很多解法,提供一个简单思路,总结如下。 日活会受到很多因素的影响,产品迭代,运营活动,推广的变化等等都会影响到日活。当然这些因素中,有的影响较小,有的暂时无法预估。因此在预测的过程中,我们可以将一些影响不大的因素,剔除出去,从而简化得到一个可计算的状态。(这个简化到可计算的过程中,其实就叫数学建模。) 因此为了计算,我们首先构建日活的一个简单数学模型。 建立日活的数学模型 影响日活的因素中,最本质的其实是两个,一个是每日新增用户数,一个是新增用户的留存率。 某一天的日活,我们可以看作是,当天的新增,加上前一天的新增的次日留存用户,再加上大前天的新增的二日留存用户…… 以此类推,我们可以认为日活是"当天的新增用户和此前每一天新增用户在当天的留存用户之和",基于此,我们可以用一个很简单的公式表达日活。 DAU(n)=A(n)+A(n-1)R(1)+A(n-2)R(2)+… …+A(1)R(n-1) 其中,DAU(n)为第n天的日活,A(n)为第n天的新增,R(n-1)为新增用户在第n-1天后的留存率。如果我们假设,每日用户的新增是一个固定的数值A,则公式可简写为: DAU(n)=A(1+R(1)+R(2)+… …+R(n-1)) 上述公式可以看成是日活的一个简单的数学模型。从这个模型中,我们可以看出,新增A是一个较为确定的数值,另一部分: 1+R(1)+R(2)+… …+R(n-1) 留存之和的确定稍微有些麻烦。可以用下述的方法,预估留存。 如何预估留存 留存率是一个产品最为核心的指标了,下图是一个产品的留存率衰减曲线 图:1-30日留存率衰减曲线 由图中,我们可以看出:留存率的衰减曲线,非常类似幂函数的曲线,其实,在业内绝大部分产品的留存衰减曲线,基本都是符合幂函数曲线。 基于此,我们可以通过幂函数来近似拟合留存率的衰减曲线,也就可以顺利的预估出日活模型中需要的留存之和。 一般在预估一个产品的留存之前,我们会有一些先验的数据基础,如果你的产品已经上线来一段时间,可以使用历史数据作为基础。如果产品还未上线,没有历史的数据,因为不同类型产品的留存和衰减速度都不太一样,因此可以用业内同类型的产品的大概留存数据作为拟合预测的参考。 因此,留存曲线拟合基本会遇到两种情况: 已经知道了若干天的留存,预估后续的留存? 不知道具体每天的留存,只知道次留,周留,月留存等数据,预估每一天的留存。 这两个情况本质上属于同一个问题,这里以第二种情况为例,简单说下如何操作。曲线拟合的方法有很多,这里我介绍一个最为简单的方式,就是利用excel来做一个简单的拟合计算,具体步骤如下: step1 假设我们知道了一个产品次日留存,7日留存,30留存如下: 某产品若干日留存 step2 在excel中按照对应留存天数,写出留存率,并画出散点图: 留存散点图 step3 在excel图表对上述散点添加趋势线,并在趋势线选项中,选择幂函数,并选择显示幂函数公式 基于散点拟合曲线 得到的幂函数为: y=0.4861*x^(-0.435),其中x为对应的天数,y为对应天数的留存率。 step4 基于得到的幂函数公式,可以求的所有对应天数的留存率。 计算得到预估的日活 基于得到的幂函数,算出对应的留存率之后,就可以简单求和得到,带入日活公式中: DAU(n)=A(1+R(1)+R(2)+… …+R(n-1)) 这样就可以通过预估的每日新增,得到在未来第n天日活所处的水平。 总结&后记 以上通过简化日活模型,仅考虑新增和留存对于日活的影响(其它影响,也都是通过新增和留存间接对日活产生影响的),可以粗略的估算出未来一段时间的产品日活规模。 进而通过日活的规模,再去估算一些潜在收益,以及运营成本等等数据。上述计算一定存在误差,并且不能满足所有的场景,但整体的思路可以作为参考,应该能搞解决大部分相关问题了。 我们做了一个小程序,输入新增,留存等数据直接预估日活,计算方法就是本文的计算方式。