DAU预测
转自: http://www.kaixin001.com/repaste/80488684_6910412734.html
我们知道在所有的游戏运营数据中,最终要的两个数据莫过于DAU、ARPU了。
|-DAU代表每天有多少活跃用户。
|-ARPU代表平均每个活跃用户会花多少钱。
这两个数据指标共同构成了产品每天的收入。
今天重点讲一下关于DAU这个关键数据的预测,以及相关数据指标的制定:
在展开细节之前,我先说几个与DAU息息相关的数据指标。
1、新增用户:指每天新注册到游戏中的那一部分用户。
2、次日留存:指每天新注册用户中,有百分之多少的玩家在注册的第二天还会继续登陆游戏。
3、老用户流失率:指除次日留存流失掉的那一部分用户之外,还会额外产生的数据波动。
关于“老用户流失率”这个数据指标可能不太好理解,我这里举例说明。
假设1号DAU为10万,其中包括1万的新用户,再假设次日留存为30%,那么这1万用户第二天还会剩下3000。
如果2号的新增也为1万,那么理论上2号的DAU应该为10.3万。
但是因为有一些老用户的数据发生了变化。
情况1:如果在原有的9万(10万DAU-1万新增)用户基础上,又流失了1万。
那么2号的实际数据应该是10.3万-1万,即9.3万。
情况2:如果在原有的9万用户基础上,从历史流失用户中召回了1万。
那么2号的实际数据应该是10.3万+1万,即11.3万。
情况3:如果在原有的9万用户基础上,流失了5000,但是从历史流失用户中召回了1万。
那么2号的实际数据应该是10.3万+5000,即10.8万。
因此这个数据有可能是正值也可能是负值。
当为正值时,说明老用户流失>召回;
当为负值时,说明老用户召回>流失
不知道这么解释大家明白了么。
ok,下面开始展开DAU的数据预测。假设我们希望DAU每天以一个固定的比例(增长率)进行增长。
也就是说:
今日DAU = 昨日DAU * (1 + 增长率)
今日DAU = 昨日DAU + 昨日DAU * 增长率
因为:今日DAU = 昨日DAU – 昨日新增 * (1 – 次日留存) + 今日新增 – 老用户流失
=> 昨日DAU – 昨日新增 * (1 – 次日留存) + 今日新增 – 老用户流失 = 昨日DAU + 昨日DAU * 增长率
=> -昨日新增 * (1 – 次日留存) + 今日新增 – 老用户流失 = 昨日DAU * 增长率
=> -昨日新增 + 昨日新增 * 次日留存 + 今日新增 – 老用户流失 = 昨日DAU * 增长率
因为:今日老用户流失 = (昨日DAU – 昨日新增) * 老用户流失率
=> 今日新增 – 昨日新增 + 昨日新增 * 次日留存 – (昨日DAU – 昨日新增) * 老用户流失率 = 昨日DAU * 增长率
=> 今日新增 – 昨日新增 + 昨日新增 * 次日留存 – 昨日DAU * 老用户流失率 – 昨日新增 * 老用户流失率 = 昨日DAU * 增长率
=> 今日新增 – 昨日新增 * (1 – 次日留存 – 老用户流失率) = 昨日DAU * 增长率 + 昨日DAU * 老用户流失率
=> 今日新增 = 昨日DAU * (增长率 + 老用户流失率) + 昨日新增 * (1 – 次日留存 – 老用户流失率)
因此,我们可以测算。
当次日留存、老用户流失率明确时,新增的指标的测算公式:
今日新增 = 昨日DAU * (增长率 + 老用户流失率) + 昨日新增 * (1 – 次日留存 – 老用户流失率)
当新增、老用户流失率明确时,次日留存指标的测算公式:
次日留存 = (昨日DAU * 增长率 + 昨日DAU * 老用户流失率 – 新增 * 日老用户流失率) / 新增
当新增、老用户流失率、次日留存的指标都明确时,DAU的测算公式:
今日DAU = 昨日DAU – 新增 * (1 – 次日留存) + 新增 – (昨日DAU – 新增) * 老用户流失率
参考资料:
DAU预测的更多相关文章
- 【Machine Learning】决策树案例:基于python的商品购买能力预测系统
决策树在商品购买能力预测案例中的算法实现 作者:白宁超 2016年12月24日22:05:42 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本 ...
- BZOJ 2119: 股市的预测 [后缀数组 ST表]
2119: 股市的预测 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 331 Solved: 153[Submit][Status][Discuss ...
- 【BZOJ-2119】股市的预测 后缀数组
2119: 股市的预测 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 334 Solved: 154[Submit][Status][Discuss ...
- Google云平台对于2014世界杯半决赛的预测,德国阿根廷胜!
由于本人是个足球迷,前段日子Google利用自己云平台预测世界杯八进四的比赛并取得了75%的正确率的事情让我振动不小.虽然这些年一直听说大数据的预测和看趋势能力如何如何强大,但这次的感受更加震撼,因为 ...
- 【彩票】彩票预测算法(一):离散型马尔可夫链模型C#实现
前言:彩票是一个坑,千万不要往里面跳.任何预测彩票的方法都不可能100%,都只能说比你盲目去买要多那么一些机会而已. 已经3个月没写博客了,因为业余时间一直在研究彩票,发现还是有很多乐趣,偶尔买买,娱 ...
- 白话贝叶斯理论及在足球比赛结果预测中的应用和C#实现
离去年“马尔可夫链进行彩票预测”已经一年了,同时我也计划了一个彩票数据框架的搭建,分析和预测的框架,会在今年逐步发表,拟定了一个目录,大家有什么样的意见和和问题,可以看看,留言我会在后面的文章中逐步改 ...
- scikit-learn一般实例之一:绘制交叉验证预测
本实例展示怎样使用cross_val_predict来可视化预测错误: # coding:utf-8 from pylab import * from sklearn import datasets ...
- 判别或预测方法汇总(判别分析、神经网络、支持向量机SVM等)
%% [Input]:s_train(输入样本数据,行数为样本数,列为维数):s_group(训练样本类别):s_sample(待判别数据)%% [Output]:Cla(预测类别) function ...
- 利用Python【Orange】结合DNA序列进行人种预测
http://blog.csdn.net/jj12345jj198999/article/details/8951120 coursera上 web intelligence and big data ...
随机推荐
- jsp中的隐含9对象
jsp中的隐含9对象 request ----> HttpServletRequest. response ---> HttpServletResponse. session ----&g ...
- IE9中ajax请求成功后返回值却是undefined
ie9中ajax请求一般处理程序成功后返回值始终是undefined,在网上找过很多资料,大致意思都是说前后端编码不一致造成的,但是按照资料上的方案去修改却发现根本不能解决我的问题,试过好多种方案都不 ...
- Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem H. Parallel Worlds 计算几何
Problem H. Parallel Worlds 题目连接: http://opentrains.snarknews.info/~ejudge/team.cgi?SID=c75360ed7f2c7 ...
- 2010-2011 ACM-ICPC, NEERC, Moscow Subregional Contest Problem H. Hometask 水题
Problem H. Hometask 题目连接: http://codeforces.com/gym/100714 Description Kolya is still trying to pass ...
- AtomicReference,AtomicStampedReference与AtomicMarkableReference的区别
AtomicReference 通过volatile和Unsafe提供的CAS函数实现原子操作. 自旋+CAS的无锁操作保证共享变量的线程安全 value是volatile类型,这保证了:当某线程修改 ...
- SecureCRT发送心跳机制保持SSH在线(解决阿里云ECS)
设置如下:
- 【Java】须要配置的三个Java环境变量
我的电脑→属性→高级系统设置→高级→环境变量 1.JAVA_HOME : JDK的安装路径 2.PATH : %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 3.CLASSP ...
- What is CMSIS-DAP
The mbed HDK and mbed-enabled hardware support the CMSIS-DAP debug interface, which consists of an a ...
- 谨慎注意WebBrowser控件的DocumentCompleted事件
引言 WebBrowser控件的DocumentCompleted事件一般就被认定为是在页面完全加载完毕后产生,而注释中也是这么写的: 但事实却并非如此. 首先它不一定会在完全加载完毕时才触发,有时就 ...
- Revit API修改保温层厚度
start [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] ;, newLayer); ...