本包目录(311 条)

留存分析模型

留存模型按首日分组加后续活跃天数组织:先取用户首日行为日期作为 cohort,再统计第 N 日或第 N 周是否活跃;输出明细留存表或透视结果,供看板展示留存曲线。

口径首日 cohort + 第 N 日活跃标志
粒度首日 × 用户 × 留存天数
算法按日期差计算 day_diff
注意活跃定义要与业务统一(登录/下单/访问)

N 日留存 SQL

N 日留存 SQL
WITH first_day AS (
  SELECT user_id, MIN(dt) AS first_dt FROM dwd_user_login_di GROUP BY user_id
)
SELECT f.first_dt,
       DATEDIFF(l.dt, f.first_dt) AS day_diff,
       COUNT(DISTINCT l.user_id) AS user_cnt
FROM first_day f
JOIN dwd_user_login_di l ON f.user_id = l.user_id
WHERE DATEDIFF(l.dt, f.first_dt) BETWEEN 0 AND 30
GROUP BY f.first_dt, DATEDIFF(l.dt, f.first_dt);
留存率的分母是当日新增用户数,分子是第 N 日仍活跃的这批人;分母口径变化会让整条曲线跳变。

易错点

  • 活跃定义前后不一致,留存曲线出现无法解释的跳变
  • 把新老用户混进同一 cohort,留存率被老用户拉高

数据来源与参考

  • 行业用户增长分析实践(留存口径)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌