背景:互联网公司,分析app上线后的效果,通常会通过很多指标来分析,其中一个指标就是留存率,留存率中最重要的就是次日留存,如果次日留存很高,说明这个app很成功,用户粘性高。
留存是怎么定义的呢?
- 一个用户第一天来了,第二天又来了,说明这个用户留存了。次日留存率就是100%
- 第一天来了100个用户,第二天这100用户中只有50个用户过来了,第三天这100个用户中只有30个用户过来了;那么次日留存率就是50/100×100=50%,3日留存率就是30/100×100=30%(比较的都是第一天这一批100用户)
我们来看看通过代码怎么计算留存率:
次日留存:
23号用户在24号的留存情况:
select
t1.apptypeid,
count(t1.uid) as active_users, --23号用户数
count(t2.uid) as day2_active_users, --23号用户在24号的留存数
concat(count(t2.uid)/count(t1.uid)*100,'%') as day2_active_user_rate, --23号用户在24号的留存率
t1.dt
from
(select
apptypeid,
uid,
dt
from ods_center.ods_app_open
where dt='20211123'
group by apptypeid,uid,dt) t1
left join
(select
apptypeid,
uid,
dt
from ods_center.ods_app_open
where dt