使用 Databend 分析用户留存
用户留存率可帮助您分析有多少用户返回您的产品或服务。 让我们通过一个示例,看看如何在 Databend 中对其进行分析。
使用 Databend Retention Function 进行用户保留分析既简单又高效。
第1步: Databend
1.1 部署 Databend
请确保您已经成功安装了 Databend。安装指导:
1.2 创建用户
使用 MySQL 客户端连接到 Databend 服务器:
mysql -h127.0.0.1 -uroot -P3307
创建用户:
CREATE USER user1 IDENTIFIED BY 'abc123';
授予用户权限:
GRANT ALL ON *.* TO user1;
参考如何创建用户。
1.3 创建表
使用 MySQL 客户端连接到 Databend 服务器:
mysql -h127.0.0.1 -uuser1 -pabc123 -P3307
CREATE TABLE events(`user_id` INT, `login_date` DATE);
我们有一个带有以下字段的表格:
- user_id - 用户唯一的标识符
- login_date - 用户登录日期
准备数据:
INSERT INTO events SELECT number AS user_id, '2022-05-15' FROM numbers(1000000);
INSERT INTO events SELECT number AS user_id, '2022-05-16' FROM numbers(900000);
INSERT INTO events SELECT number As user_id, '2022-05-17' FROM numbers(100000);
第2步: 用户留存分析
SELECT
sum(r[0]) AS r1,
sum(r[1]) AS r2,
sum(r[2]) AS r3
FROM
(
SELECT
user_id,
retention(login_date = '2022-05-15', login_date = '2022-05-16', login_date = '2022-05-17') AS r
FROM events
GROUP BY user_id
);
留存结果是:
+---------+--------+--------+
| r1 | r2 | r3 |
+---------+--------+--------+
| 1000000 | 900000 | 100000 |
+---------+--------+--------+