次日成功留存率
存在一个表:
输出新登录用户次日成功的留存率,即第一天登录后。第二天再次登录的概率。
代码:
select
round(count(distinct user_id)*1.0/(select count(distinct user_id) from login) ,3)
from login
where (user_id,date)
in (select user_id,date(min(date),'+1 day') from login group by user_id);
思路:(第一天登录的新用户并且第二天也登录的用户)/(总用户)即为新登录用户的次日成功的留存率
总用户:
select count(distinct user_id) from login`
每个用户第一天登陆的日子:
select user_id,min(date) from login group by user_id`
在第一天登录的新用户并且第二天也登录的用户,以及第二天的日期:
`select user_id,date(min(date),'+1 day') from login group by user_id`
最后使用count (distinct *) 可以得到各个部分的人数。
新登用户数
输出每个日期登录新用户个数: