Weekly Active Users (WAU) er en nyttig nøglepræstationsindikator (KPI) til at spore for enhver onlinevirksomhed. Det giver dig en idé om, hvor mange der bruger dit produkt/tjeneste mindst én gang om ugen. Sådan beregner du ugentlige aktive brugere (WAU) i MySQL.
Sådan beregnes ugentlige aktive brugere (WAU) i MySQL
Lad os sige, at du har følgende tabelbrugere (bruger_id, sidste_login). sidste_login er tidsstemplet for sidste gang, en bruger loggede ind. Nogle systemer gemmer også dette tidsstempel som modified_date, updated_at osv.
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 | +---------+---------------------+
Her er SQL-forespørgslen til at beregne ugentlige aktive brugere (WAU) i MySQL for den sidste uge.
mysql> SELECT COUNT(DISTINCT user_id) FROM users WHERE last_login > NOW() - INTERVAL 1 WEEK; +-------------------------+ | COUNT(DISTINCT user_id) | +-------------------------+ | 16 | +-------------------------+
Bonus læst:Sådan beregner du månedlige aktive brugere (MAU) i MySQL
Hvis du vil tilføje filtre (f.eks. status=4) til din forespørgsel, kan du tilføje den til WHERE-sætningen, som vist nedenfor med fed skrift .
SELECT COUNT(DISTINCT id) as DAU FROM users WHERE date_joined > NOW() - INTERVAL 1 DAY and status=4;
Hvis du ønsker at beregne Weekly Active Users (WAU) for hver uge i dine data, skal du bruge følgende SQL-forespørgsel. I dette tilfælde bruger vi blot WEEK-funktionen til at samle brugere baseret på deres last_login værdier.
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 | ...| +------+-----+
Du kan nemt tilpasse ovenstående forespørgsel til at beregne ugentlige aktive brugere (WAU) i MySQL og plotte dem på et linjediagram.
Hvis du vil beregne, hvor mange brugere der vender tilbage til dit websted hver uge, så kan du her se, hvordan du beregner fastholdelsesraten i SQL.
Hvis du vil beregne ugentlige aktive brugere for hver dag, det vil sige aktive brugere for de foregående 6 dage, for hver dag, så kan du bruge følgende forespørgsel. Her beregner vi også DAU (Daglige aktive brugere) sammen med 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 | +------------+-----+-----+
I ovenstående forespørgsel tæller vi for hver dag antallet af forskellige brugere, der loggede ind den dag og de foregående 6 dage.
Nu har du set forskellige måder at beregne ugentlige aktive brugere (WAU) i MySQL. Du kan tilpasse dem efter dit behov.
Du kan også bruge et diagramværktøj til at plotte ugentlige aktive brugere i søjlediagram og dele det med dit team. Her er et eksempel på søjlediagram, der viser WAU, oprettet ved hjælp af Ubiq
Hvis du vil oprette diagrammer, dashboards og rapporter fra MySQL-databasen, kan du prøve Ubiq. Vi tilbyder en 14-dages gratis prøveperiode.