题解 | 次7日留存率
假设有个order表
三个字段:
order_id,
user_id,
date
- 求20250101-20250107之间这7天的“次 7 日留存率” avg_ret_7
- “次 7 日留存率”指的是一批新增用户在注册或首次使用的第 0 天(T日)之后,第 7 天(即 T + 7 )再次回归并使用产品的比例。(不是7天内回归)
select
count(user2) / count(user1) as avg_ret_7
from
(
select distinct # 关键点:可能会有一个人在T+0有两条记录,在T+7也有两条记录,那么就会被重复统计,所以需要去重,并且是需要带着date1和date2的去重
t1.user_id as user1,
t1.date as date1,
t2.user_id as user2,
t2.date as date2
from
order t1
left join order t2 on t1.user_id = t2.user_id
and datediff(t2.date, t1.date) = 7
order by
t1.user_id,
t1.date
) t
美的集团公司福利 816人发布
查看1道真题和解析