Методология расчёта Индекса Качества

Коротко: берём 4 метрики скорости (LCP, INP, CLS, TTFB) из данных реальных пользователей Chrome, каждую переводим в балл 0–100 через сигмоиду, взвешиваем (мобильный ×0.6) и применяем байесовское сжатие для малых выборок — получаем Индекс Качества 0–100. Больше = лучше.

Индекс Качества (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 5004 000мс
INP Interaction to Next Paint — задержка интерактивности 200500мс
CLS Cumulative Layout Shift — визуальная стабильность (×1000) 100250усл.
TTFB Time to First Byte — отзывчивость сервера 8001 800мс

CLS хранится в формате ×1000 (целое число) для совместимости с типом данных SMALLINT UNSIGNED. Good/Poor-пороги соответствуют официальным спецификациям Web Vitals.

3. Сигмоидальная нормализация

Каждое сырое значение метрики $x$ нормализуется в непрерывный балл $s \in [0,\, 100]$ с помощью логистической (сигмоидальной) функции:

$$\sigma(x;\, x_{\text{mid}},\, k) = \frac{100}{1 + e^{\,k\,(x - x_{\text{mid}})}}$$

Параметры $x_{\text{mid}}$ и $k$ калибруются так, чтобы выполнялись граничные условия, соответствующие порогам Google:

$$\sigma(x_{\text{good}};\, x_{\text{mid}},\, k) \approx 90, \qquad \sigma(x_{\text{poor}};\, x_{\text{mid}},\, k) \approx 10$$

Из этих условий аналитически выводятся параметры функции:

$$x_{\text{mid}} = \frac{x_{\text{good}} + x_{\text{poor}}}{2}, \qquad k = \frac{\ln 9}{x_{\text{mid}} - x_{\text{good}}}$$

Знак $k$ отрицательный: чем меньше значение метрики (быстрее сайт), тем выше балл. Сигмоидальная форма обеспечивает три важных свойства:

  • Монотонность — улучшение метрики всегда повышает балл.
  • Непрерывность — нет разрывов на границах Good / Needs Improvement / Poor.
  • Насыщение — экстремальные значения логарифмически стремятся к 100 или 0, не создавая бесконечного прироста.

Конкретные параметры для каждой метрики:

Метрика $x_{\text{good}}$ $x_{\text{poor}}$ $x_{\text{mid}}$ $k$
LCP2 5004 0003 250−0.001466
INP200500350−0.014663
CLS100250175−0.014663
TTFB8001 8001 300−0.002197

4. Весовая агрегация

Нормализованные баллы метрик агрегируются в платформенный индекс $S_{\text{platform}}$ через взвешенную сумму:

$$S_{\text{platform}} = w_{\text{LCP}} \cdot \sigma_{\text{LCP}} + w_{\text{INP}} \cdot \sigma_{\text{INP}} + w_{\text{CLS}} \cdot \sigma_{\text{CLS}} + w_{\text{TTFB}} \cdot \sigma_{\text{TTFB}}$$

Веса метрик отражают их относительный вклад в воспринимаемую скорость загрузки:

МетрикаВес $w$Обоснование
LCP35% Основной показатель воспринимаемой скорости загрузки по данным Google CWV
INP30% Критичен для интерактивных сайтов; заменил FID в Core Web Vitals (март 2024)
CLS20% Визуальная стабильность — ключевой UX-фактор для мобильных пользователей
TTFB15% Прокси серверной инфраструктуры; коррелирует с LCP при слабом соединении

Если данные по отдельной метрике отсутствуют ($x = 0$ в CrUX), её балл принимается равным нулю, а веса оставшихся метрик нормируются так, чтобы их сумма оставалась равной 1.

5. Платформенный коэффициент

Финальный балл формируется как взвешенная комбинация мобильного и десктопного платформенных индексов:

$$S_{\text{raw}} = \alpha \cdot S_{\text{mobile}} + (1-\alpha) \cdot S_{\text{desktop}}$$

где $\alpha = 0.6$ — мобильный вес, отражающий долю мобильного трафика в Рунете (~60% сессий приходится на смартфоны по данным Яндекс.Метрики).

Если данные по десктопу полностью отсутствуют, применяется штраф за отсутствие десктопного присутствия:

$$S_{\text{raw}} = \delta \cdot S_{\text{mobile}}, \qquad \delta = 0.85$$

Коэффициент $\delta = 0.85$ отражает экономическую ценность десктопной аудитории: конверсия на десктопе в коммерческих нишах в среднем в 2–3 раза выше мобильной (Google Analytics Benchmarks 2024).

6. Байесовское сжатие (Shrinkage)

Малые выборки дают ненадёжные p75-оценки. Для корректировки применяется байесовское сжатие к априорному среднему (James–Stein shrinkage estimator):

$$S_{\text{final}} = c \cdot S_{\text{raw}} + (1 - c) \cdot \mu_0$$

где:

  • $\mu_0 = 50$ — априорный нейтральный балл (равновесный prior)
  • $c$ — коэффициент доверия, монотонная функция объёма выборки $n$:
$$c = \min\!\left(1,\; \sqrt{\frac{n}{n_0}}\right), \qquad n_0 = 1000$$

При $n = 1000$ имеем $c = 1.0$ (полное доверие к данным). При $n = 250$ — $c = 0.5$ (балл смещается на 50% к центру распределения). Квадратный корень выбран как компромисс между линейной функцией (доверие растёт слишком быстро) и логарифмической (слишком медленно).

Итоговый балл округляется до целого числа и ограничивается диапазоном $[0,\, 100]$:

$$\text{IQ Score} = \mathrm{clip}\!\left(\operatorname{round}(S_{\text{final}}),\; 0,\; 100\right)$$

Полная сквозная формула от сырых метрик до итогового балла:

$$\text{IQ Score} = \mathrm{clip}\!\left(\operatorname{round}\!\left[ \left( c\,\bigl(\alpha S_m + (1-\alpha) S_d\bigr) + (1-c)\,\mu_0 \right) \right],\; 0,\; 100\right)$$

7. Ранжирование и перцентили

После расчёта IQ Score для всей выборки выполняется глобальное ранжирование по убыванию $S_{\text{final}}$. Сайты с равными баллами получают одинаковый ранг (Standard Competition Ranking, метод 1224).

Перцентиль сайта с рангом $r$ в выборке объёма $N$:

$$P = \left\lceil 100 \cdot \frac{N - r}{N} \right\rceil$$

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

Дельта ранга $\Delta_r$ — изменение глобальной позиции относительно предыдущего снапшота:

$$\Delta_r = r_{\text{prev}} - r_{\text{curr}}$$

Положительное значение означает рост (сайт поднялся), отрицательное — падение.

8. Критерии исключения

Сайт исключается из публичного Индекса если выполняется хотя бы одно условие:

  • Суммарный объём выборки $n_{\text{mobile}} + n_{\text{desktop}} < 200$ — данных недостаточно для надёжной p75-оценки.
  • Сайт помечен флагом is_hidden (техническая ошибка в данных).
  • Домен недоступен в CrUX (новый сайт, нет достаточного публичного трафика Chrome).

Сайты с неполными данными (только мобильные метрики) включаются с применением штрафа $\delta$ и нулевых значений для отсутствующих метрик.

9. Источники

  1. Google. Web Vitals. web.dev/articles/vitals — официальная документация Core Web Vitals: LCP, INP, CLS и пороговые значения.
  2. Google. Chrome UX Report. developer.chrome.com/docs/crux — методология сбора полевых данных и структура BigQuery-датасета.
  3. Google. CrUX History API. developer.chrome.com/docs/crux/history-api — исторические снапшоты для расчёта динамики позиций.
  4. Efron, B., Morris, C. Stein's Paradox in Statistics. Scientific American, 1977 — теоретическое обоснование байесовского сжатия.
  5. 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.
  6. Google. Interaction to Next Paint (INP). web.dev/articles/inp — описание метрики INP, заменившей FID в Core Web Vitals с марта 2024.
  7. Google. Think with Google: Mobile vs Desktop Conversion. thinkwithgoogle.com — данные о конверсии по типам устройств в коммерческих нишах.
  8. Яндекс.Метрика. Публичная статистика Рунета 2024. Соотношение мобильного и десктопного трафика по отраслям.