mysql日活统计函数_如何通过简化日活模型,预估一个产品的日活(DAU)?

本文笔者通过简化日活模型,粗略地估算出未来一段时间的产品日活规模。进而通过日活的规模,再去估算一些潜在收益,以及运营成本等等数据。

298e2cb91a6e4ee5f7b8c4b95f9ad787.gif

这段时间,经常有人问到以下的问题:按照现在的推广和留存,我们在未来最多能到达多少日活?

为了三个月后达到预定的日活,我们需要每天都少推广?

一个产品在某个国家,得达到多少留存之后,推广和收益才能打正(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)

留存之和的确定稍微有些麻烦。可以用下述的方法,预估留存。

如何预估留存

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

298e2cb91a6e4ee5f7b8c4b95f9ad787.gif

1-30日留存率衰减曲线

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

基于此,我们可以通过幂函数来近似拟合留存率的衰减曲线,也就可以顺利的预估出日活模型中需要的留存之和。

一般在预估一个产品的留存之前,我们会有一些先验的数据基础,如果你的产品已经上线来一段时间,可以使用历史数据作为基础。如果产品还未上线,没有历史的数据,因为不同类型产品的留存和衰减速度都不太一样,因此可以用业内同类型的产品的大概留存数据作为拟合预测的参考。

因此,留存曲线拟合基本会遇到两种情况:已经知道了若干天的留存,预估后续的留存?

不知道具体每天的留存,只知道次留,周留,月留存等数据,预估每一天的留存。

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

step1

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

298e2cb91a6e4ee5f7b8c4b95f9ad787.gif

某产品若干日留存

step2

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

298e2cb91a6e4ee5f7b8c4b95f9ad787.gif

留存散点图

step3

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

298e2cb91a6e4ee5f7b8c4b95f9ad787.gif

基于散点拟合曲线

得到的幂函数为:

y=0.4861*x^(-0.435),其中x为对应的天数,y为对应天数的留存率。

step4

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

计算得到预估的日活

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

DAU(n)=A(1+R(1)+R(2)+… …+R(n-1))

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

总结&后记

以上通过简化日活模型,仅考虑新增和留存对于日活的影响(其它影响,也都是通过新增和留存间接对日活产生影响的),可以粗略的估算出未来一段时间的产品日活规模。

进而通过日活的规模,再去估算一些潜在收益,以及运营成本等等数据。上述计算一定存在误差,并且不能满足所有的场景,但整体的思路可以作为参考,应该能搞解决大部分相关问题了。

我们做了一个小程序,输入新增,留存等数据直接预估日活,计算方法就是本文的计算方式。

作者:南村小付,微信公众号:南村小付,快手高级产品经理,曾任职阿里,欢聚时代,7年互联网产品设计运营经验。

本文由用户@青峰侠发布于新媒体运营,未经许可,禁止转载。

题图来自Unsplash, 基于CC0协议。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357779.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

罐中研讨会:设置JBoss BPM Suite全天研讨会

是否在寻找一种简单的方法来宣传,展示或演示JBoss业务流程管理套件(BPM Suite)产品的入门难度? 别无所求,因为我们召集了这个研讨会,因此您可以围绕JBoss BPM Suite构建一个晚上,半天或全天的…

java实现影视创作论坛

导读:随着时代的发展,互联网的出现,给传统影视行业带来的最大便利就是,方便了影视从业人员以及爱好者的交流和互动,而为用户提供一个书写影评,阅读影评以及回复影评的平台,以影评为载体来使用户感受影评、解读影评的是互联网在传统影视行业下应运而生的产物。 所谓的影视…

一文教你使用java开发一款推箱子游戏

导读:社会在进步,人们生活质量也在日益提高。高强度的压力也接踵而来。社会中急需出现新的有效方式来缓解人们的压力。此次设计符合了社会需求,Java推箱子游戏可以让人们在闲暇之余,体验游戏的乐趣。具有操作简单,易于上手的特点。…

uiautomator的坑和AAPT命令方式启动一个应用程序

最近在使用UIautomator完成公司的一个主流程的自动化,因为不适用H5和IOS所以会放弃这个工具的使用,现在记录在使用uiautomator的一些问题: 案列1:使用命令去启动要运用的apk包 使用命令方式启动,可以使用SDK中自带的aa…

一文教你用java实现即时通讯软件的设计(附下载源码)

导读:即时通讯软件即所谓的聊天工具,其主要用途是用于文字信息的传递与文件传输。使用eclipse作为即时通讯软件的开发工具,使用Socket建立通讯渠道,多线程实现多台计算机同时进行信息的传递,swing技术等进行实际开发相…

Divide and conquer:Drying(POJ 3104)

烘干衣服 题目大意:主人公有一个烘干机,但是一次只能烘干一件衣服,每分钟失水k个单位的水量,自然烘干每分钟失水1个单位的水量(在烘干机不算自然烘干的那一个单位的水量),问你最少需要多长时间烘…

java 的 AccessController.doPrivileged使用

AccessController.doPrivileged意思是这个是特别的,不用做权限检查. 在什么地方会用到呢:加入1.jar中有类可以读取一个文件,现在我们要使用1.jar去做这个事情.但是我们的类本生是没有权限去读取那个文件的,一般情况下就是眼睁睁的看着了. 但是jiava提供了doPrivileged.在1.ja…

cordova 实现网页缓存_如何解决ionic,cordova混合开发的app缓存大的问题

如何解决ionic,cordova混合开发的app缓存大的问题关注:143 答案:2 mip版解决时间 2021-02-05 06:24提问者旧梦已过期2021-02-04 16:54如何解决ionic,cordova混合开发的app缓存大的问题最佳答案二级知识专家臸釪樶初2021-02-04 17:10可以试试sd卡挂在&a…

当年课设期末大作业,班主任让我们做一个新闻发布管理系统

导读:基于web的新闻发布及管理系统的设计与实现,是动态网页和数据库结合,通过事件来处理新闻。我们对最新信息的更新和发布需要比较及时,而动态交互网页能实现这些功能,新闻发布及管理系统就是一个能够在网上实现新闻的发布及管理,让人们更好的获取更新的新闻资讯。 随着电…

疫情期间,在家使用java的SSH框架实现一个简单的任务调度系统

导读:随着科学技术的飞速发展和各行各业的分工愈发明细化,对于改革传统的人工任务调度方式的呼声越来越大。得益于快速发展的计算机技术,我们看到了改革的方向。本系统是针对企业或者事业单位甚至一个小团队的任务调度而设计的,目的是改变传统的调度方式,通过计算机来计算…

css3优惠卷上方锯齿_css3怎么实现锯齿边框?

白板的微信你这样的最好还是切图做用css3也达不到一毛一样的效果,如果你很想要尝试一下的话可以试试,不过边缘不是顺滑的感觉

改善Hibernate应用程序性能的7种方法

Hibernate是将Java Web应用程序与SQL数据库集成的好工具,但是当应用程序的响应时间开始显着增加时,我们应该怎么做? 当我们怀疑应用程序是否会随着客户群的增长而扩展时,我们该怎么办? 在花大价钱托管或重写代码之前&…

CSDN:2020博客之星年度总评选大赛,趣味总结!

导读:从2020年正式写博客,第一次参加活动,竟然落选了,在此记录一下这个过程吧,方便找帖子链接,毕竟靠着本人的影响力还是能捞点饭票的,哈哈。 2020博客之星年度总评选活动地址:https…

Java 日期格式

转载于:https://www.cnblogs.com/bylion/p/5141022.html

一文教你用java实现出租车计价器设计(附下载源码)

导读:在我国,出租车行业是八十年代初兴起的一项新兴行业,随着出租车的产生,计价器也就应运而生。但当时在全国没有一家企业能够生产,因而那个时期的计价器是由台湾引进。台湾是计价器的主要生产场地,目前全…

一键转发抢红包源码及搭建教程

导读:一键转发抢红包搭建教程如下:源码请在资源模块下载。 搭建教程 第一步注册bmob建立一个项目 项目包括这些表单(file表可以不建立) (应用ID在后台项目设置里面) 表DaSha这样建立 表Sha这样建立 找zi()方法第一步

android 开发

初学者学习 Android 开发,有什么好网站推荐? 前段日子一直在看安卓巴士这个网站,但网站突然进行改版,很多内容都找不到了,一下子怅然若失起来1 条评论 分享按投票排序按时间排序50 个回答 yava,半瓶水fei …

ztree java 增删改_Ztree实现增删改查

1.和另一篇文章--[TreeGrid 实现增删改查]前面的内容一致,只需要创建一个html页面,命名为ztree-01.html,粘贴如下网址的代码进入ztree-01.html。访问http://www.treejs.cn/v3/faq.php#_206复制这些代码html> ZTREE DEMO TITLE>HEAD>…

Android Studio导入项目非常慢的解决办法

问题 Android Studio目前已经更新到2.0 Preview 6了,作为Google大力推崇的开发工具,相对于Eclipse ADT有着不可比拟的优势。然而在实际使用时,依然有不少不爽的地方。Android Studio原生支持使用Gradle来构建项目本是个不错的想法&#xff0c…

DBA 技能图谱——数据库管理员不在迷茫

导读:DBA一般指数据库管理员。数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。 目录 DBA 技能图谱 下载地址 DBA 技能…