SQL学起来很简单,各种方法也是一看就懂,尽管刷了一些sql相关的题目,但大多都是停留在课后习题的层面,面试中遇到具体业务中的SQL题,能够理解意思、也能知道用什么方法,但就是写不出来。所以今天把sql在具体业务中常用的几种查询整理一下,做一个专题。
新增用户量
1. 定义新增用户
在目前的“新增用户”的定义中,总的来说,可以分为两种方式,一种方式为一段时间内打开应用的新用户数量,这是广义的新增用户。
另一种方式为一段时间内产生过“关键行为”的新用户数量,比如购物/发言/充值,而对于增长黑客而言,则更关注第二种“新增用户”。
在我们本次讨论的题目中,就简单的把新增用户定义为在一段时间内登陆应用的新用户数量。
2. 如何统计“新增用户”指标
传统意义上,我们可以将各电子市场、官网的下载安装量作为新用户数量(当然,这非常不严谨),也可以将一段时间内打开APP的新用户人数作为新增用户,严谨一点是将新注册用户作为新增用户。
通常,我们将打开APP但未注册的新用户叫做访客,在用户全生命周期中,也叫潜客,后续对应新手、成长、成熟、流失几个阶段。在增长黑客的AARRR模型中,将用户生命周期分为获取用户、提升活跃、提高留存、获取收入、自传播5个关键阶段,打开APP的新用户就是代表着获取了一个新用户。
当然,我们本次题目讨论的情况比较简单,仅按照登陆的新用户数量作为新增用户数。
用户留存率
1. 什么是用户留存
在互联网行业中,用户在某段时间内开始使用应用,经过一段时间后,仍然继续使用该应用的用户,被认作是留存用户。
这部分用户占当时新增用户的比例即是留存率,会按照每隔1单位时间(例日、周、月)来进行统计。顾名思义,留存指的就是“有多少用户留下来了”。留存用户和留存率体现了应用的质量和保留用户的能力。
2. 如何计算留存率
新增用户数:在某个时间段(一般为第一整天)新登录应用的用户数;
登录用户数:登录应用后至当前时间,至少登录过一次的用户数;
第N日留存:指的是新增用户日之后的第N日依然登录的用户占新增用户的比例
第1日留存率(即“次留”):(当天新增的用户中,新增日之后的第1天还登录的用户数)/第一天新增总用户数;
第3日留存率:(当天新增的用户中,新增日之后的第3天还登录的用户数)/第一天新增总用户数;
第7日留存率:(当天新增的用户中,新增日之后的第7天还登录的用户数)/第一天新增总用户数;
第30日留存率:(当天新增的用户中,新增日之后的第30天还登录的用户数)/第一天新增总用户数;
注意:留存一般是离散的概念,不要求用户在N天内每天都登录
计算每日新增用户的次日留存
1. 观察用户登陆(login)记录表
用户登陆(login)表包含4个字段,分别为id(每条记录的id)、user_id(用户的id)、client_id(客户端id)、date(登陆日期)
id | user_id | client_id | date |
---|---|---|---|
1 | 2 | 1 | 2020-10-12 |
2 | 3 | 2 | 2020-10-12 |
3 | 1 | 2 | 2020-10-12 |
4 |