НВ / analytics
Обучение / Веб-аналитика

ПРАКТИЧЕСКИЙ РАЗБОР · МЕТРИКА / LOGS API

Посетитель вернулся.
Что это нам говорит?

Как исследовать повторные визиты по выгрузке Метрики и не перепутать возвращаемость с ростом трафика.

Средний уровень · Учебный пример · 9 октября 2026

1. Сначала уточните вопрос

«Люди возвращаются?» — слишком широкий вопрос. Повторное открытие сайта вечером, визит через неделю и вторая покупка описывают разное поведение. Нельзя смешивать их в одном показателе.

Для нашего учебного расчёта выберем правило: среди идентификаторов, впервые замеченных в выбранной истории, найдём тех, у кого был хотя бы один визит со следующего по седьмой календарный день после первого наблюдаемого визита. День первого визита — день 0. Часовой пояс одинаков для всей таблицы.

Это возврат в течение дней 1–7, а не возврат строго на седьмой день. Два визита в день 0 не считаются возвратом по нашему правилу. Мы измеряем посещение сайта, а не повторное получение пользы или покупку.

2. Когда нужна выгрузка Logs API

Logs API позволяет получить неагрегированные данные Метрики. Это полезно, если нужно самостоятельно задать периоды возврата, проверить отдельные записи или объединить результаты с другими данными. Путь выгрузки: запросить нужный период и поля, дождаться обработки, скачать все части и собрать единую таблицу.

Для начала достаточно данных уровня визитов:

Минимальный набор полей
ПолеЗачем нужно
ym:s:counterIDОтделить данные разных счётчиков
ym:s:visitIDРазличать визиты; идентификатор уникален в рамках года
ym:s:clientIDОбъединять визиты по анонимному идентификатору браузера
ym:s:dateTimeОпределить дату визита в часовом поясе счётчика

Сохраняйте идентификаторы как строки или точные целые числа. Преобразование длинного clientID в число с плавающей точкой может потерять точность и испортить объединение записей.

На этом этапе нужна таблица визитов. Если присоединить к каждому визиту несколько строк товаров, число строк вырастет. Поэтому сначала зафиксируйте, что означает одна строка, и только затем считайте пользователей.

3. Считайте по шагам

  1. Проверьте полноту выгрузки. Задайте последнюю полностью доступную дату, а не просто сегодняшнее число.
  2. Уберите повторно загруженные записи. Для нескольких лет и счётчиков учитывайте счётчик, год и идентификатор визита; конфликтующие записи разберите отдельно.
  3. Для каждого clientID найдите первую дату в доступной истории. При нескольких счётчиках не объединяйте их автоматически.
  4. Оставьте в расчёте только тех, у кого полностью прошли дни 1–7.
  5. Найдите визиты в этом интервале. Каждый идентификатор включите в число вернувшихся только один раз.
  6. Разделите число вернувшихся на число идентификаторов с полным периодом наблюдения.

Предположим, данные полны по 8 октября включительно. Идентификатор с первой датой 1 октября уже можно оценивать: его дни 1–7 — это 2–8 октября. Для первой даты 2 октября период заканчивается 9 октября, поэтому оценка пока преждевременна.

Условный результат после проверки зрелости периода
Идентификаторы с полным окном1 843
Из них вернулись в дни 1–7317
Доля вернувшихся317 ÷ 1 843 × 100% ≈ 17,20%

Один человек может зайти несколько раз. Числитель от этого не должен увеличиваться повторно: здесь считаются идентификаторы с возвратом, а не визиты.

4. Что легко упустить

Первый в таблице — не обязательно новый

Если история начинается в сентябре, вы не видите августовские визиты. Нельзя называть всех впервые замеченных в сентябрьской выгрузке новыми клиентами. Либо расширьте историю и согласуйте правило определения новичка, либо честно называйте показатель возвратом после первого наблюдаемого визита.

Браузер — не человек

В этом расчёте единицей является clientID. Один человек с разных устройств может выглядеть как несколько идентификаторов. Сброс cookie также меняет наблюдаемую историю. Поэтому не называйте результат точным числом физических людей.

Свежие группы всегда в неравных условиях

Если сравнить группу, пришедшую неделю назад, с группой, пришедшей вчера, у второй было меньше времени вернуться. Неполный период нельзя автоматически записывать как отсутствие возврата.

Общий показатель зависит от состава аудитории

Могла вырасти доля посетителей, которым сайт нужен для разовой задачи. Общая возвращаемость снизится, даже если внутри сопоставимых групп ничего не ухудшилось. Разбейте результат по источникам и устройствам, но проверяйте размер каждой группы.

Возврат не объясняет мотив

Посетитель мог вернуться за полезным материалом, а мог пытаться исправить неудачную оплату. Для оценки продукта полезно дополнительно посмотреть, какое действие совершено после возврата.

5. Проверьте границы вручную

Контрольные сценарии для правила «дни 1–7»
СитуацияОжидаемый результат
Повторный визит в день 0Не считается возвратом
Визит на следующий календарный деньСчитается, если окно наблюдения полное
Визит в день 7Включается
Единственный повторный визит в день 8Не включается
Несколько визитов в дни 1–7Один вернувшийся идентификатор
После первой даты прошли только три дняИсключается и из числителя, и из знаменателя

Отдельно проверьте визиты около полуночи. Календарный день и интервал в 24 часа — разные правила. Не меняйте их между группами.

При сверке с интерфейсом Метрики сопоставьте определения, фильтры, период и способ подсчёта посетителей. Пользовательский расчёт по clientID не обязан совпадать с любым готовым отчётом.

Как сформулировать вывод

«В учебной выборке 317 из 1 843 идентификаторов с полным периодом наблюдения вернулись в дни 1–7 после первого наблюдаемого визита. Это 17,20%. Для оценки изменений продукта нужно сравнить сопоставимые группы и действия после возврата».

Такая формулировка объясняет, что посчитано, и оставляет место для дальнейшего исследования.

Разобрать падение retention

Продолжить изучение

От отдельной выгрузки — к регулярной работе с данными.

Когда отчётов Метрики уже недостаточно