sql >> Databáze >  >> RDS >> Mysql

Jak vypočítat denní aktivní uživatele (DAU) v MySQL

Denní aktivní uživatelé (DAU) jsou užitečným KPI pro každou firmu. Pomůže vám pochopit, kolik lidí skutečně používá váš produkt/službu každý den. Zde je návod, jak vypočítat denní aktivní uživatele (DAU) v MySQL.

Jak vypočítat denní aktivní uživatele (DAU) v MySQL

K tomuto účelu budete potřebovat především 2 sloupce – ID uživatele a časové razítko (kdy byl uživatelský účet vytvořen). Řekněme, že jste uložili informace o uživateli do následující tabulky users(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 | ...                 |
+----+---------------------+


Zde je jednoduchý SQL dotaz pro výpočet denních aktivních uživatelů (DAU) v MySQL za předchozí den

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

Výše uvedené DAU můžete vykreslit jako graf s jedním číslem na řídicím panelu.

Podívejte se také na Jak vypočítat týdenní aktivní uživatele (WAU) v MySQL.

Pokud chcete přidat nějaký druh filtru (např. status=4), aby se počítali pouze konkrétní uživatelé, můžete přidat podmínku do klauzule WHERE ve výše uvedeném dotazu SQL

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

Pokud chcete vypočítat denní DAU, tedy denní aktivní uživatele každý den, pak zde je SQL dotaz pro výpočet denních aktivních uživatelů (DAU) v 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 |  ...   |
+------------+--------+

Chcete-li získat trend růstu vaší firmy, můžete použít nástroj pro vytváření grafů k vykreslení denní hodnoty DAU do spojnicového grafu. Zde je příklad spojnicového grafu vytvořeného pomocí Ubiq

Výše uvedené dotazy můžete snadno přizpůsobit pro výpočet DAU za poslední měsíc nebo můžete získat denní hodnoty DAU a vykreslit je do spojnicového grafu.

Pokud chcete vytvářet grafy, dashboardy a sestavy z databáze MySQL, můžete zkusit Ubiq. Nabízíme 14denní bezplatnou zkušební verzi.

  1. Jak spustit SQL skript v MySQL?

  2. Vytvořte úlohu SQL Server Agent v Azure Data Studio

  3. Mám specifikovat INDEX i UNIQUE INDEX?

  4. Zpráva o trendech PostgreSQL 2019:soukromý vs. veřejný cloud, migrace, kombinace databází a hlavní důvody použití