← Назад к вопросам

Приведи пример метрики, в которой использование среднего приводит к ошибке

2.0 Middle🔥 151 комментариев
#Метрики и аналитика данных

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Среднее значение метрики: когда это приводит к ошибке

Среднее (mean, average) — это инструмент, который может скрыть реальность и привести к неправильным решениям. Расскажу о реальном примере из своей практики, где использование только average почти привело к катастрофе.

История: Производительность платформы

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

Данные (Response time в миллисекундах):

До рефакторинга:

  • 95 процентов запросов: 100-120 ms
  • 5 процентов запросов: 8000-10000 ms (outliers)
  • Mean: 1924 ms
  • Median: 105 ms

После рефакторинга:

  • 95 процентов запросов: 45-55 ms
  • 5 процентов запросов: 140-160 ms
  • Mean: 70.3 ms
  • Median: 50 ms

Что показало среднее (mean)? Улучшение на 1853 ms (96 процентов улучшение)!

Проблема: Outliers искажают среднее

Один запрос 9500 ms увеличивает среднее как 95 нормальных запросов. Это делает mean очень чувствительным к outliers.

Правильный анализ:

  • Median улучшилась на 52 процентов (105 → 50 ms)
  • P95 улучшилась на 98 процентов (9500 → 150 ms)
  • 5 процентов пользователей всё ещё имеют проблемы с временем отклика

Реальный impact: что испытывали пользователи

95 процентов пользователей: Система стала в 2 раза быстрее (хорошо) 5 процентов пользователей: Система всё ещё медленная (плохо)

Реальность: Люди, жалующиеся на производительность, в основном из этих 5 процентов.

Другие примеры, где среднее приводит к ошибке

Revenue (выручка) на пользователя:

  • Mean ARPU: 50 долларов
  • 95 процентов пользователей: 10-20 долларов
  • 5 процентов корпоративных клиентов: 1000-5000 долларов
  • Вывод: Среднее завышено из-за немногих крупных клиентов

Time to fix bugs:

  • Mean: 3 дня
  • Обычные баги: 1-2 дня
  • Сложные баги: 15-20 дней
  • Вывод: Есть проблемные баги, которые очень долго фиксятся

Customer satisfaction:

  • Mean CSAT: 4.2 из 5
  • Довольные пользователи: 4.5-5.0
  • Рассерженные пользователи: 1-2
  • Вывод: 20 процентов недовольных, это проблема

Правильный способ анализа метрик

Вместо одного среднего используй:

МетрикаЧто показывает
MeanОбщее среднее (часто искажено outliers)
Median (P50)Типичный пользователь
P95Хороший порог для SLA
P99Хороший порог для важных систем
DistributionПолная картина

Пример правильного анализа:

API Latency:

  • Mean: 50ms
  • Median P50: 48ms (типичный пользователь)
  • P95: 95ms (95 процентов пользователей меньше)
  • P99: 150ms (99 процентов пользователей меньше)
  • Max: 500ms (редко)

Как я мог бы избежать ошибки

Проверочные вопросы при анализе:

  1. Есть ли outliers в данных?
  2. Какой median (P50)?
  3. Какой P95 и P99?
  4. Высокое ли std deviation (нестабильность)?
  5. Как выглядит график распределения?

Вывод

Среднее (mean) — это опасная метрика, когда есть outliers или асимметричное распределение.

Лучшие практики:

  1. Всегда посмотри на distribution (график)
  2. Используй percentiles (P50, P95, P99) для SLA
  3. Проверь std deviation — если высокая, система нестабильна
  4. Сегментируй данные — анализируй разные группы отдельно
  5. Скажи нет только среднему — дополняй медианой и percentiles

В моём примере я потратил 100 часов на рефакторинг. По среднему казалось отличным решением. По P95 видно, что проблема всё ещё оставалась. Это привело бы к неправильному prioritization работы.