一、留存率定义

某一天新增用户在之后的第N天仍然登录的比例,称为第N日留存率。

例如:

2022年1月1日新增100个用户
2022年1月2日这些用户中登录人数为60,次日留存率为60%;
2022年1月3日这些用户中登录人数为50,第2日留存率为50%;
2022年1月8日这些用户中登录人数为30,第7日留存率为30%。

二、计算留存率

question_practice_detail

id device_id quest_id result date
1 2138 111 wrong 2021-05-03
2 3214 112 wrong 2021-05-09
3 3214 113 wrong 2021-06-15
4 6543 111 right 2021-08-13
5 2315 115 right 2021-08-13
6 2315 116 right 2021-08-14
7 2315 117 wrong 2021-08-15
……

查看用户在某天刷题后第二天还会再来刷题的平均概率

select count(q2.device_id) / count(q1.device_id) as avg_ret
from
    (select distinct device_id, date
    from question_practice_detail) as q1
left join
    (select distinct device_id, date
    from question_practice_detail) as q2
on q1.device_id = q2.device_id and q2.date = date_add(q1.date, interval 1 day)

根据示例,你的查询应返回以下结果:

avg_ret
0.3000
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐