在面试和实际项目中,我们经常会遇到这样两类问题,即以时间为轴线,沿着时间轴分析过去一段时间的用户特征或者行为。
一类是根据用户第一次访问的时间统计最近N天的行为特征,称之为近X天问题;另一类是根据用户第一次访问的时间统计连续N天的行为特征,称之为连续X天问题。
下面,先讲下近X天问题的解决方法。一般在BI报表里面,关于用户分析时,用户留存是个不可缺少的分析,而业界比较成熟的判断标准就是计算一些具体的指标,包括计算用户次日、3日、7日、30日和90日的留存率。
这些指标的通俗定义如下:
- 次日留存:当日登录后,第二天也登录了,比如2021.2.10登录过,2021.2.11登录的算作次日留存 。
- 三日留存:当日登录后,第三天也登录了,比如2021.2.10登录过,2021.2.12登录的算作3日留存 。
- 七日留存:当日登录后,第七天也登录了,比如2021.2.10登录过,2021.2.16登录的算作7日留存 。
- 以此类推···
现假设,有一张用户登录表t_user_login,字段user_id和login_time分别表示新增用户id和登陆时间。接下来,我们计算用户次日、3日、7日、30日和90日的留存率。
一般解决此类近X天问题的思路