Медиана
Также: медиана в статистике, 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/p99 | p50 — типичный опыт, 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 и продвинутыми техниками анализа
Посмотреть курс