Stickiness (липкость) — это отношение DAU к MAU, которое показывает, какую долю месячной аудитории вы видите в средний день. Формула простая: stickiness = DAU / MAU. Если значение 0.2 (20%), то средний пользователь заходит примерно 6 дней из 30 — метрика измеряет частоту возвращения, а не абсолютный размер аудитории.
Что такое stickiness и что показывает DAU/MAU?
Stickiness отвечает на вопрос «насколько привычным стал продукт». Две компании могут иметь одинаковый MAU, но при stickiness 10% и 40% это два разных бизнеса: во втором продукт встроен в ежедневную рутину, в первом им пользуются эпизодически.
Расшифруем составляющие:
- DAU (Daily Active Users) — число уникальных пользователей за сутки.
- WAU (Weekly Active Users) — уникальные за 7 дней.
- MAU (Monthly Active Users) — уникальные за 30 (или календарный месяц) дней.
Ключевое слово — «уникальные». Пользователь, зашедший 5 раз за день, добавляет 1 к DAU, а не 5. Поэтому DAU/MAU нельзя посчитать простым делением суммы сессий.
Интуиция за формулой: если бы каждый пользователь заходил ровно раз в месяц, DAU был бы равен MAU / 30, то есть stickiness = 1/30 ≈ 3.3%. Реальное значение выше, потому что часть людей возвращается многократно. Грубая интерпретация: stickiness × 30 = среднее число активных дней в месяц на пользователя из месячной когорты.
Как считать stickiness: формула и worked-пример
Базовая формула:
stickiness = (DAU_avg) / (MAU) × 100%
Здесь DAU_avg — усреднённый DAU за период (обычно среднее по дням месяца), а MAU — уникальные пользователи за тот же месяц.
Числовой пример (цифры иллюстративные):
- Средний DAU за март = 8 000
- MAU за март (уникальные за месяц) = 40 000
stickiness = 8000 / 40000 = 0.20 = 20%
Что это значит: средний месячный пользователь активен примерно 0.20 × 30 = 6 дней в месяц. Если через квартал DAU вырос до 12 000, а MAU — до 48 000, то новый stickiness = 12000/48000 = 25%, продукт стал привычнее, аудитория заходит уже ~7.5 дней в месяц. Обратите внимание: DAU и MAU оба выросли, но именно рост отношения говорит о качественном улучшении вовлечённости, а не только о притоке новых людей.
Какие бенчмарки stickiness по типам продуктов?
Бенчмарки зависят от естественной частоты использования продукта. Приложение для заказа такси не должно иметь ту же липкость, что командный мессенджер — люди ездят не каждый день. Ориентиры ниже — усреднённые отраслевые представления, а не данные конкретных компаний.
| Тип продукта | Типичная частота | Ориентир stickiness |
|---|---|---|
| Мессенджеры, соцсети | ежедневно | 40-60% |
| Игры, стриминг | почти ежедневно | 20-40% |
| SaaS-инструменты для работы | в рабочие дни | 15-30% |
| E-commerce, маркетплейс | 1-2 раза в неделю | 8-20% |
| Финсервисы, доставка еды | эпизодически | 5-15% |
Правило: сначала определите, какова «здоровая» частота для вашего продукта, и только потом сравнивайте. Stickiness 12% для банковского приложения может быть отличным результатом, а для мессенджера — тревожным сигналом.
Как посчитать DAU, MAU и stickiness в SQL?
Считаем из таблицы событий events(user_id, event_time). Сначала DAU по дням, затем усредняем и делим на MAU. Данные ниже — синтетические.
-- DAU по каждому дню месяца
WITH daily AS (
SELECT
DATE(event_time) AS d,
COUNT(DISTINCT user_id) AS dau
FROM events
WHERE event_time >= '2026-03-01'
AND event_time < '2026-04-01'
GROUP BY DATE(event_time)
),
mau AS (
SELECT COUNT(DISTINCT user_id) AS mau
FROM events
WHERE event_time >= '2026-03-01'
AND event_time < '2026-04-01'
)
SELECT
ROUND(AVG(daily.dau)) AS avg_dau,
mau.mau AS mau,
ROUND(AVG(daily.dau) * 1.0 / mau.mau, 3) AS stickiness
FROM daily, mau
GROUP BY mau.mau;
Три момента, из-за которых расчёт чаще всего ломается:
COUNT(DISTINCT user_id)обязателен — без DISTINCT вы посчитаете события, а не людей.- MAU считается отдельным
DISTINCTпо всему месяцу, а не суммой дневных DAU. Сумма 31 дня даст завышенное число, потому что один человек попадёт в неё многократно. AVG(dau)берётся по фактическим дням с данными; если в таблице есть пропущенные даты, среднее исказится — при необходимости джойните к календарю дней.
Для скользящего 30-дневного окна (rolling MAU) MAU и DAU считают на каждую дату по окну [d-29; d], что тяжелее, но убирает «ступеньку» на границе календарного месяца.
Когда stickiness DAU/MAU вводит в заблуждение?
Метрика компактная, но у неё есть слепые зоны:
- Разная частота = несравнимость. Сравнивать stickiness продуктов с разной естественной частотой бессмысленно. Налоговое приложение с липкостью 3% не «хуже» соцсети с 50%.
- Активность != ценность. DAU/MAU считает «зашёл», а не «получил пользу». Навязчивые пуш-уведомления и стрики могут искусственно поднять DAU, не улучшая retention.
- Средний пользователь — фикция. 20% stickiness может означать «все заходят 6 дней» или «20% заходят ежедневно, 80% — раз в месяц». Это принципиально разные ситуации, а метрика их не различает. Нужна ещё гистограмма частоты активных дней.
- Чувствительность к росту. При быстром притоке новичков MAU раздувается быстрее DAU, и stickiness падает механически, хотя ядро продукта здоровое. Смотрите отдельно на когорты.
- Определение «активности». Если «активный» = открыл приложение, а не совершил целевое действие, метрика льстит. Договоритесь, что считается событием активности, до расчёта.
Как stickiness связан с retention и частотой?
Stickiness — это моментальный срез частоты, а когортный retention показывает удержание во времени. Они дополняют друг друга: retention отвечает «сколько людей вернулись через N дней после установки», stickiness — «как часто активная база пользуется продуктом прямо сейчас».
Связь через частоту: stickiness × 30 ≈ среднее число активных дней в месяц. Продукт с высоким retention, но низкой stickiness удерживает людей, которым он нужен редко (например, сервис бронирования). Продукт с высокой stickiness, но проваливающимся retention затягивает в ежедневную рутину и при этом теряет когорты — тревожный сигнал о выгорании ценности.
В связке метрик stickiness часто ставят рядом с активацией и удержанием во фреймворке AARRR: активация приводит пользователя, retention возвращает его, stickiness показывает интенсивность возврата. Если у вас несколько метрик вовлечённости, определитесь, какая из них North Star — stickiness хороша как вспомогательная, но редко бывает главной.
Частые ошибки
- Суммируют дневные DAU вместо DISTINCT по месяцу для MAU. Классическая ошибка, завышает MAU и занижает stickiness. MAU — это отдельный уникальный подсчёт за весь период.
- Берут DAU за один день, а не среднее. Один «удачный» день с рассылкой исказит картину. Усредняйте DAU по месяцу.
- Сравнивают stickiness между непохожими продуктами. Липкость сравнивают только с собой во времени или с прямыми аналогами по частоте использования.
- Путают «уникальные пользователи» и «сессии». Сессии и события всегда больше числа людей; забыли DISTINCT — получили мусор.
- Меняют определение «активности» между периодами. Если в марте активность = вход, а в апреле = целевое действие, тренд stickiness становится бессмысленным. Фиксируйте определение.
- Игнорируют пропущенные даты при усреднении DAU. Дни без данных (сбой логирования) тянут среднее вниз — проверяйте полноту календаря.
- Считают stickiness единственной метрикой вовлечённости. Дополняйте гистограммой частоты и когортным retention, иначе «средний пользователь» вас обманет.
Хотите закрепить расчёт DAU/MAU и COUNT(DISTINCT) на реальных запросах — соберите метрику из таблицы событий в SQL-тренажёре или разберите продуктовые кейсы на вовлечённость в разделе задач.