DAU/MAU и stickiness: когда простая метрика начинает врать
Как читать DAU/MAU, WAU/MAU и stickiness без самообмана: когда метрика показывает привычку, а когда скрывает сезонность, платный трафик или редкий сценарий продукта.
Содержание статьи
После DAU у команды почти сразу появляется следующий вопрос: а люди возвращаются часто или просто иногда попадают в месячную аудиторию? Для этого обычно смотрят DAU/MAU, WAU/MAU и называют результат stickiness. Метрика кажется удобной, но с ней легко промахнуться: один и тот же процент может означать привычку, сезонность, всплеск пушей или продукт, который по природе не нужен каждый день.
Коротко
DAU/MAU отвечает не на вопрос “хороший ли продукт”, а на более узкий вопрос: какая доля месячной аудитории активна в обычный день. Это полезный сигнал частоты, но слабая замена retention, когортам и продуктовой логике.
- Для ежедневных продуктов смотри DAU/MAU: игры, мессенджеры, соцсети, ежедневные рабочие инструменты.
- Для продуктов с недельным ритмом часто честнее WAU/MAU: CRM, таск-трекеры, обучение, документация.
- Для редких сценариев низкий DAU/MAU может быть нормой: e-commerce, билеты, страхование, крупные покупки.
- Не сравнивай stickiness между разными типами продуктов без контекста частоты использования.
Что измеряет DAU/MAU
DAU/MAU показывает, какая доля месячной аудитории активна в среднем дне. Если MAU равен 10 000, а средний DAU за месяц равен 2 000, stickiness будет 20%. В бытовом переводе: примерно каждый пятый месячный пользователь появляется в продукте в обычный день.
Главная ошибка — читать этот процент как универсальную оценку здоровья. Для мессенджера 20% может выглядеть тревожно, для маркетплейса с длинным циклом покупки — вполне нормально. Поэтому первый вопрос аналитика звучит не “какая норма”, а “как часто пользователю вообще нужно возвращаться, чтобы получать ценность”.
DAU/MAU = avg_daily_active_users / monthly_active_usersДля отчёта за месяц лучше брать средний DAU за этот месяц, а не случайный дневной срез. Для недельного ритма аналогично смотрят WAU/MAU.
Когда выбирать DAU, WAU или MAU
Период метрики должен повторять естественный ритм продукта. Если пользователь должен открывать сервис каждый день, DAU даёт быстрый сигнал. Если работа идёт по будням или раз в неделю, дневная метрика будет создавать ложную тревогу. Если покупка происходит раз в месяц или реже, MAU и когорты часто полезнее ежедневного шума.
| Сценарий | Что смотреть первым | Почему |
|---|---|---|
| Мессенджер, игра, соцсеть | DAU/MAU | ценность должна появляться почти каждый день |
| B2B SaaS, CRM, таск-трекер | WAU/MAU | работа часто идёт недельными циклами и буднями |
| Образование, документация, контент | WAU и retention по когортам | возвраты важны, но ежедневность не всегда естественна |
| E-commerce, билеты, крупные покупки | MAU, повторные покупки, cohort retention | низкая ежедневная частота может быть нормальной |
Одинаковый MAU, разная реальность
Представь два продукта с одинаковым MAU: 10 000 активных пользователей за месяц. В первом продукте люди возвращаются почти каждый день маленькими порциями. Во втором — заходят волнами после рассылок и распродаж. MAU одинаковый, но управленческий смысл разный: один продукт строит привычку, другой живёт от повода до повода.
Именно поэтому DAU/MAU полезнее голого MAU. Он показывает плотность возвращения внутри месяца. Но даже здесь нужно смотреть форму графика, а не только итоговый процент.

Линия привычки держится ровно почти каждый день. Линия всплесков выглядит хорошо в дни кампаний, но между ними продукт почти не возвращает пользователей.
SQL для DAU/MAU
Если статья про DAU объясняла зерно “пользователь в день”, то здесь важно не смешать дневные и месячные окна. В примере таблица events хранит одно событие на строку, occurred_at приводится к бизнесовой таймзоне, а активность считается только по core events.
Запрос ниже считает stickiness по полным месяцам: сначала собирает уникальных активных пользователей по дням, затем считает средний DAU и MAU внутри каждого месяца.
with active_events as (
select
(occurred_at at time zone 'Europe/Moscow')::date as day,
user_id
from events
where occurred_at >= date_trunc('month', current_date) - interval '6 months'
and occurred_at < date_trunc('month', current_date)
and event_name in ('session_start', 'core_action_completed')
and user_id is not null
group by 1, 2
),
daily as (
select
date_trunc('month', day)::date as month_start,
day,
count(distinct user_id)::numeric as dau
from active_events
group by 1, 2
),
monthly as (
select
date_trunc('month', day)::date as month_start,
count(distinct user_id)::numeric as mau
from active_events
group by 1
)
select
m.month_start,
round(avg(d.dau)) as avg_dau,
m.mau,
round(avg(d.dau) / nullif(m.mau, 0), 3) as dau_mau_ratio
from monthly m
join daily d using (month_start)
group by m.month_start, m.mau
order by m.month_start;Проверь, что DAU и MAU используют одно и то же определение active action. Частая ошибка — считать DAU по core event, а MAU по любому открытию приложения. Ratio получается красивым, но смысл ломается.
Где DAU/MAU начинает врать
DAU/MAU особенно коварен, когда команда смотрит только на итоговый процент. Метрика может улучшиться не потому, что продукт стал привычнее, а потому что из базы ушли редкие пользователи. Или наоборот: ratio падает, потому что маркетинг привёл много новых людей в MAU, хотя ядро продукта не ухудшилось.
- Сезонность: в будни продукт живой, в выходные проседает, а среднее сглаживает картину.
- Платный трафик: MAU растёт быстрее, чем привычка новых пользователей.
- Пуши и email-кампании: DAU подскакивает на день, но retention не меняется.
- Редкий сценарий: пользователь получает ценность раз в месяц, и низкий DAU/MAU не является проблемой.
- Смена трекинга: одно новое событие внезапно делает “активными” тех, кто раньше не попадал в расчёт.
Как читать падение stickiness
Если DAU/MAU падает, не начинай с общего вывода “люди стали меньше пользоваться продуктом”. Сначала разложи метрику на числитель и знаменатель. Иногда проблема в DAU: старые пользователи действительно возвращаются реже. Иногда “проблема” в MAU: пришло много новых людей, и они ещё не успели сформировать привычку.
Дальше нужны разрезы. Сравни каналы, платформы, новые и старые когорты, дни недели, тарифы и ключевые сценарии. Очень часто падение сидит не во всём продукте, а в одной ветке: платный канал, мобильная версия, новая когорта после релиза или сегмент с другим ритмом использования.
- Сравни avg DAU и MAU отдельно, а не только ratio.
- Отдели новых пользователей от вернувшихся.
- Проверь когорты регистрации или первой активации.
- Посмотри каналы и платформы: органика, paid, iOS, Android, web.
- Сопоставь stickiness с retention, core action rate и выручкой.
Чеклист перед выводом
Хороший вывод по DAU/MAU обычно звучит длиннее, чем одно число. Он объясняет, у какого сегмента изменилась частота, когда это началось и какую гипотезу стоит проверять дальше.
- Определение active action одинаковое для DAU, WAU и MAU?
- Период метрики соответствует естественному ритму продукта?
- Сегодняшний неполный день не попал в сравнение с полными днями?
- Ratio не улучшился только из-за ухода редких пользователей из MAU?
- Падение не объясняется ростом новых пользователей, которые ещё не успели вернуться?
- Есть соседняя метрика: retention, revenue, conversion или core action rate?
Stickiness нужно читать в ритме продукта
DAU/MAU предполагает, что дневной ритм важен. Это хорошая гипотеза для мессенджера или игры, но не для сервиса, которым пользуются по понедельникам, в конце месяца или только перед отчётностью. В таком случае дневной числитель искусственно делает продукт “липким” или “нелипким”, хотя пользовательский сценарий работает ровно так, как задумано.
Перед выбором ratio опиши естественную частоту задачи. Если пользователь обычно возвращается два-три раза в неделю, WAU/MAU будет ближе к реальности. Если ценность возникает раз в месяц, смотри месячную повторную активность, долю пользователей с core action и retention на более длинном горизонте. Название метрики не должно диктовать ритм продукта.
| Сценарий | Основной сигнал | Что добавить рядом |
|---|---|---|
| Ежедневная коммуникация | DAU/MAU | D1/D7 retention, сообщения на активного |
| Рабочая задача несколько раз в неделю | WAU/MAU | доля core action, время до следующей задачи |
| Покупка или заказ раз в месяц | monthly repeat rate | конверсия, выручка, повторная покупка |
| Сезонный или событийный продукт | активность относительно события | когорты и сравнение одинаковых периодов |
Разложение ratio: числитель, знаменатель и когорты
Когда stickiness меняется, полезно записать его как отношение двух рядов: средний DAU и MAU. Затем добавь когорты. Новые пользователи могут расширить MAU быстрее, чем успеют вернуться; старые пользователи могут сохранять прежнюю частоту. Средний ratio упадёт, хотя ядро продукта не стало хуже. Обратная ситуация тоже возможна: редкие пользователи уйдут из месячного окна, и ratio вырастет просто из-за изменения состава базы.
Для честного сравнения фиксируй окно MAU и не смешивай неполный месяц с полным. В новом месяце полезно показывать накопительный MAU отдельно от финального MAU: пользователь, который появился первого числа, имеет больше шансов попасть в знаменатель, чем пользователь, который пришёл вчера. Это особенно важно в оперативных дашбордах.
- Покажи avg DAU и MAU рядом с ratio.
- Раздели аудиторию на новые, существующие и воскресшие когорты.
- Сравнивай только одинаковые календарные окна и таймзоны.
- Проверяй, не изменился ли состав MAU из-за кампании или оттока.
- Для редкого сценария замени stickiness на метрику повторного результата.
Что почитать дальше
Для сверки терминов полезно посмотреть, как DAU, WAU, MAU и stickiness описывают продуктовые аналитические платформы и KPI-справочники. Но чужие бенчмарки лучше использовать как ориентир, а не как норму: продуктовый ритм важнее красивого процента.
Материалы по теме
Собеседование продуктового аналитика: метрики и кейсы с разбором
Как отвечать на продуктовые кейсы на собеседовании: падение DAU, воронка, retention, A/B-тест, новая функция и метрики, которые не стоит придумывать на ходу.

DAU: как считать активных пользователей так, чтобы метрика не врала
Разбираем DAU без самообмана: что считать активностью, как разделять новых и вернувшихся пользователей и почему рост метрики ещё не доказывает здоровье продукта.

SQL для аналитика: как считать продуктовые метрики запросами
С чего начать в SQL, как читать grain, фильтровать события, считать уникальных пользователей, соединять таблицы и превращать результат в вывод по продукту.