如何用Excel进行预测分析?
【面试题】
一个社交APP, 它的新增用户次日留存、7日留存、30日留存分别是52%、25%、14%。
请模拟出来,每天如果日新增6万用户,那么第30天,它的日活数会达到多少?请使用Excel进行分析。
【分析思路】
第1日(次日)留存用户数=第1日新增用户数*次日留存率
第2日活跃用户数=第2日新增用户数+第1日留存用户数
第3日活跃用户数=第3日新增用户数+第2日留存用户数(第2日新增用户数*第2日留存率)+第1日留存用户数
...
第30日活跃用户数=第30日新增用户数+第29日留存用户数+第28日留存用户数+...+第1日留存用户数
也就是,
第30日活跃用户数=1日-29日每天的留存用户数(第1日留存用户数+第2日留存用户数+...+第29日留存用户数)+第30日新增用户数
现在只需要计算出1日-29日每天的留存用户数就可以了,而第N日的留存用户数=第N日新增用户数(6万)*第N日留存率。所以现在的问题是需要知道每天的留存率是多少。
那么,问题就来了。题目只有3个留存率(新增用户次日留存、7日留存、30日留存分别是52%、25%、14%)。
如何根据已有的几个留存率去预测剩下那些天的留存率呢?
很简单,用excel 1分钟就能搞定。
1.用现有的数据做散点图
2.对散点图添加趋势线
趋势线有以下几种类型,应该添加哪一类型的趋势线呢?
一般来说,正常的留存曲线是一开始快速下降,然后开始缓慢下降,最后逐步平稳的曲线。
所以,留存曲线的形状会类似于下图:初始在震荡期快速下降;选择期开始缓慢下降;过了选择期就是平稳期,留存率会进入一个相对稳定的阶段。
这种留存曲线的形状和乘幂函数十分接近,所以,在这里我们用乘幂函数来对留存曲线进行拟合。同时勾选“显示公式”和“显示R平方值”。最终得到了如下曲线,函数公式为y = 0.5227x^-0.385,R² = 0.9997,可以看到拟合后的幂函数的形状和上图的留存曲线的形状几乎一样。
拓展:
你肯定想知道这个趋势线的可靠性有多大?
这就涉及到趋势线的 R 平方值。R 平方值是介于 0 和 1 之间的数值。当趋势线的 R 平方值为 1 或者接近 1 时,趋势线最可靠。如案例演示中,R的平方值达到了0.9997,因此可以说这条趋势线可靠性非常大。
要获得最精确的预测,为数据选择最合适的趋势线非常重要。
那么,什么情况下选用什么样的趋势线呢?
指数:指数趋势线适用于速度增加越来越快的数据。
线性:线性趋势线是适用于简单线性数据集合的最佳拟合直线。如果数据点的构成的趋势接近于一条直线,则数据应该接近于线性。线性趋势线通常表示事件以恒定的比率增加或减少。
对数:如果数据一开始的增加或减小的速度很快,但又迅速趋于平稳,那么对数趋势线则是最佳的拟合曲线。
多项式:多项式趋势线是数据波动较大时使用的曲线。
乘幂:乘幂趋势线是一种适用于以特定速度增加的曲线。但是如果数据中有零或负数,则无法创建乘幂趋势线。
移动平均:移动平均趋势线用于平滑处理数据中的微小波动,从而更加清晰地显示了数据的变化的趋势。(在股票、基金、汇率等技术分析中常用)
3.计算第n天留存率
拟合出留存曲线后, 我们就可以根据拟合的函数公式(y = 0.5227x^-0.385)去计算次日到30日的留存率。
也就是把x=1,x=2…x=30,分别代入函数公式,这里可以借助Excel的power幂函数,求出结果。如下图,可以看到按照模型函数公式计算出来的留存率,即模型留存率与给定的留存率几乎完全一致(黄色的行)。
4.计算30天后日活数
通过上面的步骤,我们已经得到了每天的留存率。接下来我们就可以计算第30天的日活用户数有多少。
第1日(次日)留存用户数=第1日新增用户数*次日留存率
第2日活跃用户数=第2日新增用户数+第1日留存用户数
第3日活跃用户数=第3日新增用户数+第2日留存用户数(第2日新增用户数*第2日留存率)+第1日留存用户数
...
第30日活跃用户数=第30日新增用户数+第29日留存用户数+第28日留存用户数+...+第1日留存用户数
也就是,
第30日活跃用户数=1日-29日每天的留存用户数(第1日留存用户数+第2日留存用户数+...+第29日留存用户数)+第30日新增用户数
(1)在下图Excel步骤1的地方是题目的设定,每天固定新增用户数为6万
在下图步骤2的地方算出1日-29日每天的留存用户数,也就是第N日新增用户数(6万)*第N日留存率(F列对应的留存率)。
(3)下图步骤3将这一列的值求和,就是第30日活跃用户数=1日-29日每天的留存用户数+第30日新增用户数。
5.总结
Excel里进行预测分析的2种办法:
2)其他数据如何预测?先画散点图,然后添加趋势线和公式
推荐:人工智能时代的通用能力
如何用Excel进行预测分析?的更多相关文章
- 如何用SPSS做联合分析
如何用SPSS做联合分析 如果产品的描述是由几个属性特征决定的,比如说mp3的音质.外形.容量.价格等等,商家为了确定哪个属性对消费者的影响最大,以及预测什么样的属性组合最受消费者的欢迎,选择的办法应 ...
- 数据可视化之powerBI技巧(六)在PowerBI中简单的操作,实现复杂的预测分析
时间序列预测就是利用过去一段时间内的数据来预测未来一段时间内该数据的走势,比如根据过去5年的销售数据进行来年的收入增长预测,根据上个季度的股票走势推测未来一周的股价变化等等. 对于大部分人来说,这是个 ...
- 编译原理实习(应用预测分析法LL(1)实现语法分析)
#include<iostream> #include<fstream> #include<iomanip> #include<cstdio> #inc ...
- Python中利用LSTM模型进行时间序列预测分析
时间序列模型 时间序列预测分析就是利用过去一段时间内某事件时间的特征来预测未来一段时间内该事件的特征.这是一类相对比较复杂的预测建模问题,和回归分析模型的预测不同,时间序列模型是依赖于事件发生的先后顺 ...
- 时间序列 预测分析 R语言
在对短期数据的预测分析中,我们经常用到时间序列中的指数平滑做数据预测,然后根据不同. 下面我们来看下具体的过程 x<-data.frame(rq=seq(as.Date('2016-11-15' ...
- 语法设计——基于LL(1)文法的预测分析表法
实验二.语法设计--基于LL(1)文法的预测分析表法 一.实验目的 通过实验教学,加深学生对所学的关于编译的理论知识的理解,增强学生对所学知识的综合应用能力,并通过实践达到对所学的知识进行验证.通过对 ...
- 如何用excel urldecode解码把url编码转为汉字?
统计分析可以反映出网站运营的情况,并根据实际作出相应的调整,是站长必需的基础技能.ytkah感觉最好用的是谷歌统计,里面有个搜索关键词及对应受访页面,这个功能对优化用处很大,但大家都知道访问不太顺畅. ...
- FIRST集合、FOLLOW集合、SELECT集合以及预测分析表地构造
FIRST集合.FOLLOW集合.SELECT集合以及预测分析表地构造 FIRST集合的简单理解就是推导出的字符串的开头终结符的集合. FOLLOW集合简单的理解就对于非终结符后面接的第一个终结符. ...
- 预测分析建模 Python与R语言实现
预测分析建模 Python与R语言实现 目录 前言 第1章 分析与数据科学1第2章 广告与促销10第3章 偏好与选择24第4章 购物篮分析31第5章 经济数据分析42第6章 运营管理56第7章 文本分 ...
随机推荐
- 《UNIX环境高级编程》(APUE) 笔记第八章 - 进程控制
8 - 进程控制 Github 地址 1. 进程标识 每个进程都有一个非负整型表示的 唯一进程 ID .进程 ID 是可复用的(延迟复用算法). ID 为 \(0\) 的进程通常是调度进程,常常被称为 ...
- SecureCRT连接阿里云ECS服务器,经常掉线的解决方案
1 使用SecureCRT远程连接后,Options > Session Options > Terminal(终端) > 勾选 “Send protocol NO-OP”
- H5调用手机的相机/摄像/录音等功能 _input:file的capture属性说明
H5使用input标签调用系统默许相机,摄像,录音功能.使用input:file标签, 去调用系统默认相机,摄像,录音功能,其实是有个capture属性,直接说明需要调用什么功能: <input ...
- h5手机摇一摇功能实现:基于html5重力感应DeviceMotionEvent事件监听手机摇晃
DeviceMotionEven是html5提供的一个用来获取设备物理方向及运动的信息(比如陀螺仪.罗盘及加速计)的Dom事件,事件描述如下: deviceorientation:提供设备的物理方向信 ...
- .NET 开源项目 StreamJsonRpc 介绍[中篇]
阅读本文大概需要 11 分钟. 上一篇介绍了一些预备知识,包括 JSON-RPC 介绍和实现了 JSON-RPC 的 StreamJsonRpc 介绍,讲到了 StreamJsonRpc 可以通过 . ...
- 洛谷P3237 [HNOI2014]米特运输(树形dp)
解题报告 题干 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储存一直是一个大问题. D星上有N个城市,我们将其顺序编号为1到N,1号城市为首都. ...
- Subset POJ - 3977(折半枚举+二分查找)
题目描述 Given a list of N integers with absolute values no larger than 10 15, find a non empty subset o ...
- [JAVA]使用字节流拷贝文件
import java.io.*; /** * @Description: * @projectName:JavaTest * @see:PACKAGE_NAME * @author:郑晓龙 * @c ...
- redis入门指南(三)—— 事务、过期时间、SORT命令、消息通知与管道
写在前面 学习<redis入门指南>笔记,结合实践,只记录重要,明确,属于新知的相关内容. 事务 1.redis中的事务由一组命令的集合组成,要么都执行,要么都不执行,同时redis的事务 ...
- IDEA搭建SpringMVC简单接口框架(Maven项目)
1, 新建项目,选择Maven,如图一次选择,最后点击Next 2, 输入GroupId和ArtifactId,点击Next 3,根据需要选择自定义maven配置,点击Next.(①可以直接跳过) 4 ...