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

SQL统计留存率的核心是对比“初始行为用户”和“后续某天仍活跃的同一用户”,关键在准确圈定基准人群、识别回访行为、按时间维度对齐计算。
留存率 = (第N日仍活跃的首日用户数 ÷ 首日活跃用户总数)× 100%。常见有次日留存、7日留存、30日留存。必须先约定“活跃行为”是什么(如登录、下单、访问首页),以及“首日”如何定义(如首次注册日、首次下单日、某活动参与日)。
用子查询或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
超多功能的免费在线生图网站!拥有全网更齐全的模型库,0门槛使用!
325
查看详情
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';
如果要一次性输出每个注册日对应的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
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。