mysql 用户留存率计算(每日新增DNU,次日留存率,3日留存率,7日留存率)

我是先学习了这位大神留存率的写法,然后我自己完善了一下。@阿柯@
首先声明一下留存的概念

  1. 次日留存:1月1日注册的新用户,在1月2日登陆了app。即登陆日期 - 注册日期 = 1天。
  2. 3日留存:1月1日注册的新用户,在1月3日登陆了app。即登陆日期 - 注册日期 = 2天。
  3. 7日留存:1月1日注册的新用户,在1月8日登陆了app。即登陆日期 - 注册日期 = 6天。
  4. 但是目前不同公司对留存的定义不太一样,所以以具体的规则为准,这里只是为了方便大家理解。

user_infor,包含user_id(用户ID)和reg_time(注册日期)的字段。

用户ID 注册时间
user_id reg_time

login_log,包含user_id(用户ID)和login_time(登录时间

用户ID 登录时间
user_id login_time

2张表的时间都是datetime类型 YYYY-MM-DD HH:MM:SS

首先在navicate中新建2张表,建表是从大神那里复制过来的。

-- 用户注册表
create table user_info(user_id varchar(10) primary key,reg_time datetime);

insert into user_info values
('u_01','2020-01-01 09:15:00'),
('u_02','2020-01-01 00:04:00'),
('u_03','2020-01-01 22:16:00'),
('u_04','2020-01-01 20:32:00'),
('u_05','2020-01-01 13:59:00'),
('u_06','2020-01-01 21:28:00'),
('u_07','2020-01-01 14:03:00'),
('u_08','2020-01-01 11:00:00'),
('u_09','2020-01-01 23:57:00'),
('u_10','2020-01-01 04:46:00'),
('u_11','2020-01-02 14:21:00'),
('u_12','2020-01-02 11:15:00'),
('u_13','2020-01-02 07:26:00'),
('u_14','2020-01-02 10:34:00'),
('u_15','2
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值