留存怎么算?

比如我们说月活,我们理所当然指的是,这个月内有过行为的用户,而不是指这个月内每天都要有行为的用户了。

user_id, active_date
0001 2022-11-11
0002 2022-11-12

你之所以迷惑就是有两个概念没定义好:
一个是第N日,一个是N日内。

第七日和七日内很明显覆盖的范围是不同的。

比如说,7日留存,是指7日内每一天都有行为,还是指七日内任何一天有活动都可以?

第7日留存和7日内留存是两个概念。

01日,用户进行了注册
如果02日,用户有过行为,则认为第02活跃
如果03日,有过行为,则认为第03活跃


sql语法:
case when的好处就是可以动态计算,分支逻辑
select xx,
case
when column =1 then ‘app’
when column = 2 or column =3 then ‘h5’
when column = 5 then ‘web’
else ‘unkonwn’
end
from table_name

row_number()语法:
ROW_NUMBER() OVER(partition by 分组列 order by 排序列)
顾名思义可以理解为返回一个行号
某种程度上来说他和group by有些相似性,但是group by之后数据会丢失,row_number可以分组,且行不会丢失

posted @ 2022-11-16 22:44  叶常落  阅读(22)  评论(0)    收藏  举报  来源