DAU, MAU и retention: как считать активную аудиторию приложения

Формулы и калькулятор Stickiness (DAU / MAU и DAU / WAU), разница между классическим Day N Retention и Rolling Retention, разбор притока и оттока в AppMetrica — и чёткая граница между отчётами по API в LidFly и тем, что смотрят в веб-интерфейсе.

1 ноября 2026 · Время чтения: 10 мин · LidFly

Кратко: DAU, WAU и MAU показывают число уникальных активных пользователей за сутки, 7 дней и 30 дней (или календарный месяц). Отношение Stickiness = Средний DAU ÷ MAU × 100% переводит эти числа в регулярность: при Stickiness 20% средний пользователь открывает приложение 6 дней из 30. Складывать дневные DAU за месяц нельзя — один человек попадёт в сумму столько раз, сколько дней заходил. Через LidFly по API AppMetrica вы без ручной сборки таблиц выгрузите динамику DAU/WAU/MAU (ym:ge:users), баланс новых, вернувшихся и «уснувших» пользователей (ym:u:*), глубину сессий (ym:s:*) и срезы по версиям приложения и ОС, а готовую когортную сетку Day N Retention и Rolling Retention проверяют в веб-интерфейсе AppMetrica — публичный Reporting API её не отдаёт.

Знакомая ситуация в мобильном маркетинге: вы масштабировали закупку трафика, установки растут, а месячная аудитория (MAU) в отчёте прибавила 30%. Но выручка топчется на месте, а дневной онлайн (DAU) почти не сдвинулся. Пока смотришь только на верхнюю строчку MAU и цену установки, кажется, что реклама работает. Но стоит посчитать DAU / MAU и разделить аудиторию на новичков, вернувшихся и ушедших в отток, как вскрывается реальная картина: свежий трафик просто маскирует отток постоянных пользователей после неудачного релиза или широкого автотаргетинга.

В LidFly AppMetrica работает в одной связке с Яндекс Аудиториями и Яндекс Директом. ИИ во встроенном чате (или подключённый по MCP Claude, ChatGPT и Codex) запрашивает уникальную аудиторию по дням, неделям и месяцам без ручных выгрузок в таблицы, проверяет баланс новичков и «уснувших» пользователей, находит просадку на конкретной версии приложения или ОС и после вашего подтверждения создаёт сегмент в Яндекс Аудиториях для ретаргетинга. Если сначала нужно свести стоимость установки (CPI) и расходы кампаний с трекерами, начните с разбора рекламы мобильного приложения в Директе и AppMetrica, а полный перечень параметров инструментов смотрите в документации AppMetrica в LidFly.

DAU, WAU и MAU: что считают метрики и почему нельзя складывать дни

Базовые метрики мобильного приложения начинаются с подсчёта активной аудитории на трёх горизонтах времени — DAU, WAU и MAU. По данным Яндекс Вордстата (регион 225 — Россия, проверка 01.11.2026), связку «dau mau» ищут 781 раз в месяц («dau mau метрики» — 94, «dau wau mau метрики» — 39, «dau mau wau что это» — 27), а «метрики мобильного приложения» — ещё 102 раза. За всеми тремя аббревиатурами стоит один и тот же счётчик уникальных людей:

Главная ошибка при ручной сборке дашбордов в Excel или BI — просуммировать столбец дневных DAU за 30 дней и назвать итог месячной аудиторией. Сумма дневных DAU даёт не число уникальных людей за месяц, а число человеко-дней активности.

Разберём на числах. Допустим, в октябре приложением доставки продуктов пользовались ровно 10 000 уникальных человек (это и есть истинный MAU = 10 000). Каждый из них делал заказ в среднем 6 раз в месяц в разные дни. Тогда средний дневной онлайн составит:

Средний DAU = (10 000 человек × 6 активных дней) ÷ 30 дней = 2 000 человек в сутки

Если сложить ежедневный DAU за все 30 дней (2 000 × 30), получится 60 000 — в шесть раз больше реальной базы. В AppMetrica уникальность внутри окна считается автоматически по метрике ym:ge:users (документация метрик активности AppMetrica):

Stickiness (DAU / MAU и DAU / WAU): формула и ориентиры по нишам

Сами по себе ни DAU, ни MAU не говорят, сформировалась ли у аудитории привычка открывать продукт. Если закупить 40 000 дешёвых мотивированных установок в конце месяца, MAU взлетит, хотя 90% этих людей закрыли приложение через минуту после первого запуска. Чтобы отделить реальную регулярность использования от рекламного наплыва, считают Stickiness (коэффициент «липучести» или возвращаемости):

Stickiness (месячный) = (Средний DAU за период ÷ MAU за тот же период) × 100%

Stickiness (недельный) = (Средний DAU за неделю ÷ WAU за ту же неделю) × 100%

Среднее число активных дней в месяц = (Средний DAU ÷ MAU) × 30

В числителе обязательно берут средний DAU за анализируемый месяц (а не пиковый день распродажи или провальное воскресенье), а в знаменателе — MAU за те же даты. Например, при среднем DAU = 8 400 и MAU = 42 000:

Stickiness = (8 400 ÷ 42 000) × 100% = 20,0%
Среднее число активных дней в месяц = 0,20 × 30 = 6,0 дня

Недельный коэффициент DAU / WAU работает аналогично на коротком цикле: если средний DAU равен 8 400, а за неделю зашли 21 000 уникальных человек (WAU), то DAU / WAU = 40%, то есть активный за неделю пользователь открывает приложение в среднем 0,40 × 7 = 2,8 дня из 7. Этот срез быстрее реагирует на продуктовые поломки: не нужно ждать конца месяца, чтобы увидеть просадку после вторничного релиза.

Категория приложения Естественная частота задачи Типичный DAU / MAU Активных дней в месяц Какую связку отслеживать
Мессенджеры, соцсети, дейтинг, ежедневные игры Каждый день, несколько сессий в сутки 35–60% 10,5–18 дней DAU / MAU, ym:s:sessionsPerUser, Day 1 / Day 7 Classic Retention
Доставка еды и продуктов, такси, контент и музыка 2–3 раза в неделю 16–28% 5–8,5 дня DAU / WAU, DAU / MAU, Day 7 и Day 14 Retention
Маркетплейсы, классифайды, фитнес и обучение 1–2 раза в неделю 12–20% 3,5–6 дней WAU / MAU, DAU / MAU, Rolling Retention Day 14 / Day 30
Аптеки, медицина, банки, оплата ЖКХ, авиабилеты 1–3 раза в месяц или по событию 5–12% 1,5–3,5 дня WAU / MAU, Rolling Retention Day 30, доля ym:u:resurrectedUsers

Сравнивать Stickiness аптеки или сервиса бронирования отелей с мессенджером бессмысленно: если человек покупает лекарства раз в три недели, его естественный предел DAU / MAU — около 5–7%. Зато падение собственного Stickiness приложения с 18% до 12% при растущем MAU — точный сигнал: либо рекламная кампания приводит случайных людей, либо новый билд мешает пользователям возвращаться.

Day N Retention и Rolling Retention: две формулы удержания

В отличие от Stickiness, который оценивает всю смешанную базу (и давних клиентов, и вчерашних новичков), Retention Rate (коэффициент удержания) всегда считается по когортам — группам людей, установивших или впервые открывших приложение в один и тот же период (День 0). Именно поэтому запросы «retention rate» (888 показов в месяц в Вордстате), «retention метрика» (394), «retention как рассчитать» (79) и «retention приложения» (65) сводятся к одному вопросу: какая доля новичков остаётся в продукте спустя 1, 7, 14 или 30 дней после первого запуска.

В мобильной аналитике и в интерфейсе AppMetrica используют две формулы удержания:

1. Классический Retention (Classic / Day N Retention)

Показывает процент пользователей когорты Дня 0, которые зашли в приложение строго в день N после установки:

Day N Retention = (Пользователи когорты, активные ровно в день N ÷ Размер когорты в день 0) × 100%

2. Скользящий Retention (Rolling Retention / Unbounded Retention)

Показывает процент пользователей когорты Дня 0, которые зашли в приложение в день N или в любой день после него (вплоть до даты построения отчёта):

Rolling Retention Day N = (Пользователи когорты, активные в день N или позже ÷ Размер когорты в день 0) × 100%

Посмотрите, как расходятся оба показателя на одной и той же когорте из 2 000 установок интернет-магазина зоотоваров, где корм заказывают раз в 2–3 недели:

Контрольная точка Активны строго в день N Вернулись только после дня N (пропустив сам день N) Classic Day N Retention Rolling Retention Day N О чём говорит разница
Day 1 640 чел. 320 чел. 32,0% (640 ÷ 2 000) 48,0% ((640 + 320) ÷ 2 000) Половина когорты не бросила приложение в первый день, но 320 человек зашли не назавтра, а через 3–10 дней
Day 7 280 чел. 390 чел. 14,0% (280 ÷ 2 000) 33,5% ((280 + 390) ÷ 2 000) По классическому D7 кажется, что 86% ушли; Rolling D7 показывает, что треть базы продолжает пользоваться сервисом
Day 14 210 чел. 310 чел. 10,5% (210 ÷ 2 000) 26,0% ((210 + 310) ÷ 2 000) Клиенты возвращаются под повторную покупку корма на 15–25-й день, не попадая ровно в 14-е сутки
Day 30 150 чел. 170 чел. 7,5% (150 ÷ 2 000) 16,0% ((150 + 170) ÷ 2 000) Реальное ядро удержанной когорты спустя месяц — 320 покупателей (16%), а не 150

У Rolling Retention есть особенность, которая часто путает при сверке отчётов: его прошлые значения могут подрастать задним числом. Если пользователь из октябрьской когорты не открывал приложение весь октябрь, а вернулся 5 ноября, при ноябрьском пересчёте он добавится в числитель Rolling Retention для D7, D14 и D30. Классический Day N Retention фиксируется сразу после окончания суток N и больше не меняется.

Калькулятор Stickiness и Retention Rate

Подставьте свои цифры из отчёта AppMetrica, чтобы сразу посчитать месячный и недельный Stickiness, среднее число активных дней в месяц, а также сравнить классический Day N Retention и Rolling Retention для выбранной когорты:

1. Расчёт Stickiness (DAU / MAU и DAU / WAU)

Stickiness DAU / MAU 20,0%
Stickiness DAU / WAU 40,0%
Активных дней в месяц (из 30) 6,0 дн.

Недельный охват от месячной базы (WAU / MAU): 50,0%. Средний активный за неделю пользователь заходит 2,8 дня из 7.

2. Расчёт Classic Day N Retention и Rolling Retention

Classic Day N Retention 14,0%
Rolling Retention Day N 33,5%
Полный отток после Дня N (Churn) 66,5%

Удержано на День N или позже: 670 из 2 000 пользователей. Не появлялись с Дня N: 1 330 чел.

Структура активной базы: новые, вернувшиеся и «уснувшие» пользователи

Когда график DAU или MAU идёт вверх или вниз, одной цифры ym:ge:users мало: по ней не видно, держится ли продукт на постоянном ядре, свежем рекламном трафике или реактивации старой базы. Чтобы разложить активную аудиторию по составу, в AppMetrica используют пространство имён ym:u (справочник метрик пользователей AppMetrica) — в LidFly его запрашивают через appmetrica_get_report или appmetrica_get_report_by_time:

Соотношение этих четырёх метрик сразу показывает здоровье воронки. Если ym:u:newUsers и ym:u:dormantUsers растут синхронно, а ym:u:activeUsers стоит на месте — перед вами классическое «дырявое ведро»: маркетинг заливает новые установки, но столько же людей из прошлого периода засыпает. Если же после пуш-рассылки или ретаргетинговой кампании в Директе подскакивает ym:u:resurrectedUsersShare, вы видите прямой объём реактивированной базы в числах.

Второй проверочный слой — глубина вовлечённости внутри самой сессии (пространство ym:s, метрики сессий AppMetrica): среднее число сессий на пользователя ym:s:sessionsPerUser и суммарное время в приложении на пользователя ym:s:totalSessionDurationPerUser. Когда после релиза ym:s:sessionsPerUser падает с 3,8 до 1,4, пользователи спотыкаются на старте — задолго до того, как это отразится в месячном отчёте MAU.

Что считает LidFly по API AppMetrica, а где нужен веб-интерфейс

Перед тем как строить отчёты через ИИ, стоит разделить метрики, которые отдаёт публичный Reporting API AppMetrica (/stat/v1/data и /stat/v1/data/bytime), и отчёты, доступные только в веб-интерфейсе Яндекса. В полном справочнике метрик и группировок Reporting API (таблица всех метрик и атрибутов AppMetrica API) нет отдельной метрики когортного retention или rolling retention.

Поэтому рабочий процесс между LidFly и кабинетом AppMetrica делится так:

Задача анализа или маркетинга Инструмент и параметры в LidFly Где выполняется и ограничения API
Быстрая сводка по приложению за период: активные и новые пользователи, сессии, установки, партнёры трекинга, топ событий appmetrica_get_app_overview (application_id, date1, date2) Полностью в чате LidFly одним вызовом
Динамика DAU, WAU и календарного MAU + расчёт Stickiness appmetrica_get_report_by_time с metrics: "ym:ge:users,ym:ge:sessions" и group: "day" | "week" | "month"; точный MAU за любые 30 дней — totals в appmetrica_get_report Полностью в чате LidFly; ИИ сам делит средний DAU на MAU и WAU без ошибки суммирования дней
Баланс притока и оттока: новые, вернувшиеся и «уснувшие» пользователи appmetrica_get_report или appmetrica_get_report_by_time с metrics: "ym:u:activeUsers,ym:u:newUsers,ym:u:resurrectedUsers,ym:u:dormantUsers" Полностью в чате LidFly (пространство ym:u)
Частота запусков и время в приложении (timespent на пользователя) appmetrica_get_report с metrics: "ym:s:sessions,ym:s:sessionsPerUser,ym:s:totalSessionDurationPerUser" Полностью в чате LidFly (пространство ym:s)
Диагностика просадки по версиям приложения, ОС, брендам устройств и дате/источнику установки appmetrica_get_report с metrics: "ym:ge:users,ym:ge:sessions" и dimensions: "ym:ge:appVersion,ym:ge:operatingSystem" или когортными атрибутами ym:ge:profileInstallStartOfWeek, ym:ge:profilePublisher Полностью в чате LidFly. Персональные идентификаторы (device, googleAID, iosIFA) в группировках заблокированы сервером
Готовая когортная матрица Day N Retention (D1, D7, D14, D28) и Rolling Retention В Reporting API AppMetrica нет метрики когортного retention Смотрят в веб-интерфейсе AppMetrica (раздел «Retention-анализ» / «Когортный анализ»)
Ретаргетинг в Директе на пользователей приложения или сохранённый сегмент («уснувшие», без покупки) audience_create_appmetrica_segment (object_type: "application" | "segment", object_id) → проверка usable_in_direct в audience_get_segments Сегмент по сложным условиям сохраняют в UI AppMetrica, а создание сегмента Аудиторий и привязку к Директу выполняет LidFly после подтверждения

Правило одного пространства имён и квота API: в одном вызове appmetrica_get_report или appmetrica_get_report_by_time все метрики и группировки (dimensions) должны относиться к одному префиксу — например, только ym:ge:*, только ym:u:* или только ym:s:*. Если смешать в одном запросе ym:ge:users и ym:s:sessionsPerUser, AppMetrica вернёт ошибку 4011, но всё равно спишет запрос из суточной квоты логина (5 000 запросов в сутки). LidFly проверяет совместимость префиксов до отправки в Яндекс и выполняет срезы отдельными аккуратными вызовами. Метрики и атрибуты из других пространств имён допустимы в параметре filters.

Два рабочих сценария с готовыми промптами

Ниже — два типовых сценария на условных цифрах, где расчёт активной аудитории соединяется с диагностикой релиза и ретаргетингом в Директе.

Сценарий 1. MAU вырос на 30% после рекламного флайта, но Stickiness упал: ищем причину

Типовой сценарий. У приложения доставки еды за октябрь MAU вырос с 42 000 до 55 000 после запуска новой кампании, но заказы не прибавили, а средний DAU застрял на отметке 6 600 (Stickiness просел с 15,7% до 12,0%). Вместо того чтобы наугад отключать рекламу или переписывать креативы, маркетолог в чате LidFly просит ИИ разложить аудиторию по слоям за четыре шага:

  1. Получить список приложений через appmetrica_get_applications и общую сводку appmetrica_get_app_overview за 30 дней.
  2. Выгрузить дневной ряд DAU (group: "day") и недельный WAU (group: "week") через appmetrica_get_report_by_time по метрике ym:ge:users, а точный 30-дневный MAU взять из totals в appmetrica_get_report, чтобы рассчитать честный DAU / MAU и DAU / WAU.
  3. В отдельных запросах проверить баланс притока и оттока (ym:u:activeUsers, ym:u:newUsers, ym:u:resurrectedUsers, ym:u:dormantUsers) и глубину сессий (ym:s:sessionsPerUser, ym:s:totalSessionDurationPerUser).
  4. Разрезать активную аудиторию и сессии по ym:ge:appVersion и ym:ge:operatingSystem, а также по партнёру установки ym:ge:profilePublisher.

Четыре запроса к API показывают: на iOS в версии 4.8.2 среднее число сессий стабильно (4,1 на пользователя), а на Android в сборке 4.8.2 показатель рухнул до 1,5 сессии из-за бага сброса авторизации при повторном входе. После этого продакт открывает веб-интерфейс AppMetrica в отчёте «Retention-анализ», фильтрует когорту по версии 4.8.2 на Android и подтверждает провал Day 1 Retention перед выпуском хотфикса.

Промпт для чата LidFly (диагностика DAU/WAU/MAU, Stickiness и срезов по версиям):

Найди наше приложение в AppMetrica и проведи аудит активной аудитории за последние 30 дней:
1. Выгрузи динамику ym:ge:users по дням (DAU) и по неделям (WAU) через appmetrica_get_report_by_time, а также точный итоговый MAU за 30 дней через appmetrica_get_report. Посчитай средний DAU, Stickiness (DAU / MAU и DAU / WAU) и среднее число активных дней в месяц.
2. Отдельным запросом в пространстве ym:u покажи баланс аудитории по неделям: ym:u:activeUsers, ym:u:newUsers, ym:u:resurrectedUsers и ym:u:dormantUsers.
3. Отдельным запросом в пространстве ym:s проверь ym:s:sessionsPerUser и ym:s:totalSessionDurationPerUser.
4. Сделай срез ym:ge:users и ym:ge:sessions по ym:ge:appVersion и ym:ge:operatingSystem, чтобы проверить, нет ли просадки на свежем релизе.
В конце выдели узкое место и напиши, какой когортный срез Day 1 / Day 7 Retention дополнительно открыть в веб-интерфейсе AppMetrica.

Сценарий 2. Возвращаем «уснувших» пользователей и установки без первого заказа через Яндекс Аудитории

Типовой сценарий. По отчёту ym:u:dormantUsers и списку событий appmetrica_get_events видно, что за месяц накопился пласт людей, которые установили приложение, прошли регистрацию (registration_complete), но не оформили первый заказ (order_paid) и перестали заходить.

Пытаться выгрузить список их device_id или googleAID через отчёты AppMetrica не нужно (и технически нельзя: LidFly блокирует идентификаторы устройств в группировках). Вместо этого работает прямая связка с Яндекс Аудиториями (документация API Яндекс Аудиторий):

  1. Если нужен сегмент по всем пользователям приложения (например, чтобы исключить текущую базу из кампании на привлечение корректировкой −100% или собрать Look-alike), в LidFly достаточно application_id из appmetrica_get_applications.
  2. Если нужен узкий поведенческий сегмент («установили, но не купили за 14 дней» или «не заходили 30 дней»), вы сохраняете его в веб-интерфейсе AppMetrica и копируете числовой ID сегмента.
  3. В чате LidFly ИИ сначала проверяет через audience_get_segments (type: "appmetrica"), нет ли уже такого сегмента, а затем готовит вызов audience_create_appmetrica_segment (name, object_type: "segment" для сохранённого сегмента или "application" для всего приложения, object_id). Запись выполняется только после вашего текстового подтверждения.
  4. После создания ИИ перечитывает audience_get_segments с фильтром type: "appmetrica" и проверяет статус обработки. Как только Яндекс переведёт сегмент в статус «Готов» (usable_in_direct: true), в ответе появится готовый direct_goal_id для добавления в условие ретаргетинга в Яндекс Директе (правила условий подбора аудитории в Директе). О том, как делить базу на смысловые группы по давности и ценности, подробно разобрано в статье про сегментацию аудитории для рекламы.

Промпт для чата LidFly (проверка событий и создание сегмента в Яндекс Аудиториях):

1. Проверь в нашем приложении AppMetrica за последние 30 дней объём неактивных пользователей (ym:u:dormantUsers) и список ключевых событий через appmetrica_get_events.
2. Посмотри существующие сегменты типа appmetrica в Яндекс Аудиториях через audience_get_segments: какие из них уже в статусе «Готов» (usable_in_direct=true) и какой у них direct_goal_id.
3. Подготовь создание нового сегмента в Яндекс Аудиториях через audience_create_appmetrica_segment для сохранённого сегмента AppMetrica с ID [УКАЖИТЕ_ID_СЕГМЕНТА] и названием «AppMetrica — неактивные 14+ дней». Ничего не создавай без моего текстового подтверждения.

Частые вопросы

Почему нельзя сложить DAU за 30 дней, чтобы получить MAU?

В каждом дневном DAU один и тот же человек учитывается заново в каждый день своего визита. Если 1 000 пользователей открывали приложение по 6 дней в месяц, сумма дневных DAU даст 6 000, хотя реальный MAU равен 1 000. В AppMetrica для расчёта MAU запрашивают уникальных пользователей ym:ge:users за месячное окно через группировку group=month в appmetrica_get_report_by_time либо читают итоговое поле totals за 30 дней в appmetrica_get_report.

Отдаёт ли AppMetrica Reporting API готовый когортный Retention?

Нет. В публичном Reporting API AppMetrica (/stat/v1/data и /stat/v1/data/bytime) нет отдельной метрики когортного Day N Retention или Rolling Retention. Готовую сетку удержания по дням и неделям смотрят в веб-интерфейсе AppMetrica в разделе «Retention-анализ». Через API в LidFly считают DAU, WAU, MAU, Stickiness, баланс новых, вернувшихся и уснувших пользователей (ym:u:*), глубину сессий (ym:s:*) и срезы активной аудитории по версиям приложения и ОС.

Чем классический Day N Retention отличается от Rolling Retention?

Классический Day N Retention считает только тех пользователей когорты, которые открыли приложение строго в день N после установки. Rolling Retention Day N включает всех, кто зашёл в день N или в любой последующий день до момента отчёта. Поэтому Rolling Retention всегда выше или равен классическому и лучше подходит для сервисов с нерегулярным циклом спроса: доставки, бронирования, финансов и аптек.

Какой коэффициент Stickiness (DAU / MAU) считается нормальным?

Норма зависит от частоты задачи, которую решает продукт. У мессенджеров, соцсетей и ежедневных игр DAU / MAU держится на уровне 35–60% (10,5–18 активных дней в месяц). У сервисов доставки еды и продуктов, такси и музыки рабочий коридор составляет 16–28% (5–8,5 дня в месяц), у маркетплейсов, фитнеса и обучения — 12–20% (3,5–6 дней). У банковских утилит, аптек, оплаты ЖКХ и покупки билетов 5–12% (1,5–3,5 дня в месяц) — здоровая величина, и для них информативнее следить за WAU / MAU.

Как вернуть неактивных пользователей приложения через Яндекс Директ?

Выгружать рекламные идентификаторы устройств (googleAID, iosIFA, device_id) через отчёты LidFly нельзя — сервер блокирует их для защиты персональных данных. Вместо этого в веб-интерфейсе AppMetrica сохраняют сегмент нужных пользователей, а в LidFly вызывают audience_create_appmetrica_segment с типом segment (или application для всей базы приложения). Когда в audience_get_segments статус сегмента станет «Готов» (usable_in_direct=true), его подключают к условию ретаргетинга в Директе по полю direct_goal_id.

Подключите блок «Аудитории и AppMetrica» в LidFly и попросите ИИ посчитать DAU, WAU, MAU и структуру активной аудитории вашего приложения за последние 30 дней.

Открыть LidFly

Источники