Механизм вычисления оценок

Lighthouse — инструмент для аудита веб-страниц, предоставляющий метрики производительности, доступности, SEO и лучших практик. Центральным элементом анализа является система оценок (scores), которая сводит многочисленные показатели в единую числовую шкалу от 0 до 100. Понимание механизма вычисления этих оценок позволяет более эффективно интерпретировать результаты аудита и корректировать стратегию оптимизации.

1. Структура метрик и их вес

Каждая категория аудита содержит набор отдельных метрик, называемых audits. Каждая метрика оценивается по собственным критериям и возвращает один из следующих типов данных:

  • boolean — успешное или неуспешное прохождение проверки;
  • numeric — количественные показатели, например, время загрузки или размер ресурса;
  • informational — справочные данные, не влияющие на итоговую оценку.

Для вычисления категорийного балла каждая метрика получает вес (weight), который определяет её влияние на итоговую оценку категории. Вес задается числом от 0 до 1, где сумма всех весов метрик в категории обычно нормализуется до 1.

Пример: Если категория производительности включает метрики First Contentful Paint (FCP), Largest Contentful Paint (LCP) и Cumulative Layout Shift (CLS), то их веса могут быть распределены следующим образом:

Метрика Вес
FCP 0.15
LCP 0.25
CLS 0.20
Остальные метрики 0.40

2. Нормализация значений метрик

Для числовых показателей используется процесс нормализации, который переводит сырые данные в диапазон от 0 до 1 или 0 до 100. Нормализация строится на основе пороговых значений (thresholds) и кривых производительности (scoring curves), отражающих воспринимаемую пользователем разницу.

Пример для LCP:

  • LCP ≤ 2.5 сек — оценка 100;
  • LCP 2.5–4.0 сек — линейное снижение оценки от 100 до 0;
  • LCP > 4.0 сек — оценка 0.

Формула для линейной нормализации:

[ score = (0, )]

Для некоторых метрик используется логарифмическая или экспоненциальная кривая, чтобы отражать нелинейное восприятие задержек пользователем.

3. Агрегация оценок метрик в категорию

После нормализации каждая метрика умножается на свой вес:

[ weighted_score_i = normalized_score_i weight_i]

Сумма взвешенных оценок всех метрик формирует категорийный балл:

[ category_score = _i weighted_score_i]

Категорийная оценка обычно округляется до целого числа и ограничивается диапазоном 0–100.

Важно: не все метрики участвуют в расчете. Метрики типа informational и некоторые необязательные проверки могут быть исключены.

4. Отдельные подходы для специфичных категорий

  • Производительность (Performance): ключевые метрики — FCP, LCP, Speed Index, Total Blocking Time (TBT), CLS. Все они нормализуются по заранее заданным кривым, учитывающим восприятие пользователя.
  • Доступность (Accessibility): boolean-метрики, такие как наличие alt для изображений, суммируются с весами. Здесь редко используются числовые нормализации.
  • SEO: комбинация boolean-проверок и минимальных требований к HTML-структуре.

Некоторые категории используют метод подсчета успешных аудитов (pass/fail ratio) для вычисления итогового балла.

5. Пороговые значения и цветовое кодирование

Lighthouse визуализирует результаты с помощью трёх цветов:

  • Зелёный (score ≥ 90) — отличное выполнение;
  • Жёлтый (score 50–89) — средний уровень;
  • Красный (score < 50) — требует значительной оптимизации.

Цветовая шкала формируется автоматически на основе категории и отражает критичность метрик, а не абсолютные значения времени или количества ошибок.

6. Динамические и экспериментальные изменения

Lighthouse постоянно обновляет кривые оценки и веса метрик. Например:

  • В новых версиях TBT может получить больший вес, чтобы лучше отражать интерактивность;
  • Метрики Core Web Vitals пересматриваются для актуализации пользовательских ожиданий.

Поэтому одна и та же метрика при разных версиях Lighthouse может давать разные категорийные оценки, даже если сырые показатели не изменились.

7. Практическая интерпретация

  • Высокий категорийный балл не гарантирует идеальную производительность для всех пользователей, но показывает соответствие современным стандартам;
  • Анализ метрик по отдельности помогает выявить узкие места: низкий балл в категории производительности часто связан с конкретной метрикой, такой как LCP или TBT;
  • Вес метрик позволяет сконцентрироваться на наиболее значимых показателях, а не пытаться улучшить все без приоритетов.

Систематический подход к оценкам Lighthouse обеспечивает объективную, воспроизводимую и сравнимую метрику качества сайта, которая может использоваться для мониторинга и планирования оптимизации.