Что именно мы считаем
Чему научишься
- читать журнал событий и понимать, из чего состоит строка события;
- различать четыре единицы счёта на одних и тех же данных: событие, пользователь, визит, заказ;
- собирать определение метрики из четырёх частей: объект → событие → период → способ подсчёта;
- понимать, почему два аналитика считают «одну и ту же» метрику и получают разные числа.
Прежде чем считать — посмотри, что лежит в ящике
Ты сейчас захочешь посчитать пользователей. Не спеши. Сначала ответь: что в этом архиве вообще является пользователем? — КВЕРИ

Чёрный ящик Котомаркета — это не таблица «пользователи» и не таблица «метрики». Это журнал событий: длинный список строк, каждая из которых означает «вот это произошло вот тогда».
Вот девять строк одного дня — 14 марта:
| время | user_id | session_id | событие | свойства |
|---|---|---|---|---|
| 09:12:04 | 4412 | s-101 | app_open | source=push |
| 09:12:31 | 4412 | s-101 | product_view | item=миска |
| 09:13:02 | 4412 | s-101 | product_view | item=когтеточка |
| 09:13:40 | 4412 | s-101 | add_to_cart | item=когтеточка |
| 09:20:11 | 7781 | s-102 | app_open | source=direct |
| 09:21:55 | 7781 | s-102 | product_view | item=лежанка |
| 14:02:09 | 4412 | s-140 | app_open | source=direct |
| 14:03:44 | 4412 | s-140 | purchase | sum=1290 |
| 21:47:00 | 9003 | s-166 | app_open | source=ads |
Каждая колонка отвечает за свой вопрос:
- время — когда это случилось. По времени события можно выделять периоды: день, неделю, месяц;
- user_id — кто совершил действие. Один и тот же пользователь во всех своих заходах носит один и тот же id;
- session_id — в рамках какого захода произошло действие. Если начинается новая сессия, она получает новый id;
- событие — что именно пользователь сделал;
- свойства — подробности конкретного действия: из какого источника пришёл, какой товар смотрел, на какую сумму купил.
Главное, что нужно усвоить прямо сейчас: метрики в чёрном ящике не хранятся. Там лежат события и их атрибуты. Метрика — это инструкция, как превратить журнал событий в число. Инструкцию задаёт аналитик, и от правил подсчёта зависит результат.
Одни данные — четыре разных ответа
Возьмём те же девять строк и зададим четыре простых вопроса.
Сколько событий? Девять — по одному на строку. Самое механическое число: сколько записей попало в журнал.
Сколько пользователей? Три — 4412, 7781 и 9003. Пользователь 4412 наследил шесть раз, но пользователь он один. Здесь мы удаляем повторы по user_id.
Сколько визитов (сессий)? Четыре — s-101, s-102, s-140, s-166. Пользователь 4412 заходил дважды: утром и днём.
Сколько заказов? Один — в этих данных есть единственное событие purchase.
9 событий → 4 визита → 3 пользователя → 1 заказ
Девять, четыре, три, один. Данные не менялись — менялась единица счёта. И ни одно из четырёх чисел не «правильнее» остальных: они отвечают на разные вопросы.
Отсюда первая профессиональная привычка: услышав число, спроси, что за единица под ним. «У нас сорок тысяч» — сорок тысяч чего: событий, людей, заходов, покупок? В примере Котомаркета девять событий превращаются в одного покупателя-заказчика только после того, как мы меняем вопрос и способ подсчёта.
Запись №2 в журнале Л.:
Полгода на совете показывали „активность“, посчитанную в событиях, и сравнивали её с числом клиентов из биллинга. Никто не заметил, что делят яблоки на километры. Отношение „событий на клиента“ росло — праздновали вовлечённость. Оказалось, у части людей приложение перезапускалось само.
Для такого журнала полезно держать в голове проверку: за один и тот же период событий не может быть меньше, чем сессий, а сессий — меньше, чем пользователей, если каждое событие относится к сессии и у каждого пользователя есть хотя бы одна сессия. Если при этих условиях в отчёте «пользователей» больше, чем «событий», — это не рекорд, а повод проверить подсчёт.
Определение метрики состоит из четырёх частей
Метрика — это не название. Название — ярлык на банке; определение — то, что внутри. Полное определение отвечает на четыре вопроса:
- Объект — что считаем поштучно: пользователей, сессии, заказы, события?
- Событие — что должно произойти, чтобы объект попал в счёт: открыл приложение, посмотрел товар, оплатил?
- Период — за какое окно времени: календарный день (и в каком часовом поясе?), календарная неделя, последние 7 дней?
- Способ подсчёта — считаем уникальные объекты или все совпадения? Складываем, усредняем, берём долю?
Пример полного определения, к которому стоит привыкнуть:
DAU = число уникальных user_id (объект), у которых за календарный день по московскому времени (период) есть хотя бы одно событие
app_open(событие), причём каждый пользователь считается один раз (способ подсчёта).
Длинно? Да. Зато по такому определению два разных человека получат одно и то же число — и в этом весь смысл.
Уникальные против количества событий
Самая частая подмена живёт в четвёртой части. Сравни две формулировки на одном дне:
| формулировка | 14 марта |
|---|---|
число событий app_open | 18 400 |
число уникальных пользователей с app_open | 4 200 |
Оба числа честные, оба посчитаны по одному журналу, и разница между ними — примерно 4,4 раза. Но ведут они себя по-разному: если из-за бага приложение начнёт перезапускаться и записывать дополнительные app_open, первое число вырастет, а второе — нет. Первое показывает, сколько раз произошло событие, второе — сколько разных пользователей его совершили.
Правило: как только слышишь «сколько у нас пользователей», мысленно добавляй слово уникальных — и проверяй, что оно там действительно есть.
Почему два аналитика получают разные числа
Запись №5 в журнале Л. Руководитель просит у двух аналитиков «число активных за март». Приходят два ответа: 41 200 и 33 900. Оба считали честно, оба не ошиблись в арифметике. Разошлись они вот где:
| часть определения | первый аналитик | второй аналитик |
|---|---|---|
| объект | уникальные user_id | уникальные user_id |
| событие | любое событие в журнале | только app_open |
| период | 1–31 марта | 30 дней, заканчивающихся 31 марта |
| способ подсчёта | уникальные | уникальные |
Расхождение — 7 300 человек, то есть примерно 18% от большего значения. Спорить, кто прав, бессмысленно: правы оба. Неполным был вопрос.
Заметь, где именно разъехалось: во второй и третьей строке. Первый считал активным любого, кто вообще оставил след, — включая тех, кому просто пришёл пуш и система записала доставку. Второй потребовал осознанного открытия приложения. Плюс разные окна: у первого — 31 календарный день, у второго — 30 дней подряд, заканчивающихся 31 марта.
Типичная ошибка новичка — считать определение «очевидным» и стесняться уточнять. На деле уточняющий вопрос «активный — это кто именно и за какое окно?» звучит не как незнание, а как профессия. Незнание — это молча посчитать по своему определению и отдать число без подписи.
Практическое правило дознавателя, и оно пригодится тебе до конца курса:
Прежде чем считать, запиши определение одной фразой — объект, событие, период, способ — и покажи заказчику. Пять минут на согласование экономят день переделки и спасают от вывода, построенного на другом определении метрики.
А если число уходит в отчёт — пусть определение уйдёт вместе с ним, сноской под таблицей. Через месяц ты сам не вспомнишь, что имел в виду.
print. Ниже — итоги журнала за 14 марта, посчитанные по четырём разным единицам. Запусти, а потом поменяй числа и посмотри, как поедут отношения.events_per_user) и визитов на одного пользователя (sessions_per_user). Оба — обычное деление, округлять не нужно.purchase, а уникальных user_id среди них 1 050. Посчитай, на сколько человек отчёт завысил число покупателей (overcount), и сколько заказов приходится на одного покупателя (orders_per_buyer).Главное из урока
- в чёрном ящике лежат события, а не метрики; метрика — инструкция, как свернуть журнал в число
- одни и те же строки дают разные числа в зависимости от единицы счёта: события, визиты, пользователи, заказы — всегда уточняй, какая единица стоит за числом
- определение метрики состоит из четырёх частей: объект → событие → период → способ подсчёта
- число уникальных пользователей и количество событий — разные метрики; один пользователь может оставить несколько событий
- если определение не зафиксировано, два аналитика могут посчитать одну и ту же метрику по-разному и получить разные числа
Дальше — первая настоящая метрика: DAU. Соберём её из этих четырёх частей и посмотрим, как одно и то же слово «активный» даёт три разных ответа.