题目要求:
如何计算留存率
留存率是考察企业留住用户的能力,我们经常会计算次日留存、2日留存、7日留存等,如果现在让你用SQL实现,该怎么操作呢?
表部分数据如下:
留存数据字段说明:
用户id:用户唯一标识;
APP应用名称:是手机中的某个应用,例如相机、微信、大众点评等。
启动时长:某一天中使用某应用多长时间(分钟)。
启动次数:某一天中启动了某应用多少次。
登陆时间:使用手机的日期。例如2018-05-01。
现在该手机厂商想要分析手机中的应用(相机)的活跃情况,需统计如下数据:
某日活跃用户(用户id)在后续的一周内的留存情况(计算次日留存用户数,3日留存用户数,7日留存用户数)
指标定义:
某日活跃用户数,某日活跃的去重用户数。
N日活跃用户数,某日活跃的用户数在之后的第N日活跃用户数。
N日活跃留存率,N日留存用户数/某日活跃用户数
例:登陆时间(20180501日)去重用户数10000,这批用户在20180503日仍有7000人活跃,则3日活跃留存率为7000/10000=70%
所需获得的结果格式如下:
留存样板:
自连接实现方式: