Разница между медианой и 75-м перцентилем

В Web Vitals используются различные методы статистической оценки, чтобы понять, насколько эффективно страница работает для пользователей. Среди таких методов ключевое значение имеют медиана и 75-й перцентиль, поскольку они дают представление о распределении пользовательского опыта.

Медиана (50-й перцентиль)

Медиана — это значение, которое делит набор данных пополам: половина пользователей испытывает результат лучше или равный медиане, а другая половина — хуже. В контексте Web Vitals медиана позволяет оценить типичный опыт пользователя.

Например, если метрика Largest Contentful Paint (LCP) для 100 пользователей имеет медиану 2.5 секунды, это означает, что для 50 пользователей LCP равен или меньше 2.5 секунд, а для остальных 50 — больше. Медиана полезна для выявления типичных сценариев, исключая экстремальные значения, которые могут сильно искажать среднее арифметическое.

75-й перцентиль

75-й перцентиль — это значение, которое показывает, что 75% пользователей имеют результаты лучше или равные этому значению, а 25% — хуже. В метриках Web Vitals 75-й перцентиль используется для оценки худшего пользовательского опыта среди значительной части аудитории, что важно для выявления проблем, влияющих на меньшую, но критически важную группу пользователей.

Пример с LCP: если 75-й перцентиль LCP равен 3.5 секунды, значит 75 пользователей из 100 видят загрузку контента за 3.5 секунды или быстрее, а 25 — медленнее. Это помогает выявлять «узкие места» в производительности, которые могут остаться незамеченными при анализе медианы.

Влияние на оценку качества пользовательского опыта

  • Медиана отражает обычный опыт. Если медиана находится в пределах рекомендуемых значений Web Vitals, большинство пользователей получает адекватную скорость загрузки и отзывчивость.
  • 75-й перцентиль отражает крайний опыт. Даже если медиана хорошая, высокий 75-й перцентиль указывает на наличие значительной доли пользователей, испытывающих задержки или лаги, что требует оптимизации.

Практическое использование в JavaScript

Библиотека web-vitals предоставляет функции для измерения ключевых метрик, таких как CLS, FID и LCP, и позволяет агрегировать данные, чтобы вычислять медиану и 75-й перцентиль.

Пример кода для сбора LCP и расчёта медианы и 75-го перцентиля:

import {getLCP} from 'web-vitals';

const lcpValues = [];

getLCP(metric => {
  lcpValues.push(metric.value);
  lcpValues.sort((a, b) => a - b);
  
  const medianIndex = Math.floor(lcpValues.length / 2);
  const percentile75Index = Math.floor(lcpValues.length * 0.75);

  const median = lcpValues[medianIndex];
  const percentile75 = lcpValues[percentile75Index];

  console.log('LCP медиана:', median);
  console.log('LCP 75-й перцентиль:', percentile75);
});

В этом коде значения LCP собираются в массив, сортируются по возрастанию и затем извлекаются медиана и 75-й перцентиль по соответствующим индексам. Такой подход позволяет одновременно отслеживать типичный опыт и выявлять проблемы у значительной части пользователей.

Важные моменты при интерпретации

  1. Медиана не показывает крайние значения. Даже если медиана в пределах нормы, часть пользователей может сталкиваться с длительной загрузкой.
  2. 75-й перцентиль чувствителен к длинному хвосту распределения. Высокий перцентиль сигнализирует о том, что оптимизация должна быть направлена на худшие сценарии.
  3. Комбинированный анализ медианы и 75-го перцентиля позволяет принимать сбалансированные решения: улучшение опыта большинства и минимизация проблем у меньшей, но значимой группы пользователей.

Заключение по применению

Использование медианы и 75-го перцентиля в Web Vitals является стандартом для оценки производительности. Медиана описывает типичный опыт, а 75-й перцентиль — опыт пользователей с менее удачными условиями, что делает анализ данных более полным и ориентированным на реальных пользователей.

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