Короткий ответ
DAU — число уникальных пользователей, совершивших целевое действие за календарный день, MAU — то же самое за 30 дней или календарный месяц; отношение DAU/MAU (sticky factor) показывает, какая доля месячной аудитории возвращается в продукт ежедневно.
Как это работает подробнее
обе метрики считаются по уникальным идентификаторам пользователя (user_id), а не по числу событий или сессий; "активностью" может быть открытие приложения, логин или конкретное целевое действие — это определяется продуктом.
Пример кода
product_metrics.sql
-- PostgreSQL
SELECT COUNT(DISTINCT user_id) AS dau
FROM events
WHERE event_date = DATE '2024-03-15';
SELECT COUNT(DISTINCT user_id) AS mau
FROM events
WHERE event_date BETWEEN DATE '2024-02-14' AND DATE '2024-03-15';Что использовать на практике
- Применение. перед расчётом нужно зафиксировать точное определение "активности" и окно MAU (скользящие 30 дней или календарный месяц — это разные числа); типичные значения sticky factor для большинства приложений 0.1–0.3, для мессенджеров и соцсетей — 0.4–0.6+.
- Проверка или пример. Проверка: DAU/MAU должен лежать в диапазоне (0;1]; если DAU > MAU — ошибка в фильтрах периода.
Подводные камни
- Частая ошибка. считают MAU как сумму DAU за месяц (неверно — один и тот же пользователь заходит много раз и не должен учитываться повторно); сравнивают DAU/MAU между продуктами с разным определением "активности" без поправки.