跳转到主要内容

使用 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 |
+---------+--------+--------+