Что такое квантили и зачем они нужны в аналитике
Квантили — это статистические показатели, которые делят упорядоченный набор данных на равные части. Они помогают понять распределение значений, выявить выбросы и оценить центральные тенденции. Например, медиана (50-й перцентиль) делит данные пополам, а квартили — на четыре равные части. В бизнес-аналитике квантили используют для сегментации клиентов, оценки рисков или анализа продаж.
В Microsoft Excel расчёт квантилей упрощается благодаря встроенным функциям, но многие пользователи сталкиваются с путаницей: какую формулу выбрать, как правильно интерпретировать результаты и почему ответы могут отличаться в разных версиях программы. Эта статья разберёт все нюансы — от базовых функций до продвинутых техник с примерами на реальных данных.
Прежде чем перейти к практике, важно уяснить: квантили бывают разных типов — перцентили (делят на 100 частей), квартили (на 4 части), квинтили (на 5 частей) и т.д. В Excel для каждого типа есть свои функции, но принципы их работы схожи. Если вы никогда не сталкивались с статистикой, начните с простого: возьмите любой набор чисел (например, продажи по месяцам) и попробуйте разделить их на квартили — так вы поймёте логику.
Базовые функции для расчёта квантилей в Excel
Excel предлагает несколько встроенных функций для работы с квантилями. Их синтаксис и результаты могут незначительно отличаться, поэтому важно понимать, какую именно функцию применять в вашей задаче. Рассмотрим основные:
- 📊 КВАНТИЛЬ.ЭКСКЛ (QUARTILE.EXC) — исключает крайние значения (0 и 1) и возвращает квантили в диапазоне от 0 до 1 (не включая границы). Подходит для анализа без выбросов.
- 📈 КВАНТИЛЬ.ВКЛ (QUARTILE.INC) — включает границы (0 и 1) и делит данные на равные части. Аналог старой функции
КВАРТИЛЬ. - 📉 ПЕРСЕНТИЛЬ.ЭКСКЛ (PERCENTILE.EXC) — рассчитывает перцентили, исключая 0-й и 100-й процентили. Точнее для анализа распределений без экстремальных значений.
- 📌 ПЕРСЕНТИЛЬ.ВКЛ (PERCENTILE.INC) — включает 0-й и 100-й процентили. Подходит для полного анализа данных.
Например, чтобы найти медиану (50-й перцентиль) для диапазона A1:A10, можно использовать:
=ПЕРСЕНТИЛЬ.ВКЛ(A1:A10; 0,5)
или
=КВАНТИЛЬ.ВКЛ(A1:A10; 0,5)
Обе функции вернут одно и то же значение, но для других квантилей (например, 25-го или 75-го) результаты могут отличаться из-за разного подхода к интерполяции. Функции с суффиксом ".ЭКСКЛ" дают более консервативные оценки, так как не учитывают минимальные и максимальные значения.
Пошаговая инструкция: как рассчитать квартили
Квартили — самый популярный вид квантилей, который делит данные на 4 равные части. Рассмотрим, как их посчитать на примере продаж магазина за 10 дней (данные в диапазоне B2:B11):
| День | Продажи (тыс. руб.) |
|---|---|
| 1 | 120 |
| 2 | 150 |
| 3 | 180 |
| 4 | 90 |
| 5 | 210 |
| 6 | 130 |
| 7 | 160 |
| 8 | 190 |
| 9 | 200 |
| 10 | 170 |
Шаги для расчёта квартилей:
- Упорядочьте данные по возрастанию: перейдите в
Данные → Сортировка от минимального к максимальному. - Используйте функцию
КВАРТИЛЬ(для старых версий Excel) илиКВАНТИЛЬ.ВКЛ(для новых):
=КВАНТИЛЬ.ВКЛ(B2:B11; 1) // Q1 (25-й перцентиль)
=КВАНТИЛЬ.ВКЛ(B2:B11; 2) // Q2 (медиана)
=КВАНТИЛЬ.ВКЛ(B2:B11; 3) // Q3 (75-й перцентиль)
Результаты для нашего примера:
- 📌 Q1 (25-й перцентиль) = 127,5 (25% данных ≤ 127,5)
- 📌 Q2 (медиана) = 165 (50% данных ≤ 165)
- 📌 Q3 (75-й перцентиль) = 192,5 (75% данных ≤ 192,5)
Данные отсортированы по возрастанию
Нет пустых ячеек в диапазоне
Используется правильная функция для версии Excel
Проверены крайние значения на выбросы-->
Расчёт перцентилей: когда нужна точность
Перцентили позволяют делить данные на 100 частей и полезны для детального анализа распределений. Например, 90-й перцентиль показывает пороговое значение, ниже которого находятся 90% данных. Это часто используется в финансах (оценка рисков), медицине (нормы показателей) или HR (анализ зарплат).
В Excel для расчёта перцентилей есть две функции:
- 🔢 ПЕРСЕНТИЛЬ.ВКЛ — включает минимальное и максимальное значения (0-й и 100-й перцентили).
- 🔢 ПЕРСЕНТИЛЬ.ЭКСКЛ — исключает крайние значения, что полезно для анализа без выбросов.
Пример: найдём 90-й перцентиль для тех же данных о продажах. Если использовать ПЕРСЕНТИЛЬ.ВКЛ:
=ПЕРСЕНТИЛЬ.ВКЛ(B2:B11; 0,9)
Результат = 204. Это означает, что 90% дней продажи были ≤ 204 тыс. руб. Если применить ПЕРСЕНТИЛЬ.ЭКСКЛ, результат будет иным (например, 202), так как функция игнорирует минимальное (90) и максимальное (210) значения.
⚠️ Внимание: Если ваш набор данных содержит менее 2-х значений, функцииПЕРСЕНТИЛЬ.ЭКСКЛиКВАНТИЛЬ.ЭКСКЛвернут ошибку#ЧИСЛО!. В таких случаях используйте версии с суффиксом.ВКЛили проверяйте данные на минимальный размер.
Для визуализации перцентилей можно построить ящик с усами (box plot) в Excel. Хотя в программе нет встроенного инструмента для такого графика, его можно создать вручную с помощью столбчатой диаграммы и линий для квартилей. Например:
- Рассчитайте Q1, медиану и Q3.
- Найдите минимальное и максимальное значения (или используйте 1-й и 99-й перцентили для исключения выбросов).
- Постройте столбчатую диаграмму с этими значениями и добавьте линии для квартилей.
Ручной расчёт квантилей: когда формулы не подходят
Иногда встроенные функции Excel могут давать неожиданные результаты из-за особенностей интерполяции. В таких случаях полезно понимать, как квантили рассчитываются вручную. Алгоритм следующий:
- Упорядочьте данные по возрастанию:
A = {x₁, x₂, ..., xₙ}, гдеx₁ ≤ x₂ ≤ ... ≤ xₙ. - Определите позицию квантиля по формуле:
P = (n - 1) * k + 1где
n— количество данных,k— желаемый квантиль (от 0 до 1). - Найдите значение:
- Если
P— целое число, квантиль =x_P. - Если
P— дробное, используйте линейную интерполяцию между соседними значениями.
- Если
Пример: найдём 30-й перцентиль для данных {10, 20, 30, 40, 50}.
- Упорядоченный массив:
{10, 20, 30, 40, 50}(n = 5). - Позиция:
P = (5 - 1) * 0.3 + 1 = 2.2. - Интерполяция: значение между 2-м и 3-м элементами:
x = x₂ + (x₃ - x₂) (P - 2) = 20 + (30 - 20) 0.2 = 22 - 📊 Сводные таблицы + ручной расчёт квантилей для каждой группы.
- 📈 Функция
ЧАСТОТАдля создания распределения, а затем — расчёт квантилей на его основе. - 🛠️ Power Query (в Excel 2016+) для группировки и расчёта квантилей в одном запросе.
Сравним с Excel: функция =ПЕРСЕНТИЛЬ.ВКЛ(A1:A5; 0,3) вернёт 22, а ПЕРСЕНТИЛЬ.ЭКСКЛ — 24 (из-за другого метода интерполяции). Ручной расчёт совпадает с .ВКЛ.
⚠️ Внимание: Если ваши данные содержат повторяющиеся значения, ручной расчёт может давать иные результаты, чем функции Excel. В таких случаях используйте метод "среднего ранга" или обратитесь к специализированным статистическим пакетам (например, R или Python).
Почему Excel и Google Sheets дают разные квантили?
В Excel и Google Sheets используются разные алгоритмы интерполяции для квантилей. Например, Google Sheets для функции PERCENTILE использует метод "линейной интерполяции между рангами", тогда как Excel в ПЕРСЕНТИЛЬ.ВКЛ применяет формулу P = 1 + (n - 1) * k. Это приводит к расхождениям в 1-2 позиции для небольших наборов данных. Для критичных расчётов всегда уточняйте метод в документации программы.
Продвинутые техники: квантили для группированных данных
Если ваши данные сгруппированы (например, продажи по категориям или возрастные группы), стандартные функции Excel не подойдут. В таких случаях используйте:
Пример с Power Query:
- Импортируйте данные в
Power Query(Данные → Получить данные → Из таблицы/диапазона). - Сгруппируйте данные по нужному признаку (например, по регионам).
- Добавьте столбец с расчётом квантиля:
= List.Percentile([Sales], 0.75) // 75-й перцентиль для группы - Загрузите результаты обратно в Excel.
Для ручного расчёта в сводной таблице:
- Создайте сводную таблицу с группировкой по категориям.
- Добавьте вычисляемое поле с формулой квантиля (например, для медианы):
Примечание: это массивная формула, подтвердите её нажатием=МЕДИАНА(ЕСЛИ(Категория=А2; Диапазон_значений))Ctrl+Shift+Enter.
Типичные ошибки и как их избежать
Даже опытные пользователи Excel допускают ошибки при расчёте квантилей. Вот самые распространённые:
- 🚫 Несортированные данные: функции квантилей требуют упорядоченного массива. Если забыть отсортировать данные, результаты будут неверными.
- 🚫 Пустые ячейки или текст: функции
КВАНТИЛЬиПЕРСЕНТИЛЬигнорируют нечисловые значения, но это может исказить результаты. ИспользуйтеЕСЛИОШИБКАили предварительную очистку данных. - 🚫 Неправильный выбор функции:
КВАНТИЛЬ.ЭКСКЛиПЕРСЕНТИЛЬ.ЭКСКЛне работают для крайних значений (0 и 1). Если нужен 0-й или 100-й перцентиль, используйте версии с.ВКЛ. - 🚫 Округление позиций: при ручном расчёте не округляйте позицию квантиля до целого числа — это приведёт к потере точности.
Пример ошибки: если в данных есть выброс (например, 1000 вместо 100-200), функция ПЕРСЕНТИЛЬ.ВКЛ включит его в расчёт, что исказит 90-й или 95-й перцентили. Решение — использовать ПЕРСЕНТИЛЬ.ЭКСКЛ или предварительно очистить данные от выбросов с помощью функции ЕСЛИ:
=ЕСЛИ(A1>1000; СРЗНАЧ(A:A); A1)
Ещё одна ловушка — разные версии Excel. В Excel 2010 и старше функция КВАРТИЛЬ использует другой алгоритм, чем КВАНТИЛЬ.ВКЛ в новых версиях. Если вам важна совместимость, проверяйте результаты в обеих функциях.
FAQ: Ответы на частые вопросы
Можно ли рассчитать квантили для несортированных данных?
Технически функции КВАНТИЛЬ и ПЕРСЕНТИЛЬ не требуют предварительной сортировки, так как Excel упорядочивает данные автоматически. Однако для ручного расчёта или проверки результатов сортировка обязательна. Если данные не отсортированы, вы рискуете получить неверные промежуточные значения при интерполяции.
Почему мои квантили не совпадают с результатами в SPSS или R?
Разные программы используют различные методы интерполяции для квантилей. Например, R по умолчанию применяет метод "Type 7", а Excel — "Type 4" (для ПЕРСЕНТИЛЬ.ВКЛ). Чтобы получить одинаковые результаты, уточните метод в документации вашего ПО и настройте его под Excel или наоборот. В R это делается параметром type в функции quantile().
Как рассчитать квантили для данных с повторяющимися значениями?
Повторяющиеся значения не влияют на корректность функций КВАНТИЛЬ или ПЕРСЕНТИЛЬ, но могут искажать ручные расчёты. В таких случаях используйте метод "среднего ранга" или функцию РАНГ.СР для определения позиций. Например, для массива {10, 20, 20, 30} позиция медианы будет рассчитана как (4 + 1) / 2 = 2.5, а значение — как среднее между 2-м и 3-м элементами (оба равны 20).
Можно ли автоматизировать расчёт квантилей для больших таблиц?
Да, для этого подойдут:
- 📌 Power Query: импортируйте данные, сгруппируйте по нужному признаку и добавьте столбец с квантилем.
- 📌 VBA-макросы: напишите скрипт для циклического расчёта квантилей по строкам или столбцам.
- 📌 Динамические массивы (Excel 365): используйте функции
СОРТ+ПОИСКПОЗдля автоматического обновления квантилей при изменении данных.
Пример макроса для расчёта медианы в выделенном диапазоне:
Sub CalculateMedian()
Dim rng As Range
Set rng = Selection
MsgBox "Медиана: " & Application.WorksheetFunction.Percentile_Inc(rng, 0.5)
End Sub
Какая функция точнее: КВАНТИЛЬ.ВКЛ или КВАНТИЛЬ.ЭКСКЛ?
Это зависит от задачи:
- 🔍
КВАНТИЛЬ.ВКЛточнее, если вам нужны крайние значения (0-й и 100-й перцентили). - 🔍
КВАНТИЛЬ.ЭКСКЛдаёт более "чистые" результаты для анализа без выбросов, так как игнорирует минимальные и максимальные значения.
Для финансового анализа (например, Value at Risk) часто используют .ЭКСКЛ, чтобы исключить влияние экстремальных значений.