【面试题】

一个社交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种办法:

1)时间序列数据如何预测?用预测工作表

2)其他数据如何预测?先画散点图,然后添加趋势线和公式

推荐:人工智能时代的通用能力

如何用Excel进行预测分析?的更多相关文章

  1. 如何用SPSS做联合分析

    如何用SPSS做联合分析 如果产品的描述是由几个属性特征决定的,比如说mp3的音质.外形.容量.价格等等,商家为了确定哪个属性对消费者的影响最大,以及预测什么样的属性组合最受消费者的欢迎,选择的办法应 ...

  2. 数据可视化之powerBI技巧(六)在PowerBI中简单的操作,实现复杂的预测分析

    时间序列预测就是利用过去一段时间内的数据来预测未来一段时间内该数据的走势,比如根据过去5年的销售数据进行来年的收入增长预测,根据上个季度的股票走势推测未来一周的股价变化等等. 对于大部分人来说,这是个 ...

  3. 编译原理实习(应用预测分析法LL(1)实现语法分析)

    #include<iostream> #include<fstream> #include<iomanip> #include<cstdio> #inc ...

  4. Python中利用LSTM模型进行时间序列预测分析

    时间序列模型 时间序列预测分析就是利用过去一段时间内某事件时间的特征来预测未来一段时间内该事件的特征.这是一类相对比较复杂的预测建模问题,和回归分析模型的预测不同,时间序列模型是依赖于事件发生的先后顺 ...

  5. 时间序列 预测分析 R语言

    在对短期数据的预测分析中,我们经常用到时间序列中的指数平滑做数据预测,然后根据不同. 下面我们来看下具体的过程 x<-data.frame(rq=seq(as.Date('2016-11-15' ...

  6. 语法设计——基于LL(1)文法的预测分析表法

    实验二.语法设计--基于LL(1)文法的预测分析表法 一.实验目的 通过实验教学,加深学生对所学的关于编译的理论知识的理解,增强学生对所学知识的综合应用能力,并通过实践达到对所学的知识进行验证.通过对 ...

  7. 如何用excel urldecode解码把url编码转为汉字?

    统计分析可以反映出网站运营的情况,并根据实际作出相应的调整,是站长必需的基础技能.ytkah感觉最好用的是谷歌统计,里面有个搜索关键词及对应受访页面,这个功能对优化用处很大,但大家都知道访问不太顺畅. ...

  8. FIRST集合、FOLLOW集合、SELECT集合以及预测分析表地构造

    FIRST集合.FOLLOW集合.SELECT集合以及预测分析表地构造 FIRST集合的简单理解就是推导出的字符串的开头终结符的集合. FOLLOW集合简单的理解就对于非终结符后面接的第一个终结符. ...

  9. 预测分析建模 Python与R语言实现

    预测分析建模 Python与R语言实现 目录 前言 第1章 分析与数据科学1第2章 广告与促销10第3章 偏好与选择24第4章 购物篮分析31第5章 经济数据分析42第6章 运营管理56第7章 文本分 ...

随机推荐

  1. 几个常见CSS错误和解决办法

    1.IE6下,当float存在时,margin双倍的问题 解决方法:加display:inline; 例: #content {    float: left;     width: 500px;   ...

  2. 听说你还不知道CompletableFuture?

    java8已经在日常开发编码中非常普遍了,掌握运用好它可以在开发中运用几行精简代码就可以完成所需功能.今天将介绍CompletableFuture的在生产环境如何使用实践.CompletableFut ...

  3. 每日一题 - 剑指 Offer 54. 二叉搜索树的第k大节点

    题目信息 时间: 2019-07-04 题目链接:Leetcode tag:二叉搜索树 中序遍历 递归 难易程度:中等 题目描述: 给定一棵二叉搜索树,请找出其中第k大的节点. 示例1: 输入: ro ...

  4. WIN10有线网络反复断开解决方法

    最近家里台式机碰到一个奇怪的问题,开机之后有线网络就时断时续,右下角网络图标不停在小地球与小电脑之间切换.网上大概搜索了一下,貌似碰到这种问题的朋友不在少数,但大部分朋友碰到的都是无线网络居多.这里把 ...

  5. 性能测试之Jmeter中场景设置与启动方式

    Jmeter场景设置与启动方式 性能测试场景是用来模拟模拟真实用户操作的工作单元,所以场景设计一定要切合用户的操作逻辑,jmeter主要是通过线程组配合其他组件来一起完成场景的设置. 线程组设置 Jm ...

  6. 嗨,This is G-Aurora

    嗨,This is G-Aurora   分享让我们得以持续 在很长一段时间里,自己都是将学习笔记整理到自己的磁盘或者网盘中.大概那个时候还对"开源与分享"不太感冒.但后来越来越觉 ...

  7. The Shortest Statement CodeForces - 1051F 最小生成树+并查集+LCA

    题目描述 You are given a weighed undirected connected graph, consisting of n vertices and mm edges. You ...

  8. uni-app网络请求

    对于 GET 方法,会将数据转换为 query string.例如 { name: 'name', age: 18 } 转换后的结果是 name=name&age=18. 对于 POST 方法 ...

  9. 基本数据类型--------------------集合set()

    一.作用:集合.list.tuple.dict一样都可以存放多个值,但是集合主要用于:关系运算.去重 # 1.1 关系运算 friends1 = ["zero","kev ...

  10. USTC信息安全期末重点

    一.ARP协议问题1. ARP协议的作用是什么.地址解析协议,即IP地址和MAC地址之间的转换. 2. 引入ARP缓存的功能是什么.将这一映射关系保存在 ARP 缓存中,使得不必重复运行 ARP 协议 ...