Медиана

Также: медиана в статистике, median

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

Медиана — это середина отсортированного набора данных: ровно половина наблюдений меньше неё, половина больше. Главное свойство медианы — устойчивость к выбросам. Среднее арифметическое «тянут» вверх редкие экстремальные значения (один клиент-«кит», одна сессия на два часа), а медиана их почти не замечает. Поэтому в продуктовой аналитике, где почти все распределения скошены вправо, медиана обычно честнее отвечает на вопрос «а как у типичного пользователя?».

Как считать

Отсортируйте n значений по возрастанию, тогда:

медиана = x[(n+1)/2] — при нечётном n (центральный элемент)

медиана = (x[n/2] + x[n/2 + 1]) / 2 — при чётном n (среднее двух центральных)

  • n — число наблюдений;
  • x[i] — i-й элемент отсортированного ряда.

Медиана — это 50-й перцентиль (p50). В SQL считается как percentile_cont(0.5), в Python — numpy.median(). Для потоковых данных на больших объёмах точная медиана дорога, поэтому аналитические базы часто считают её приближённо (approx_percentile) — для продуктовых решений такой точности достаточно.

Пример с числами

Приложение «Шаги» (трекер ходьбы с платной подпиской) анализирует длительность сессии. Десять сессий, секунды:

12, 18, 25, 31, 38, 42, 55, 63, 96, 400

  • Среднее: (12 + 18 + … + 400) / 10 = 780 / 10 = 78 секунд;
  • Медиана: n = 10, чётное → (38 + 42) / 2 = 40 секунд.

Одна аномальная сессия в 400 секунд (пользователь ушёл, не закрыв приложение) почти удвоила среднее. Типичная сессия — около 40 секунд, и решения о редизайне главного экрана нужно принимать исходя из этой цифры.

Ещё нагляднее с деньгами. За день в «Шагах» 10 покупок: девять по 300 ₽ (месячная подписка) и одна на 30 000 ₽ (пожизненный доступ). Средний чек: 32 700 / 10 = 3 270 ₽. Медианный чек: 300 ₽. Оба числа верны, но отвечают на разные вопросы: среднее связано с выручкой (среднее × количество = выручка), медиана описывает типичную покупку. Обещать инвестору «средний чек 3 270 ₽» на основе одного кита — прямой путь к провалу прогноза следующего месяца.

Когда медиана, а когда среднее

ЗадачаЧто использоватьПочему
Прогноз выручки, юнит-экономикаСреднее (ARPU, средний чек)Среднее аддитивно: среднее × число пользователей = сумма
Поведение типичного пользователя (сессии, чеки, глубина просмотра)МедианаРаспределения скошены, выбросы искажают среднее
Скорость продукта (время загрузки, ответ API)Медиана (p50) + p95/p99p50 — типичный опыт, p95 — опыт «страдающего» меньшинства
Зарплаты, доходы аудиторииМедианаСтандарт статистики: доходы всегда скошены вправо
Симметричные распределения без выбросовЛюбуюПри симметрии медиана и среднее совпадают

Практическое правило: если медиана и среднее заметно расходятся, распределение скошено — смотрите гистограмму и перцентили, а не одно число.

Частые ошибки

  • Складывать и взвешивать медианы. Медиана не аддитивна: медиана по всей базе не равна среднему медиан по сегментам. Агрегировать сегменты можно только пересчётом по объединённым сырым данным.
  • Строить прогноз выручки на медиане. Медианный чек 300 ₽ × 10 покупок = 3 000 ₽, а фактическая выручка — 32 700 ₽. Для денег в сумме работает только среднее.
  • Сравнивать медианы в A/B-тесте обычным t-критерием. Он проверяет средние. Для медиан нужны бутстреп доверительных интервалов или квантильные методы.
  • Смотреть только на p50 и не видеть хвост. Медианное время ответа API 80 мс не спасёт, если p99 — 8 секунд: каждый сотый запрос «висит». Медиана всегда работает в паре со старшими перцентилями.
  • Доверять медиане на малых выборках. На 10–20 наблюдениях медиана скачет между соседними значениями; выводы требуют доверительного интервала.
  • ARPU и ARPPU — средние метрики выручки, которые полезно проверять медианой;
  • Метрики продукта — где выбор между средним и медианой возникает постоянно;
  • A/B-тестирование — как корректно сравнивать распределения, а не только средние;
  • LTV — метрика, которую выбросы-«киты» искажают сильнее всего.
Разобраться на практике

Продуктовая аналитика 2.0

Углубленный курс продуктовой аналитики с Python, ML и продвинутыми техниками анализа

Посмотреть курс