首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

大数据 面试 SQL 040 计算次日留存

以用户登录的最早日期作为新增日期,请计算次日留存是多少。...+----------+-------------+ 二、分析 维度 评分 题目难度 ⭐️⭐️⭐️⭐️ 题目清晰度 ⭐️⭐️⭐️⭐️⭐️ 业务常见度 ⭐️⭐️⭐️⭐️⭐️ 三、SQL 指标定义: 次日留存用户...:新增用户第二天登录(活跃)的用户; 次日留存:t+1日留存用户数/t日新增用户; 1.根据登录日志,使用开窗函数计算出用户的最小登录时间作为新增日期first_day,然后计算当天日期和新增日期的时间差...login_date asc)) as date_diff from t_login_040 )t group by first_day order by first_day asc 查询结果 3.用次日留存数.../新增用户数据即为留存,因为新增可能为0,所以需要先判断。

54110

clickhouse实现留存数和留存计算

关于留存的计算是我们分享业务走向一种非常重要的方式,所谓留存用户,是用户在某一段时间内开始使用某个功能,到后面某一段时间又使用这个应用的用户,我们称这批用户叫留存用户。...后面我们定义留存其实更多是基于两个事件来,比如某一天完成a事件,然后又完成b事件,这个我们叫b的留存,当然我们这个可以基于用户也可以基于设备。...下面我们来看clickhouse实现留存,关于clickhouse有个专用的留存函数,来处理留存用户数。...上面分别是 a:2020-01-01 注册数 b:2020-01-01 注册并充值人数活跃数 c:2020-01-02 注册并充值的1日活跃数 d:2020-01-03 注册并充值的2日活跃数 关于留存或者活跃我没有写例子...留存计算一般其实是针对于一天来计算 活跃是算一段时间的累计数

1.6K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    用SQL进行用户留存计算

    思路分析 所谓留存,就是指某日创建的账号在后续自然日登录的比例,比如3月1日新增账号创建数为100,在3月2日这部分用户登录数为51,那么3月1日新增用户的次日留存为51/100=51%。...注意:我这里用的MYSQL环境 基于上述的理解,我们大概就有了以下思路: 考虑到用户每天登录的次数不一定只有一次,为了方面后续的数据处理,可以先对登录数据按照日期和用户id进行去重DISTINCT处理...END)) 7日留存 FROM temp_1 GROUP BY create_date 用第N天登录的数据 / 新增用户数 就是对应第N天留存 3....完整代码 SELECT create_date , 新增用户数 , concat(CAST(ROUND((100 * 次日留存) / 新增用户数,2) AS char), '%') 次日留存 ,...concat(CAST(ROUND((100 * 3日留存) / 新增用户数,2) AS char), '%') 3日留存 , concat(CAST(ROUND((100 * 7日留存) / 新增用户数

    1.4K20

    利用Python计算新增用户留存

    前面我们介绍过《利用Python统计连续登录N天或以上用户》,这次我们聊聊怎么用python计算新增用户留存。...3、留存计算 1)使用透视表计算留存数 #使用透视表,计算创角日期对应用户第x天登录的数量(非重复计数) data = pd.pivot_table(df,values='role_id',index...)留存计算(两列相除) #留存计算 #用 1 days 列 除以 0 days为次日留存,依次类推 #我们用for循环语句可以实现该算法 create_index = data.columns...4、索引名称调整并导出数据 #修改结果数据表的列索引名称,然后导出表即可 df.columns=['创角日期','注册玩家数','次日留存','3日留存','4日留存','5日留存','6日留存...','七日留存'] ?

    1.4K30

    位运算实现用户留存

    统计留存之前先弄清一下留存的概念,百度百科中是这么说的: 用户在某段时间内开始使用应用,经过一段时间后,仍然继续使用应用的被认作是留存; 这部分用户占当时新增用户的比例即是留存,会按照每隔1单位时间...顾名思义,留存指的就是“有多少用户留下来了”。留存用户和留存体现了应用的质量和保留用户的能力。...依次类推 那次日留存为50%,三日留存为30% 。 在统计系统中经常需要统计用户留存,这里整理下用户留存统计的几种实现方式。...,以次日留存为例。...0 0 0 0 0 0 0 0 0 0 1 0 按位与是将都为1的设置为1,如果用整数来表示,求次日留存是 3 & 2 ,如果结果为2则表示次日有访问过,如果不为2结果为0则说明没有访问过。

    78910

    新手必知的用户留存知识

    在AARRR模型中用户留存处于第三个环节,获取(Acquisition)、活跃(Activation)、留存(Retention)、收入(Revenue)、推荐(Referral)。...按照互联网APP用户留存定义来划分,我们可以将用户留存分成次日留存、7日留存、30日留存,这是最笼统的留存看法,具体到某个APP,还要根据APP属性细看具体的留存指标,具体到每家企业/APP产品价值不同...比如首次投资、复投、首次借款、首次记账、首次还款等,前缀一般都是次日、7日、30日,例如7日首次投资为40%,30日复投为80%,7日首次还款为20%,30日首次还款为30%等。...用户留存的四大方向 1....物质留存 做积分商城或者说积分体系,是目前最常见的物质提高用户留存的手段,有很多不错的APP在积分商城方面都做了很好的先例,而且效果显著,如天猫、滴滴、赶集等。

    86430

    「原理」如何提升新用户留存

    言归正传,最近一直在忙用增上的事情,一直在想办法提高新用户留存。趁热打铁,今天我们就来讲讲,关于新用户(NU:New User)这块儿的一些思考和问题。 问题1:什么是新用户?...在这个阶段内,我们不仅需要提升用户短期内的转化,还需要对产品的本分功能持续优化,这样才能不断提升用户的留存。 问题3:如何提升新用户期留存?...至于如何确定 多少时间,以及多少次什么行为,主要有三个步骤: 1、通过行为的留存,我们能判断出哪个行为更重要,即什么行为 2、通过用户的留存,我们能找到留存拐点,即多少时间(一般是多少天) 3、通过这段时间内...,行为次数的留存拐点,我们能找到多少次 当然,算法大佬们还可以通过行为与留存的相关性计算,直接找到时间段&次数&行为,这里就不细说了。...我们可以通过提升漏斗转化,以及引导用户完成固定时间周期内次数的行为,提升新用户的留存。但是这个只是最基础的,更多的还需要计算链路贡献度,不断的去精细化迭代优化。

    82040

    干货 | 如何用SQL做留存分析

    用户留存有很多种:新客留存、老客留存、活跃用户留存、购买留存、或者某个功能使用用户的留存等,通常计算的时间间隔为次日、3日、7日、30日、60日,根据业务不同需求可以选择不同的计算方式以及时间间隔...次日新客留存(第1日新客留存):指注册APP后的第二天有访问APP的行为的留存用户/注册APP当天的新客总数。...例如,想要计算用户次日留存只需在上面的计算结果表找出登录时间距离注册日期的天数=1的数据,想要计算用户7日留存,只需要在上表找出登录时间距离注册日期<=7的记录,代码如下: SELECT a.register_day..."当天新增人总数" ,COUNT(DISTINCT CASE WHEN remain_days=1 THEN a.operator_id ELSE NULL END) AS "次日留存用户数...DISTINCT CASE WHEN remain_days=1 THEN a.operator_id ELSE NULL END)/count(DISTINCT a.operator_id),2) AS "次日留存

    4.7K50

    数据分析简易入门(2)| 用户留存

    示例:如果昨日新增的100个用户,其中30人在今日再次回到产品,则昨日的新用户次日留存为30%。 新用户留存是最为常用的留存计算方式。在大多数情况下,如果没有特殊说明,留存=新用户留存。...活跃用户留存: 活跃用户留存以用户活跃作为留存起始条件进行计算 示例:如果昨日活跃的100个用户,其中40人在今日再次回到产品,则昨日的活跃用户次日留存为40%。...留存的时间粒度与计算公式 时间粒度:时间粒度可以分为日、周、月、年。 用户在新增或使用产品后当日回到产品的比率,计为当日留存。 用户在新增或使用产品后第2天回到产品的比率,计为次日留存。...常见误区:7日留存vs 7日内留存 7日内留存指用户在往后一周内任意一天回到产品的比例。...各种时间粒度留存的适用场景 产品经理需要检测一个产品的健康程度,可以通过日留存和周留存指标来进行观察。

    1.7K51

    留存案例:数据指标体系的构建

    所以常用的数据指标可以分成:用户数据(新增、日活、留存等);行为数据(访问深度、转化等);业务数据(一般会和用户数据指标和行为数据指标有些交叉,反应的是业务大盘的情况,比如GMV、ARPU值等)。...使用这些指标的注意和坑 假如你是一名分析师吗,可能你会遇到这样的场景,”同一个指标“不同的人可能也得到不一样的结果: 比如产品经理A说的本月的留存是20%,产品经理B说本月的留存是24%,那到底谁是对的...留存的案例 某高质量用户产品在2020年国庆节那一天(10月1日)开始试运营,那天通过拉新来了5位用户,国庆节过完来,老板想知道10月1日这波拉新用户的7日留存。...0,7日留存0,效果非常不好,不可以继续投放拉新了 SELECT min_date, COUNT(CASE WHEN (active_date-min_date) = 6 THEN userid...5,7日留存是100%,效果非常好,可以继续投放拉新”。

    63610

    链家面试题:如何分析留存

    时间间隔from c)group by a.登陆时间; 将临时表c的sql代入上面就得到了查询结果如下: 3.次日留存 留存=新增用户中登录用户数/新增用户数,所以次日留存=次日留存用户数/当日用户活跃数...当日活跃用户数是count(distinct 用户id) 在上面分析次日留存数中,用次日留存用户数/当日用户活跃数就是次日留存 select *,count(distinct when 时间间隔=1...then 用户id else null end) as 次日留存数 / count(distinct 用户id) as 次日留存 from(select *,timestampdiff...,七日留存次日留存用户数,次日留存分析思路一样,只需要更改时间间隔=N(日留存)即可。...,count(distinct when 时间间隔=1 then 用户id else null end) as  次日留存数 / count(distinct a.用户id) as 次日留存,count

    3.1K10

    【干货】小白学数据分析—留存是什么?

    对于这个准则不予评价,今天就是简单说说留存就是是个什么玩意。 留存顾名思义,就是留下来存在的比率。从时间上我们分为次日、三日、七日、14日、30日、90日、180日。...次日留存:新登用户在首登后的次日再次登录游戏的比例; 3日留存:新登用户在首登后的第三天再次登录游戏的比例; 7日留存:新登用户在首登后的第七天再次登录游戏的比例。...以此类推计算下去就得到了N日留存。 ? 在此图中,我们看到7日新登用户在8日登录的为次日留存用户,9日登录为2日登录留存用户……这就是留存基本定义,所谓留存就是留存用户/新登的总量。...留存反映的实际上是一种转化,即由初期的不稳定的用户转化为活跃用户、稳定用户、忠诚用户的过程,随着这个留存统计过程的不断延展,就能看到不同时期的用户的变化情况。...这类的深入的分析首先是要建立长期的留存跟踪分析的基础上进行的,抓住留存长期的作用特点,才能更好的把握这类深层次的分析。

    2.1K70

    SQL速算N日留存

    之前才哥发布了《用SQL进行用户留存计算》 链接:用SQL进行用户留存计算 简化数据后得到如下结构的数据: 由于用户和登录日期被设置为主键所以不需要再进行去重,下面看看如何快速求七日留存。...join role_login b using(role_id) ) select install_date, sum(day_diff=0) 新增用户数, sum(day_diff=1) 次日留存...=6) 6日留存, sum(day_diff=7) 7日留存, concat(round(sum(day_diff=1)*100/sum(day_diff=0),2),"%") 次日留存, concat...=0),2),"%") 3日留存, concat(round(sum(day_diff=4)*100/sum(day_diff=0),2),"%") 4日留存, concat(round(sum...按照上面SQL的思路可以轻松任意日的留存。 本题相当于《SQL刷题宝典-MySQL速通力扣困难题》一文中,其他-》游戏玩法分析5的扩展。

    64210

    一场pandas与SQL的巅峰大战(六)

    本文目录: 数据准备 日活计算 SQL计算日活 pandas计算日活 留存计算 SQL计算 次日留存计算 多日留存计算 pandas...留存是一个动态的概念,指的是某段时间使用了产品的用户,在一段时间之后仍然在使用产品的用户,二者相比可以求出留存。常见的留存次日留存,7日留存,30日留存等。...次日留存是指今天活跃的用户,在明天还剩下多少仍然活跃的用户。留存越高,说明产品的粘性越好。...本次我们只用到MySQL和pandas。MySQL可以直接运行我提供的login.sql文件加载数据,具体过程可以参考前面的文章。...分别计算次日留存,7日,14日留存。 ? SQL方式 次日留存计算 同前面计算日环比周同比一样,我们可以采用自连接的方式,但连接的条件除了日期外,还需要加上uid,这是一个更加严格的限制。

    1.8K11

    游戏行业实战案例1:日活跃分析

    08-13至2022-08-14)的角色登录和登出日志如下 一天中,玩家可以多次登录登出游戏,请使用SQL分析出以下业务问题: 分析开服首日(2022-08-13),游戏的DAU(日活跃玩家数)和次日留存...(次日仍登录的活跃玩家数/当日活跃玩家总数) 【解题思路】 问题1:分析开服首日(2022-08-13),游戏的DAU(日活跃玩家数)和次日留存次日仍登录的活跃玩家数/当日活跃玩家总数) 1.计算开服首日游戏的...因为次日留存=次日仍登录的活跃玩家数/当日活跃玩家总数。...所以开服首日的次日留存=开服次日(2022-08-14)仍登录的活跃玩家数/开服首日的活跃玩家总数。...,计算次日仍登录的活跃玩家数的count(distinct 角色id)/计算首日登录的活跃用户数的count(distinct 角色id)即为次日留存

    62430

    如何用Excel进行预测分析?

    【面试题】 一个社交APP, 它的新增用户次日留存、7日留存、30日留存分别是52%、25%、14%。 请模拟出来,每天如果日新增6万用户,那么第30天,它的日活数会达到多少?...【分析思路】 第1日(次日)留存用户数=第1日新增用户数*次日留存 第2日活跃用户数=第2日新增用户数+第1日留存用户数 第3日活跃用户数=第3日新增用户数+第2日留存用户数(第2日新增用户数*第2...所以现在的问题是需要知道每天的留存是多少。 那么,问题就来了。题目只有3个留存(新增用户次日留存、7日留存、30日留存分别是52%、25%、14%)。...(在股票、基金、汇率等技术分析中常用) 3.计算第n天留存 拟合出留存曲线后, 我们就可以根据拟合的函数公式(y = 0.5227x^-0.385)去计算次日到30日的留存。...第1日(次日)留存用户数=第1日新增用户数*次日留存 第2日活跃用户数=第2日新增用户数+第1日留存用户数 第3日活跃用户数=第3日新增用户数+第2日留存用户数(第2日新增用户数*第2日留存)+第

    2.1K00

    怎么进行用户留存分析?

    【题目】: 某电商平台面试题: 下面为用户登录表,分别计算用户的次日、3日留存数及留存 【解题思路】 此题的核心是怎么计算用户的留存数/留存?...用户留存是电商行业经常用到的指标,用户的留存数指“第一天登录,以后几天还继续登录的用户数”,"留存=次日留存数/当日总的用户数"。...因此先要计算出每日的总的用户数、次日留存数,然后再计算留存。...distinct case when dates.间隔天数=1 then dates.用户ID else null end)/count(distinct dates.用户ID)*100,2),'%') as 次日留存...case when dates.间隔天数=1 then dates.用户ID else null end)/count(distinct dates.用户ID)*100,2),'%') as 次日留存

    83320

    如何提高小程序的用户留存?用完即走,走了还会回来

    这就关系到小程序的留存能力,那么,如何才能有效地提高小程序的留存? 微信官方显然也很重视这个问题,一直在升级、开放权限提高留存,提升用户体验,加快流量变现。...这个功能在一定程度上提高了留存,更方便C端用户的触达,能够大幅度的提高小程序的留存和活跃。...但除了依赖官方的升级提升留存,商家还需要在主动运营上多下功夫,从以下几方面着手布局主动去触达用户,提高用户留存。...用户只用点击就能直接进入小程序界面,且模板消息出现后都能让用户明显看到,点击也很高,对用户留存也有着一定的帮助。...利用营销活动提高用户复购 从用户的消费心理上看问题,每次一个好的购物体验绝对能够大幅度提升用户的留存和复购的。

    1.5K20

    最全的用户数据指标解读

    活跃:是活跃用户在总用户数的占比,用活跃用户数除以总用户数。 根据时间可分为日活跃、周活跃、月活跃等。 3)留存 什么是留存?...根据时间,留存又分为次日留存,第7日留存,第30日留存次日留存:(当天新增的用户中,在第2天使用过产品的用户数)/第一天新增总用户数 第3日留存:(第一天新增用户中,在第3天使用过产品的用户数...第一天新增用户100个,第二天这100个人里有40个人打开过app,那么次日留存=40/100=40%。...如果第七天这100个人人里有20个人打开过app,那么称七日留存=40/100=20% Facebook有一个著名的40-20-10法则,即新用户次日留存为40%,7日留存为20%,30日留存为...用户数据指标有3个:日新增用户,活跃留存

    1.2K00
    领券