背景
APP分析中经常用到AARRR模型(海盗模型)用来分析APP的现状,其中一个重要节点就是提高留存(Acquisition),而留存率这个指标在这个阶段可以说是核心指标也不为过。那如何用SQL计算留存率呢?
留存率计算方法
假如今天新增了100名用户,第二天登陆了50名,则次日留存率为50/100=50%,第三天登录了30名,则第二日留存率为30/100=30%,以此类推。
用SQL的计算思路
用SQL调取出user_id和用户login_time的表,获得新增用户登录时间表。
根据user_id和login_time,增加一列first_day,此列存着每个用户最早登录时间。
有了最早登录时间和所有的登录时间,再增加一列by_day,这一列是用login_time - first_day ,得到0,1,2,3,4,5…,这就得到了某一天登录离第一次登录有多长时间。
获得一个这样的表
然后从表中提取数据,找到first_day对应的with_first列中0有多少个,1有多少个,一直到7以上。
最后获得这个表
根据此表ÿ