题解 | #2021年11月每天新用户的次日留存率#

2021年11月每天新用户的次日留存率

http://www.nowcoder.com/practice/1fc0e75f07434ef5ba4f1fb2aa83a450

  1. 首先查找新用户的首天登录
select 
    max(date(event_time)) as max_date 
    from tb_order_overall
  1. 将tb_user_log转换成登陆日志表,使用UNION 对合集时间去重
    select uid,date(in_time) as dt_2
        from tb_user_log 
        union  
        select uid, date(out_time) as dt
        from tb_user_log
  1. 将两表以uid合并,再通过dt_2和dt_1的差值,按照dt_1分组后统计每天新用户的次日留存率
 with t1 as (
    select  uid, 
		min(date(in_time)) as dt_1
    from tb_user_log
    group by uid
),

t2 as (
    select uid,date(in_time) as dt_2
        from tb_user_log 
        union  
        select uid, date(out_time) as dt
        from tb_user_log
)

select dt_1, 
    round(COUNT(DISTINCT CASE WHEN datediff(dt_2, dt_1)=1 THEN uid else null end)/count(distinct uid),2) uv_left_rate
    from t2 
    inner join t1 
    using(uid)
    WHERE date_format(dt_1,'%Y-%m') = '2021-11' 
    GROUP BY dt_1
    ORDER BY dt_1
全部评论

相关推荐

牛客316659795号:不是,证明hr初筛已经过了,要投给部门筛一遍
点赞 评论 收藏
分享
神哥不得了:神哥来啦~1.建议不要包装,很容易问穿2.没日常也能找到暑期3.简历模板换一下,字体和版式看着好难受,而且最好压缩到一页,技术的倒数第2和3重复啦,项目建议换两个高质量的上去,如果时间够的话,八股就把高频top50的题目多巩固几遍,吃透,注意不要找假高频,这样绝对能找到暑期
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务