1. 计算留存
1.1 首选圈定一批用户
假设以开始日期-结束日期的新注册用户作为新用户,首先找出新用户:
select user, login_date from where login_date betweed xxx and yyy。
select
user_id,
str_to_date(login_time,'%Y/%m/%d') login_time
from user_info
group by 1,2; -- 为了去重,只取用户某个日期的一条数据,以user_id和日期分组,只取分组中的一条
1.2 提取每个用户最早登陆日期
根据user_id和login_time,增加一列first_day,此列存着每个用户最早登录时间。

SELECT --step 03 从链接表中,找出user_id、当前登陆日期、首次登陆日期
b.user_id,
b.login_time,
c.first_day
FROM
(select
user_id,
str_to_date(login_time,'%Y/%m/%d') login_time
from user_info
group by 1,2) b
LEFT JOIN --

本文介绍了计算用户留存率的方法,首先确定特定日期范围内的新用户,然后获取每个用户的最早登录日期,接着计算用户登录日期与最早登录日期的时间间隔,最后统计不同天数的留存用户数量。提供了一种使用SQL进行留存率分析的思路。
订阅专栏 解锁全文
678

被折叠的 条评论
为什么被折叠?



