SQL41 最长连续登录天数
描述
你正在搭建一个用户活跃度的画像,其中一个与活跃度相关的特征是“最长连续登录天数”, 请用SQL实现“2023年1月1日-2023年1月31日用户最长的连续登录天数”#牛客AI配图神器#
select
t4.user_id,
max(t4.tp) as max_consec_days
from
(
select
t3.user_id as user_id,
count(t3.tm) as tp
from
(
select
t2.user_id,
date_sub(t2.fdate, interval t2.rk day) tm
from
(
select
t1.user_id,
t1.fdate,
row_number() over (
partition by
user_id
order by
t1.fdate
) as rk
from
(
select distinct
fdate,
user_id
from
tb_dau
) t1
) t2
) t3
group by
t3.user_id,
t3.tm
) t4
group by
t4.user_id
这个需求本质上是在构建用户活跃度画像,其中“最长连续登录天数”衡量的是用户在观察周期内的活跃稳定性和使用习惯强度。
我会先明确统计口径:按用户、按天去重,在 2023 年 1 月范围内识别每段连续登录区间,并取最长的一段作为用户级特征。
在计算上,通常会先筛选出 2023 年 1 月的登录数据,对同一用户同一天的重复登录进行去重;然后按用户对登录日期升序排序,给每条登录记录生成顺序编号;再利用“登录日期减去序号”这一方法识别连续登录区间,因为连续日期减去连续序号后会落在同一分组中;接着按用户和连续分组统计每段连续登录天数;最后再对每个用户取最大值,得到其最长连续登录天数。
在分析层面,我不会只停留在这个特征本身,还会进一步观察最长连续登录天数的分布、高连续用户占比、关键断点位置,以及在新老用户、渠道、时间节点等维度下的差异。
从漏斗位置看,这个指标属于用户生命周期中的留存与稳定活跃阶段,用来衡量用户是否已经形成持续使用习惯。
在输出层面,我会基于结果进一步形成业务结论,比如判断用户连续活跃整体处于什么水平、关键流失断点主要出现在什么阶段、不同用户分层之间是否存在明显差异,以及问题更偏向新用户承接、老用户衰减还是渠道质量差异。
最终再将结论转化为关键动作,例如优化新手承接链路、设计 3 日和 7 日关键节点激励、进行分层运营,并通过内容供给、触达策略和权益机制来提升用户持续登录和活跃稳定性。
你正在搭建一个用户活跃度的画像,其中一个与活跃度相关的特征是“最长连续登录天数”, 请用SQL实现“2023年1月1日-2023年1月31日用户最长的连续登录天数”#牛客AI配图神器#
select
t4.user_id,
max(t4.tp) as max_consec_days
from
(
select
t3.user_id as user_id,
count(t3.tm) as tp
from
(
select
t2.user_id,
date_sub(t2.fdate, interval t2.rk day) tm
from
(
select
t1.user_id,
t1.fdate,
row_number() over (
partition by
user_id
order by
t1.fdate
) as rk
from
(
select distinct
fdate,
user_id
from
tb_dau
) t1
) t2
) t3
group by
t3.user_id,
t3.tm
) t4
group by
t4.user_id
这个需求本质上是在构建用户活跃度画像,其中“最长连续登录天数”衡量的是用户在观察周期内的活跃稳定性和使用习惯强度。
我会先明确统计口径:按用户、按天去重,在 2023 年 1 月范围内识别每段连续登录区间,并取最长的一段作为用户级特征。
在计算上,通常会先筛选出 2023 年 1 月的登录数据,对同一用户同一天的重复登录进行去重;然后按用户对登录日期升序排序,给每条登录记录生成顺序编号;再利用“登录日期减去序号”这一方法识别连续登录区间,因为连续日期减去连续序号后会落在同一分组中;接着按用户和连续分组统计每段连续登录天数;最后再对每个用户取最大值,得到其最长连续登录天数。
在分析层面,我不会只停留在这个特征本身,还会进一步观察最长连续登录天数的分布、高连续用户占比、关键断点位置,以及在新老用户、渠道、时间节点等维度下的差异。
从漏斗位置看,这个指标属于用户生命周期中的留存与稳定活跃阶段,用来衡量用户是否已经形成持续使用习惯。
在输出层面,我会基于结果进一步形成业务结论,比如判断用户连续活跃整体处于什么水平、关键流失断点主要出现在什么阶段、不同用户分层之间是否存在明显差异,以及问题更偏向新用户承接、老用户衰减还是渠道质量差异。
最终再将结论转化为关键动作,例如优化新手承接链路、设计 3 日和 7 日关键节点激励、进行分层运营,并通过内容供给、触达策略和权益机制来提升用户持续登录和活跃稳定性。
全部评论
相关推荐
查看27道真题和解析