SQL统计留存率怎么做_用户行为分析SQL思路【指导】


SQL统计留存率的核心是对比初始行为用户与后续某天仍活跃的同一用户,需准确定义活跃行为和首日、统一时间粒度、去重构造基准用户群,并通过JOIN或窗口函数计算各日留存人数及比率。

sql统计留存率怎么做_用户行为分析sql思路【指导】

SQL统计留存率的核心是对比“初始行为用户”和“后续某天仍活跃的同一用户”,关键在准确圈定基准人群、识别回访行为、按时间维度对齐计算。

明确留存定义与时间粒度

留存率 = (第N日仍活跃的首日用户数 ÷ 首日活跃用户总数)× 100%。常见有次日留存、7日留存、30日留存。必须先约定“活跃行为”是什么(如登录、下单、访问首页),以及“首日”如何定义(如首次注册日、首次下单日、某活动参与日)。

  • 若以“注册日”为起点,需确保表中有 user_idregister_date
  • 若以“首次登录日”为起点,需先用窗口函数算出每个用户的 first_login_date
  • 时间粒度统一用日期(DATE(event_time)),避免时分秒干扰分组

构造首日用户集合

用子查询或CTE提取所有在基准日(如2025-12-01)发生目标行为的用户,作为分母基础。例如:

WITH cohort AS (
  SELECT DISTINCT user_id
  FROM event_log
  WHERE DATE(event_time) = '2025-12-01'
    AND event_type = 'login'
)

这一步必须去重,避免同一用户多次行为重复计入分母。

关联后续行为并计算留存

将首日用户集合与后续日期的行为表左连接(或内连接,视是否只统计有回访者),按天聚合回访人数。例如统计次日留存:

吐司AI 吐司AI

超多功能的免费在线生图网站!拥有全网更齐全的模型库,0门槛使用!

吐司AI 325 查看详情 吐司AI

SELECT
  COUNT(DISTINCT c.user_id) AS cohort_size,
  COUNT(DISTINCT e.user_id) AS retained_day1,
  ROUND(COUNT(DISTINCT e.user_id) * 100.0 / COUNT(DISTINCT c.user_id), 2) AS retention_day1
FROM cohort c
LEFT JOIN event_log e
  ON c.user_id = e.user_id
    AND DATE(e.event_time) = '2025-12-02'
    AND e.event_type = 'login';

  • LEFT JOIN 保证分母完整;若用 INNER JOIN,则只保留有回访的用户,无法直接算比率
  • 多日留存可扩展:用 DATE_DIFF(ClickHouse/StarRocks)或 DATEDIFF(MySQL)配合 GROUP BY 实现批量计算
  • 高效率场景建议在数仓中预计算用户每日活跃宽表,再做JOIN,避免实时扫描大日志表

用窗口函数支持滚动留存(进阶)

如果要一次性输出每个注册日对应的7日留存曲线,可用窗口函数标记每个用户的首次行为日,再自连接判断间隔:

WITH first_act AS (
  SELECT user_id, MIN(DATE(event_time)) AS first_date
  FROM event_log WHERE event_type = 'login'
  GROUP BY user_id
),
retention_days AS (
  SELECT
    fa.first_date,
    DATEDIFF('day', fa.first_date, DATE(e.event_time)) AS diff_day
  FROM first_act fa
  INNER JOIN event_log e ON fa.user_id = e.user_id
  WHERE DATE(e.event_time) >= fa.first_date
)
SELECT
  first_date,
  COUNT(DISTINCT CASE WHEN diff_day = 0 THEN user_id END) AS day0,
  COUNT(DISTINCT CASE WHEN diff_day = 1 THEN user_id END) AS day1,
  COUNT(DISTINCT CASE WHEN diff_day = 7 THEN user_id END) AS day7
FROM retention_days
GROUP BY first_date;

这种方法适合做趋势分析,但要注意数据量大时需加日期分区过滤,否则性能易下降。

以上就是SQL统计留存率怎么做_用户行为分析SQL思路【指导】的详细内容,更多请关注其它相关文章!


# ai  # datediff  # mysql  # 检测方法  # 南乐整合营销推广  # 进阶  # 重构  # 若以  # 某天  # 次日  # 怎么做  # 分区表  # 首次  # 首日  # 2025  # 金华seo价格  # 谷歌seo绩效  # 百度竞价怎么推广自己的网站  # 衡阳网站建设口碑推荐  # seo图表制作  # 黑龙seo优化免费试用  # 口碑好的网站建设检修  # 陕西定制网站建设哪家强  # seo优化六神云 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 智云Q3和Q2有什么升级_智云Q3与Q2手持云台功能与性能对比分析  微博网页版入口链接 微博网页版在线互动平台  极兔快递官网查询入口手机版 手机极兔快递登录查询入口官方  在VS Code中利用AI辅助进行代码迁移  12306APP选座怎么选充电位置_12306APP带充电插座座位选择方法与技巧  《糖豆》添加舞曲方法  Google Drive API 认证:服务账户与OAuth 2.0的选择与实践  iPhone17Pro如何连接蓝牙耳机_iPhone17Pro蓝牙设备配对与连接方法介绍  顺丰快递在线查询系统 顺丰快递官方查单入口  React应用中Commerce.js数据加载与状态管理最佳实践  iPhone 13 Pro Max如何设置桌面小组件_iPhone 13 Pro Max小组件添加指南  4399造梦西游3无敌版_4399游戏入口  J*a中为什么强调组合优于继承_组合模式带来的灵活性与可维护性解析  在J*a中如何实现在线问答与评分系统_问答评分项目开发方法说明  智学网app怎么登录忘记密码_智学网app忘记密码找回与重新登录操作方法  海棠书屋官方在线书籍入口 海棠书屋文学作品浏览官网链接  行者app怎样导出日志  《崩坏:星穹铁道》3.6版本异相仲裁打法及配队推荐  如何在Golang中处理表单文件上传_Golang 表单文件上传示例  《书耽》更换手机号方法  高德地图怎么查看未来行程规划_高德地图未来行程规划查看方法  C#解析来自网络的XML流数据 实时错误处理与重试机制  谷歌浏览器怎么把网页翻译成中文_Chrome网页翻译功能使用方法  如何修改Windows截图的默认保存位置_告别C盘让桌面更整洁【教程】  铁路12306入口 铁路12306官网版入口登录网址  Dash应用多值文本输入处理与类型转换教程  在Django单元测试中优雅处理信号:基于环境的条件执行策略  顺丰快递收费标准查询_如何查看顺丰最新收费价格  苹果电脑如何快速查看电池状态 苹果电脑电池信息快捷方法  Yandex俄罗斯搜索引擎官网入口 Yandex网页端直接访问  126邮箱网页在线登录2025_126邮箱网页版入口官方地址  键盘测试软件哪个好_键盘故障检测工具推荐  如何用Golang优化微服务间请求性能_Golang 微服务请求性能优化方法  J*a中逻辑运算符如何使用_逻辑与或非的基础用法讲解  安居客移动经纪人怎么设置自动回复?-安居客移动经纪人设置自动回复的方法  J*aScript字符串_Unicode处理  使用 .htaccess 正确配置 WordPress 子目录重定向与路径保留  视频号视频怎么提取文案?提取的文案如何优化与使用?  J*aScript:从子元素中批量移除特定CSS类  c++中的const关键字用法大全_c++ const正确使用指南  mysql如何回滚事务_mysql ROLLBACK事务回滚方法  Symfony路由参数转换器:实体存在性验证与错误处理策略  微博网页版访问入口 微博网页版网页端使用指南  AffinityDesigner图层蒙版怎么用_AffinityDesigner图层蒙版设计应用  VS Code的时间线(Timeline)视图:您的代码时光机  广州地铁app准妈咪徽章领取方法  铁路12306官网登录入口 铁路12306在线购票官方平台  《飞猪旅行》购买汽车票方法  多闪电脑版下载_多闪PC端模拟器使用  Flask 应用中图片动态更新与上传:实现客户端定时刷新与服务器端文件管理 

 2025-12-18

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.