题解 | #统计活跃间隔对用户分级结果#

统计活跃间隔对用户分级结果

https://www.nowcoder.com/practice/6765b4a4f260455bae513a60b6eed0af

with a as(
    select uid,
    (select max(date(out_time)) from tb_user_log) now,
    min(date(in_time)) intime,
    max(date(out_time)) newtime
    FROM tb_user_log
    GROUP BY uid
),
b as (
    select  uid,
    (case
    when datediff(now,intime) > 6 and datediff(now,newtime) <= 6 then '忠实用户'
    when datediff(now,intime) <= 6 then '新晋用户'
    when datediff(now,intime) > 29 and datediff(now,newtime) > 29 then '流失用户'
    else '沉睡用户'
    end
    )user_grade
    from a 
)
select user_grade,
       round(count(uid) / (select count(distinct uid) from tb_user_log), 2) ratio
from  b
group by user_grade
order by ratio desc;

思路

统计活跃间隔对用户分级后,各活跃等级用户占比,结果保留两位小数,且按占比降序排序

注:

用户等级标准简化为:

忠实用户(近7天活跃过且非新晋用户)、

新晋用户(近7天新增)、

沉睡用户(近7天未活跃但更早前活跃过)、

流失用户(近30天未活跃但更早前活跃过)。

假设今天就是数据中所有日期的最大值。近7天表示包含当天T的近7天,即闭区间[T-6, T]。

我们先拆出来**“用户表今天时间 now”、“用户最早出现在这个表里的时间 intime”、“用户最后的活跃时间 newtime”

1
2
3
4
5
6
7
8
9
10
select
  uid,
  (select max(date(out_time)) from tb_user_log) now,
  min(date(in_time)) intime,
  max(date(out_time)) newtime
FROM
  tb_user_log
GROUP BY
  uid

然后以此为基础划分各级用户

忠实用户(近7天活跃过且非新晋用户)、 datediff(now,intime) > 6 (注册时间) and datediff(now,newtime) <= 6 (最近活跃)

(题上说近7天包括今天所以这里是6 )

新晋用户(近7天新增)、datediff(now,intime) <= 6(表里有过就活跃过)

沉睡用户(近7天未活跃但更早前活跃过)、注册时间、最近活跃 between 7 and 29,太长了所以放在else里面。

流失用户(近30天未活跃但更早前活跃过)。datediff(now,intime) > 29 and datediff(now,newtime) > 29 then '流失用户'

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# AI面会问哪些问题? #
25023次浏览 493人参与
# 中国电信笔试 #
31125次浏览 283人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
14202次浏览 209人参与
# 你的实习产出是真实的还是包装的? #
18885次浏览 330人参与
# 如果秋招能重来,我会____ #
96712次浏览 500人参与
# 春招至今,你的战绩如何? #
60246次浏览 547人参与
# 厦门银行科技岗值不值得投 #
7520次浏览 186人参与
# i人适合做什么工作 #
36936次浏览 124人参与
# 我是面试官,请用一句话让我破防 #
79532次浏览 219人参与
# 哪些公司真双非友好? #
69228次浏览 287人参与
# 金三银四,你的春招进行到哪个阶段了? #
21575次浏览 277人参与
# 找AI工作可以去哪些公司? #
7754次浏览 189人参与
# 从事AI岗需要掌握哪些技术栈? #
7768次浏览 252人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
339975次浏览 2165人参与
# 面试尴尬现场 #
220783次浏览 861人参与
# 五一之后,实习真的很难找吗? #
102811次浏览 584人参与
# 你做过最难的笔试是哪家公司 #
30395次浏览 193人参与
# 你小时候最想从事什么职业 #
159845次浏览 2072人参与
# 应届生第一份工资要多少合适 #
20491次浏览 84人参与
# 阿里笔试 #
176558次浏览 1302人参与
# 一张图晒出你司的标语 #
3846次浏览 72人参与
# 面试被问期望薪资时该如何回答 #
382478次浏览 2163人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务