мониторинг frontendperf · методика · версия 2 от 22.10.2026
Как считаем деньги от скорости
Замеряем скорость каждого просмотра у реальных посетителей, делим сессии на быстрые и медленные, сравниваем, как часто они заканчиваются покупкой, и переводим разницу в рубли — с поправкой вниз и интервалом. Это оценка, а не бухгалтерия. Ниже — что именно считаем, где граница точности и как проверить эффект ускорения.
1 Что измеряем
- Каждый просмотр у реальных посетителей, а не лабораторный тест. Скрипт фиксирует время появления первого экрана (LCP), отклик на нажатия (INP), сдвиги вёрстки (CLS) и ответ сервера (TTFB).
- 75-й перцентиль (p75) — главное число на экранах: так быстро или быстрее страница открылась у 3 из 4 посетителей. Так же считает Google в Chrome UX Report.
- Перцентили считаются по почасовым агрегатам — погрешность меньше процента. Просмотр без замера метрики (например, без нажатий для INP) в её перцентиль не входит.
- Повторные отправки одного просмотра (посетитель вернулся на вкладку) не учитываются дважды. Боты отбрасываются.
- Шаблон страниц, где меньше 50 просмотров за период, не оцениваем — пишем «мало данных».
Пороги — как у Google. Первый экран: до 2,5 с — хорошо, 2,5–4 с — терпимо, дольше 4 с — медленно. Отклик: до 200 мс, 200–500 мс, дольше 500 мс. Сдвиги вёрстки: до 0,1, 0,1–0,25, больше 0,25.
2 Быстрые и медленные сессии
- Сессия — визиты одного посетителя в одной вкладке браузера, пока она открыта. Без cookies и постоянных идентификаторов.
- Скорость сессии — p75 первого экрана по её просмотрам. Быстрая — до 2,5 с, медленная — дольше. Сессии без замера первого экрана не учитываются.
- Покупка — событие покупки в сессии: из электронной коммерции GA4 или Яндекс Метрики либо вызовом
perf('event', 'purchase', …)на странице «Спасибо за заказ». - Конверсия группы — доля сессий с покупкой. Средний чек — по покупкам быстрых сессий (если их нет — по всем).
3 Оценка потерь
потери = (конверсия быстрых − конверсия медленных)
× медленные сессии × средний чек × 0,5- × 0,5 — консервативная поправка: считаем, что ускорение вернёт только половину разницы в конверсии. Остальное объясняют другие различия между группами (см. «Ограничения»).
- Если медленные сессии конвертируют не хуже быстрых, потерь не показываем.
- Интервал 95 %. Разница конверсий — разность двух долей, её стандартная ошибка √(p₁(1−p₁)/n₁ + p₂(1−p₂)/n₂). Интервал разницы — ±1,96 ошибки, дальше та же формула. Нижняя граница не уходит ниже нуля.
- Надёжность. Пока в каждой группе меньше 100 сессий, цифра помечается «предварительно».
- Устройства. Деньги считаются по всему сайту и всем устройствам; фильтр устройства в панели на них не влияет.
Пример. Быстрые — 3 000 сессий, 72 покупки (2,4 %), медленные — 2 000 сессий, 32 покупки (1,6 %), средний чек 4 500 ₽. (2,4 % − 1,6 %) × 2 000 × 4 500 ₽ × 0,5 = 36 000 ₽ за период.
4 До и после релиза
Самая убедительная проверка — сравнить скорость и деньги до и после конкретной оптимизации.
- Отметка релиза — вручную в панели (можно задним числом, за 90 дней), по вебхуку деплоя или автоматически по версии сайта.
- Скорость — p75 по каждому шаблону в равных окнах по обе стороны отметки: до 7 или 14 дней, но не больше, чем прошло после релиза. Час релиза не учитываем — в нём смешаны обе версии.
- Заметное изменение — если с обеих сторон хотя бы 200 просмотров, а сдвиг p75 не меньше 100 мс и не меньше 5 %. Иначе пишем «в пределах разброса».
- Деньги — оценка потерь отдельно для окна до и окна после, пересчитанная на 30 дней. Разница — на сколько в месяц изменились потери от медленных визитов. День релиза не берём, после — только полные дни. Ускорение снижает потери двумя путями: медленных сессий становится меньше, и разрыв в конверсии сокращается.
- Сравнение до/после — не эксперимент: на него влияют сезонность, акции, реклама. Чем длиннее окно после релиза, тем надёжнее вывод.
- Итог через неделю — по ручной отметке через 7 дней приходит итог в Telegram: неделя после против недели до, тем же расчётом. Если интервал разницы в деньгах пересекает ноль, итог так и говорит — «в пределах разброса».
5 Сторонние скрипты
Чужие скрипты на странице — чат-виджеты, аналитика, реклама — часто задерживают отклик на нажатия. Экран «Сторонние скрипты» показывает, кто и почём.
- Что измеряем. Браузеры на Chromium сообщают «долгие кадры»: моменты, когда страница дольше 50 мс не могла ответить, и какие скрипты в них работали. Для каждого просмотра мы запоминаем, сколько скрипты каждого стороннего домена работали внутри самого медленного нажатия — от нажатия посетителя до ответа страницы.
- «Задерживал нажатия» — доля просмотров с нажатием, где скрипт хоста работал в этом окне. «В среднем» — на сколько миллисекунд он удлинял отклик.
- «Станут быстрыми». Отклик без хоста — измеренный минус время хоста внутри нажатия (не ниже нуля). Сессия «становится быстрой», если её самый медленный отклик был хуже 200 мс, а без хоста уложился бы в 200 мс.
- Деньги — формула из раздела «Оценка потерь», но корзины по отклику (быстрые — сессии с самым медленным откликом до 200 мс включительно): разница конверсий × «станут быстрыми» × средний чек × 0,5, с тем же интервалом 95 % и порогом надёжности.
- Оценка для одного хоста. Суммы по разным хостам не складываются: у медленной сессии бывает несколько причин, и убрать один скрипт — не значит ускорить её. Это оценка «если отложить или убрать» конкретный скрипт, а не счётчик потерь. Пока «ставших быстрыми» меньше 20 — показываем «мало данных».
- Видят только браузеры на Chromium; Safari и Firefox в этих цифрах не участвуют.
6 Ограничения
- Связь, а не доказанная причина. Медленные сессии чаще бывают у мобильного и «холодного» трафика, который и без того покупает реже. Поправка × 0,5 и интервал учитывают это грубо. Точнее — оценка с поправкой на сегмент (экран «Посетители» и «как посчитано» в панели): быстрые и медленные сессии сравниваются внутри каждого источника трафика (или региона, устройства), потери по сегментам складываются. Учитываются сегменты, где хватает сессий. Если состав трафика объясняет часть разницы, оценка с поправкой ниже общей.
- Неполнота данных. Посетители с блокировщиками рекламы не видны без прокси на домене магазина. Покупки, которые не передаются событием (заказ по телефону, оплата позже), в конверсии не учтены.
- Браузеры. Safari и Firefox сообщают не все метрики (например, INP) — их перцентили считаются по браузерам, которые сообщают.
7 Изменения и находки
- Замедление — первый экран за последние 3 дня медленнее, чем за предыдущие 7, больше чем на 250 мс и 15 % при 300+ просмотрах шаблона на устройстве. Каждое число в тексте находки сверяется с данными.
- Ускорение — первый экран за последние 7 дней быстрее предыдущих 7 на 200+ мс и 10+ % при 100+ просмотрах за неделю.
8 Рынок
Сравнение с рынком — по Chrome UX Report (данные Google о визитах из Chrome, телефоны, 28 дней) для 113 интернет-магазинов рунета: медиана и лучшая четверть по p75. Подробности — в перф-индексе.
9 Приватность
Без cookies и постоянных идентификаторов, IP не сохраняется, из адресов страниц вырезаются email, телефоны и номера заказов, номера в путях заменяются на {id}. Данные хранятся в Европе и не передаются третьим лицам.
Разрезы. Источник трафика сохраняется только категорией (прямой заход, поиск Яндекса, Яндекс Директ, соцсети…): скрипт передаёт домен, с которого пришёл посетитель (без адреса страницы), и метки кампании — сервер превращает их в категорию и больше их не хранит. Регион — по часовому поясу браузера (макрорегион России или страна), без IP. Тип сети — как его сообщает браузер.
История: версия 2 (22.10.2026) — сторонние скрипты: во что обходится задержка нажатий. Версия 1 (22.10.2026) — публичная методика: интервал, надёжность, до и после релиза, ускорения. Версия 0 (21.10.2026) — черновик для первых отчётов.