一个SQL,程序实现多日留存率计算
留存率是衡量用户质量的最重要指标之一,因此计算用户留存率是用户数据分析中必须掌握的技能之一。
留存率指标中,通常需要关注次日留存、3日留存、7日留存和月留存。对新增用户而言,需要关注更细颗粒度的数据,也就是7日内每天的留存率。
7日内每天的留存率,最笨的方式是一天一天计算,如:
select count(distinct user_id)
from table
where date = ‘2019-12-01’
and user_id in
(select distinct user_id
from table
where date = ‘2019-12-02’)
group by date
这样,计算7日内每天的留存率,需要查询7次,子查询中日期需要更改7次。有没有用一个程序计算出7日内每天留存率的方法呢?
答案当然是‘Yes’,只需要计算日期与初始日期的间隔gap,然后根gap group by就可以了。
假设有两张表:新增用户表table_new_users,活跃用户表table_active_users,查询2019-12-01日的新增用户在7日内的留存率。
下面我们分步骤展示程序写法,每个步骤中的代码包含了前一步骤的代码。
确定date之间的天数间隔gap
计算每天留存的用户数retention_num
计算7日内留存率
查询结果形式如下:
一个SQL程序搞定7日内留存率计算比一天一天计算的查询要快多了,尤其是计算连续多天用户的留存率时,就更可以节省时间了(计算连续多天用户的留存率可以借助python)。
一个SQL,程序实现多日留存率计算相关推荐
- 编写一个JSP程序Jiecheng.jsp,计算整数的阶乘,并显示出结果。
编写一个JSP程序Jiecheng.jsp,计算整数的阶乘,并显示出结果. 要求先声明计算阶乘的方法,再调用该方法,最后在页面上输出结果. 通过表单提交一个正整数,然后计算它的阶乘. 参考代码: ...
- 我的第一个MPI程序:利用矩形规则计算pi
利用矩形规则计算pi #include<mpi.h> #include<iostream> using namespace std; const int INTERVALS ...
- 我的第一个Java程序
开始第一个Java程序 保证你的计算机上有一个文本编辑器 安装JDK[一般JDK在官网下载] JDK.JRE.JVM的关系 JDK目录的介绍 JDK/bin:该目录下存放了很多命令,例如javac.e ...
- sql里查询一个组和组的用户数怎么查?_【牛客网SQL刷题】留存率怎么算?
抽空刷了牛客网SQL实战72题,最后几道以牛客网为例的题目还挺有挑战性,在此记录 统计时间段新用户次日留存率 每日的次日留存率 每日的新用户数 每日新用户的次日留存 求新登录用户次日留存 表login ...
- 两表左连接count某一字段_表连接解决多日留存率问题|SQL
一.留存率的计算 留存率=新增用户中登录用户数/新增用户数*100% 第N日留存:指的是新增用户日之后的第N日依然登录的用户数/新增用户数*100% 二.数据集的理解 表[登录情况]中有字段[用户id ...
- .java编写一个梯形类lader_能够完成相关计算above为高_【Java】编写一个应用程序计算梯形和圆形的面积...
说明:这是武汉理工大学计算机学院[Java语言程序设计]课程实验1:编写一个应用程序计算梯形和圆形的面积. 谨记:纸上得来终觉浅,绝知此事要躬行. Java语言程序设计--实验1:类的设计与对象使用 ...
- java类求圆的面积周长_java编程 1. 设计一个求圆的面积和周长的类,要求:1计算当半径r,JAVA编程题。编写一个应用程序计算圆的周长和面积,设圆的半...
问题标题 java编程 1. 设计一个求圆的面积和周长的类,要求:1计算当半径r,JAVA编程题.编写一个应用程序计算圆的周长和面积,设圆的半 2019-5-23来自ip:15.196.194.53的 ...
- 编写一个Python程序,计算任意圆锥体的体积和表面积。
编写一个Python程序,计算任意圆锥体的体积和表面积. import math r=float(input("半径是")) h=float(input("高是" ...
- c语言计算二次函数顶点坐标,C语言编写一个求一元二次方程的实根的程序。 编辑一个小程序去做一元二次方程的求解(b^24ac)...
导航:网站首页 > C语言编写一个求一元二次方程的实根的程序. 编辑一个小程序去做一元二次方程的求解(b^2>4ac) C语言编写一个求一元二次方程的实根的程序. 编辑一个小程序去做一元二 ...
最新文章
- Java动态加载一个类的几种方法以及invoke
- java 按钮 事件_Java 添加按钮点击事件
- 【多标签文本分类】Semantic-Unit-Based Dilated Convolution for Multi-Label Text Classification
- 构造代码块,初始代码块和静态代码块的执行顺序
- 韦世东:计划 35 岁「退休」的资深爬虫工程师
- python里实现DSL
- 用Go语言建立一个简单的区块链part7:网络
- eb8000软件怎样上传_百度网盘如何免费上传超过4G的文件?BitComet来帮你!
- 网页自动往下走html代码,网页自动跳转代码html
- leetcode 171. Excel表列序号
- android 中 四舍五入的method */
- php年月日滚动选择,Unity3d—做一个年月日选择器(Scroll Rect拖动效果优化)— 无限滚动 + 锁定元素...
- Orleans 3.0 发布,微软下一代云计算编程模式
- 自然语言处理之 snownlp,分词、词性标注、情感分析、文本分类、提取关键词、文本相似度
- 掌握业务流程图符号,提高业绩不再没有头绪
- matlab输出工作区,matlab保存工作区数据
- win7计算机搜索文件搜不到,Win7搜不到文件如何解决?Win7搜不到文件的解决方法...
- 利用android实现汇率计算器,利用python编写一个汇率计算器
- python第三周测试_第三周作业 - 作业 - 信息与计算17数31SWE - 班级博客 - 博客园...
- SAP ABAP-获取屏幕字段数据