Người dùng hoạt động hàng tuần (WAU) là một chỉ số hiệu suất chính (KPI) hữu ích để theo dõi cho mọi doanh nghiệp trực tuyến. Nó cung cấp cho bạn một ý tưởng về số lượng người sử dụng sản phẩm / dịch vụ của bạn ít nhất một lần một tuần. Dưới đây là cách tính Người dùng hoạt động hàng tuần (WAU) trong MySQL.
Cách tính số người dùng hoạt động hàng tuần (WAU) trong MySQL
Giả sử bạn có những người dùng bảng sau (user_id, last_login). last_login là dấu thời gian của lần cuối cùng người dùng đăng nhập. Một số hệ thống cũng lưu trữ dấu thời gian này dưới dạng ngày_cửa_hóa, ngày_tập_dục, v.v.
mysql> create table users(user_id int, last_login datetime); mysql> insert into users(user_id, last_login) values(1,'2020-03-01 10:00:00'), (2,'2020-03-02 09:00:00'),(3,'2020-03-03 14:00:00'),(4,'2020-03-04 11:00:00'), (5,'2020-03-05 12:00:00'),(6,'2020-03-06 20:00:00'),(7,'2020-03-07 21:00:00'), (8,'2020-03-08 12:00:00'),(9,'2020-03-09 20:00:00'),(10,'2020-03-10 21:00:00'), (11,'2020-03-11 12:00:00'),(12,'2020-03-12 20:00:00'),(13,'2020-03-13 21:00:00'), (14,'2020-03-13 12:00:00'),(15,'2020-03-15 20:00:00'),(16,'2020-03-16 21:00:00'); mysql> select * from users; +---------+---------------------+ | user_id | last_login | +---------+---------------------+ | 1 | 2020-03-01 10:00:00 | | 2 | 2020-03-02 09:00:00 | | 3 | 2020-03-03 14:00:00 | | 4 | 2020-03-04 11:00:00 | | 5 | 2020-03-05 12:00:00 | | 6 | 2020-03-06 20:00:00 | | 7 | 2020-03-07 21:00:00 | | 8 | 2020-03-08 12:00:00 | | 9 | 2020-03-09 20:00:00 | | 10 | 2020-03-10 21:00:00 | | 11 | 2020-03-11 12:00:00 | | 12 | 2020-03-12 20:00:00 | | 13 | 2020-03-13 21:00:00 | | 14 | 2020-03-13 12:00:00 | | 15 | 2020-03-15 20:00:00 | | 16 | 2020-03-16 21:00:00 | +---------+---------------------+
Đây là truy vấn SQL để tính toán Người dùng hoạt động hàng tuần (WAU) trong MySQL, trong 1 tuần qua.
mysql> SELECT COUNT(DISTINCT user_id) FROM users WHERE last_login > NOW() - INTERVAL 1 WEEK; +-------------------------+ | COUNT(DISTINCT user_id) | +-------------------------+ | 16 | +-------------------------+
Phần thưởng đọc:Cách tính số người dùng hoạt động hàng tháng (MAU) trong MySQL
Nếu bạn muốn thêm bộ lọc (ví dụ:trạng thái =4) vào truy vấn của mình, bạn có thể thêm bộ lọc đó vào mệnh đề WHERE, như được hiển thị bên dưới bằng in đậm .
SELECT COUNT(DISTINCT id) as DAU FROM users WHERE date_joined > NOW() - INTERVAL 1 DAY and status=4;
Nếu bạn muốn tính Số Người dùng Hoạt động Hàng tuần (WAU) cho mỗi tuần trong dữ liệu của mình, hãy sử dụng truy vấn SQL sau. Trong trường hợp này, chúng tôi chỉ cần sử dụng hàm WEEK để tổng hợp người dùng dựa trên last_login của họ giá trị.
mysql> SELECT WEEK(last_login) AS WEEK, COUNT(user_id) AS WAU FROM users GROUP BY WEEK(last_login); +------+-----+ | WEEK | WAU | +------+-----+ | 9 | 7 | | 10 | 7 | | 11 | 2 | | 12 | ...| +------+-----+
Bạn có thể dễ dàng tùy chỉnh truy vấn trên để tính Người dùng hoạt động hàng tuần (WAU) trong MySQL và vẽ biểu đồ trên biểu đồ đường.
Nếu bạn muốn tính toán số lượng người dùng quay lại trang web của bạn mỗi tuần, thì đây là cách tính tỷ lệ giữ chân trong SQL.
Nếu bạn muốn tính Người dùng đang hoạt động hàng tuần cho mỗi ngày, tức là người dùng đang hoạt động trong 6 ngày trước đó, cho mỗi ngày, thì bạn có thể sử dụng truy vấn sau. Ở đây chúng tôi cũng tính DAU (Người dùng hoạt động hàng ngày) cùng với WAU.
mysql> SELECT d.day , COUNT(DISTINCT u.user_id) AS wau , COUNT(DISTINCT IF(u.day=d.day,u.user_id,NULL)) AS dau FROM ( SELECT DATE(k.last_login) AS `day` FROM users k GROUP BY `day` ) d JOIN ( SELECT DATE(l.last_login) AS `day` , l.user_id FROM users l GROUP BY `day`, l.user_id ) u ON u.day <= d.day AND u.day > DATE_ADD(d.day, INTERVAL -7 DAY) GROUP BY d.day ORDER BY d.day; +------------+-----+-----+ | day | wau | dau | +------------+-----+-----+ | 2020-03-01 | 1 | 1 | | 2020-03-02 | 2 | 1 | | 2020-03-03 | 3 | 1 | | 2020-03-04 | 4 | 1 | | 2020-03-05 | 5 | 1 | | 2020-03-06 | 6 | 1 | | 2020-03-07 | 7 | 1 | | 2020-03-08 | 7 | 1 | | 2020-03-09 | 7 | 1 | | 2020-03-10 | 7 | 1 | | 2020-03-11 | 7 | 1 | | 2020-03-12 | 7 | 1 | | 2020-03-13 | 8 | 2 | | 2020-03-15 | 7 | 1 | | 2020-03-16 | 7 | 1 | +------------+-----+-----+
Trong truy vấn trên, cho mỗi ngày, chúng tôi tính số lượng người dùng riêng biệt đã đăng nhập vào ngày đó và 6 ngày trước đó.
Bây giờ bạn đã thấy các cách khác nhau để tính người dùng hoạt động hàng tuần (WAU) trong MySQL. Bạn có thể tùy chỉnh chúng theo yêu cầu của mình.
Bạn cũng có thể sử dụng công cụ biểu đồ để lập biểu đồ người dùng hoạt động hàng tuần trong biểu đồ thanh và chia sẻ nó với nhóm của bạn. Dưới đây là một ví dụ về biểu đồ thanh hiển thị WAU, được tạo bằng Ubiq
Nếu bạn muốn tạo biểu đồ, trang tổng quan và báo cáo từ cơ sở dữ liệu MySQL, bạn có thể thử Ubiq. Chúng tôi cung cấp bản dùng thử miễn phí 14 ngày.