Методология расчёта Индекса Качества
Индекс Качества (IQ Score) — интегральный показатель производительности сайта, рассчитываемый на основе полевых данных реальных пользователей Chrome. Ниже описана полная математическая модель версии 2.0.
1. Источник данных
Все метрики получены из Chrome UX Report (CrUX) — публичного набора данных Google, агрегирующего анонимизированные показатели производительности реальных пользователей браузера Chrome. Данные представляют 75-й перцентиль (p75) распределения каждой метрики за скользящее 28-дневное окно, отдельно для мобильных и десктопных устройств.
Порог включения сайта в CrUX — достаточный объём трафика для статистической анонимизации, что естественным образом ограничивает выборку наиболее посещаемыми ресурсами Рунета. Минимальный объём выборки для включения в Индекс: $n \geq 200$ пользователей.
2. Метрики и пороговые значения
Индекс основан на четырёх измерениях пользовательского опыта. Три из них входят в официальный набор Core Web Vitals (Google), четвёртый — вспомогательный показатель серверной отзывчивости:
| Метрика | Что измеряет | Good (≤) | Poor (>) | Ед. изм. |
|---|---|---|---|---|
| LCP | Largest Contentful Paint — время появления главного контента | 2 500 | 4 000 | мс |
| INP | Interaction to Next Paint — задержка интерактивности | 200 | 500 | мс |
| CLS | Cumulative Layout Shift — визуальная стабильность (×1000) | 100 | 250 | усл. |
| TTFB | Time to First Byte — отзывчивость сервера | 800 | 1 800 | мс |
CLS хранится в формате ×1000 (целое число) для совместимости с типом данных SMALLINT UNSIGNED.
Good/Poor-пороги соответствуют официальным спецификациям Web Vitals.
3. Сигмоидальная нормализация
Каждое сырое значение метрики $x$ нормализуется в непрерывный балл $s \in [0,\, 100]$ с помощью логистической (сигмоидальной) функции:
Параметры $x_{\text{mid}}$ и $k$ калибруются так, чтобы выполнялись граничные условия, соответствующие порогам Google:
Из этих условий аналитически выводятся параметры функции:
Знак $k$ отрицательный: чем меньше значение метрики (быстрее сайт), тем выше балл. Сигмоидальная форма обеспечивает три важных свойства:
- Монотонность — улучшение метрики всегда повышает балл.
- Непрерывность — нет разрывов на границах Good / Needs Improvement / Poor.
- Насыщение — экстремальные значения логарифмически стремятся к 100 или 0, не создавая бесконечного прироста.
Конкретные параметры для каждой метрики:
| Метрика | $x_{\text{good}}$ | $x_{\text{poor}}$ | $x_{\text{mid}}$ | $k$ |
|---|---|---|---|---|
| LCP | 2 500 | 4 000 | 3 250 | −0.001466 |
| INP | 200 | 500 | 350 | −0.014663 |
| CLS | 100 | 250 | 175 | −0.014663 |
| TTFB | 800 | 1 800 | 1 300 | −0.002197 |
4. Весовая агрегация
Нормализованные баллы метрик агрегируются в платформенный индекс $S_{\text{platform}}$ через взвешенную сумму:
Веса метрик отражают их относительный вклад в воспринимаемую скорость загрузки:
| Метрика | Вес $w$ | Обоснование |
|---|---|---|
| LCP | 35% | Основной показатель воспринимаемой скорости загрузки по данным Google CWV |
| INP | 30% | Критичен для интерактивных сайтов; заменил FID в Core Web Vitals (март 2024) |
| CLS | 20% | Визуальная стабильность — ключевой UX-фактор для мобильных пользователей |
| TTFB | 15% | Прокси серверной инфраструктуры; коррелирует с LCP при слабом соединении |
Если данные по отдельной метрике отсутствуют ($x = 0$ в CrUX), её балл принимается равным нулю, а веса оставшихся метрик нормируются так, чтобы их сумма оставалась равной 1.
5. Платформенный коэффициент
Финальный балл формируется как взвешенная комбинация мобильного и десктопного платформенных индексов:
где $\alpha = 0.6$ — мобильный вес, отражающий долю мобильного трафика в Рунете (~60% сессий приходится на смартфоны по данным Яндекс.Метрики).
Если данные по десктопу полностью отсутствуют, применяется штраф за отсутствие десктопного присутствия:
Коэффициент $\delta = 0.85$ отражает экономическую ценность десктопной аудитории: конверсия на десктопе в коммерческих нишах в среднем в 2–3 раза выше мобильной (Google Analytics Benchmarks 2024).
6. Байесовское сжатие (Shrinkage)
Малые выборки дают ненадёжные p75-оценки. Для корректировки применяется байесовское сжатие к априорному среднему (James–Stein shrinkage estimator):
где:
- $\mu_0 = 50$ — априорный нейтральный балл (равновесный prior)
- $c$ — коэффициент доверия, монотонная функция объёма выборки $n$:
При $n = 1000$ имеем $c = 1.0$ (полное доверие к данным). При $n = 250$ — $c = 0.5$ (балл смещается на 50% к центру распределения). Квадратный корень выбран как компромисс между линейной функцией (доверие растёт слишком быстро) и логарифмической (слишком медленно).
Итоговый балл округляется до целого числа и ограничивается диапазоном $[0,\, 100]$:
Полная сквозная формула от сырых метрик до итогового балла:
7. Ранжирование и перцентили
После расчёта IQ Score для всей выборки выполняется глобальное ранжирование по убыванию $S_{\text{final}}$. Сайты с равными баллами получают одинаковый ранг (Standard Competition Ranking, метод 1224).
Перцентиль сайта с рангом $r$ в выборке объёма $N$:
Ниши ранжируются независимо: для каждой вертикали строится отдельная отсортированная последовательность. Это позволяет корректно сравнивать сайты разного масштаба внутри одной категории.
Дельта ранга $\Delta_r$ — изменение глобальной позиции относительно предыдущего снапшота:
Положительное значение означает рост (сайт поднялся), отрицательное — падение.
8. Критерии исключения
Сайт исключается из публичного Индекса если выполняется хотя бы одно условие:
- Суммарный объём выборки $n_{\text{mobile}} + n_{\text{desktop}} < 200$ — данных недостаточно для надёжной p75-оценки.
- Сайт помечен флагом
is_hidden(техническая ошибка в данных). - Домен недоступен в CrUX (новый сайт, нет достаточного публичного трафика Chrome).
Сайты с неполными данными (только мобильные метрики) включаются с применением штрафа $\delta$ и нулевых значений для отсутствующих метрик.
9. Источники
- Google. Web Vitals. web.dev/articles/vitals — официальная документация Core Web Vitals: LCP, INP, CLS и пороговые значения.
- Google. Chrome UX Report. developer.chrome.com/docs/crux — методология сбора полевых данных и структура BigQuery-датасета.
- Google. CrUX History API. developer.chrome.com/docs/crux/history-api — исторические снапшоты для расчёта динамики позиций.
- Efron, B., Morris, C. Stein's Paradox in Statistics. Scientific American, 1977 — теоретическое обоснование байесовского сжатия.
- James, W., Stein, C. Estimation with Quadratic Loss. Proceedings of the Fourth Berkeley Symposium on Mathematical Statistics and Probability, 1961, Vol. 1, pp. 361–379.
- Google. Interaction to Next Paint (INP). web.dev/articles/inp — описание метрики INP, заменившей FID в Core Web Vitals с марта 2024.
- Google. Think with Google: Mobile vs Desktop Conversion. thinkwithgoogle.com — данные о конверсии по типам устройств в коммерческих нишах.
- Яндекс.Метрика. Публичная статистика Рунета 2024. Соотношение мобильного и десктопного трафика по отраслям.