sql >> Databasteknik >  >> RDS >> Mysql

Hur man beräknar dagliga aktiva användare (DAU) i MySQL

Daily Active Users (DAU) är en användbar nyckeltal för varje företag. Det hjälper dig att förstå hur många som faktiskt använder din produkt/tjänst varje dag. Så här beräknar du dagliga aktiva användare (DAU) i MySQL.

Hur man beräknar dagliga aktiva användare (DAU) i MySQL

Du behöver huvudsakligen 2 kolumner för detta ändamål – användar-id och tidsstämpel (när användarkontot skapades). Låt oss säga att du har lagrat användarinformation i följande tabellanvändare (id, date_joined)

mysql> create table users (
id int(11) NOT NULL auto_increment,
date_joined timestamp,
PRIMARY KEY (id)
);


mysql> insert into users values
(1, '2019-12-01 2:00:00'),
(2,'2019-12-01 2:30:00'),
(3,'2019-12-02 10:00:00'),
...;

mysql> select * from users;
+----+---------------------+
| id | date_joined         |
+----+---------------------+
|  1 | 2019-12-01 02:00:00 |
|  2 | 2019-12-01 02:30:00 |
|  3 | 2019-12-01 10:00:00 |
|  4 | ...                 |
+----+---------------------+


Här är en enkel SQL-fråga för att beräkna dagliga aktiva användare (DAU) i MySQL för föregående dag

SELECT COUNT(DISTINCT id)
    FROM users
    WHERE date_joined > NOW() - INTERVAL 1 DAY;
+--------------------+
|         DAU        |
+--------------------+
|        120         |
+--------------------+

Du kan plotta ovanstående DAU som ett enda nummerdiagram på din instrumentpanel.

Kolla också in Hur man beräknar aktiva användare per vecka (WAU) i MySQL.

Om du vill lägga till något slags filter (t.ex. status=4) för att bara räkna specifika användare, kan du lägga till villkoret till WHERE-satsen i SQL-frågan ovan

SELECT COUNT(DISTINCT id) as DAU
    FROM users
    WHERE date_joined > NOW() - INTERVAL 1 DAY and status=4;
+--------------------+
|        DAU         |
+--------------------+
|        31          |
+--------------------+

Om du vill beräkna daglig DAU, det vill säga dagliga aktiva användare varje dag, är här SQL-frågan för att beräkna dagliga aktiva användare (DAU) i MySQL.

SELECT DATE(date_joined) AS DAY,
       COUNT(id) AS DAU
    FROM users
    GROUP BY DATE(date_joined);

+------------+--------+
|   DAY      |  DAU   |
+------------+--------+
| 2019-01-01 |  70    |
| 2019-01-02 |  77    |
| 2019-01-03 |  71    |
| 2019-01-04 |  70    |
| 2019-01-05 |  ...   |
+------------+--------+

Du kan använda ett diagramverktyg för att plotta det dagliga DAU-värdet i ett linjediagram för att få fram tillväxttrenden för ditt företag. Här är ett exempel på ett linjediagram skapat med Ubiq

Du kan enkelt anpassa ovanstående frågor för att beräkna DAU för den senaste månaden, eller få dagliga DAU-värden och rita dem på ett linjediagram.

Om du vill skapa diagram, instrumentpaneler och rapporter från MySQL-databasen kan du prova Ubiq. Vi erbjuder en 14-dagars gratis provperiod.

  1. Vad är skillnaden mellan ett Oracle- och ett Microsoft-schema?

  2. Använd SCOPE_IDENTITY() för att returnera det senast infogade identitetsvärdet i samma omfattning (SQL-server)

  3. Introduktion till datakopplingar och relationer

  4. CURRENT_DATE/CURDATE() fungerar inte som standardvärde för DATE