Перцентили

Анализ бизнес-данных с помощью SQL

Michel Semaan

Data Scientist

Перцентили — обзор

  • Перцентиль: $n$-й перцентиль — значение, ниже которого находятся $n\%$ значений набора данных
    • Минимальное значение — 0-й перцентиль
    • Максимальное значение — 99-й перцентиль
Анализ бизнес-данных с помощью SQL

Квартили

  • Пример: если 25-й перцентиль заказов — 17, то 25% пользователей сделали не более 17 заказов
  • Первый квартиль: 25-й перцентиль
  • Третий квартиль: 75-й перцентиль
  • Межквартильный размах (IQR): все данные между первым и третьим квартилями
  • Второй квартиль: 50-й перцентиль, медиана
    • Отличается от среднего!
Анализ бизнес-данных с помощью SQL

Асимметричные данные

Асимметричные распределения

Анализ бизнес-данных с помощью SQL

Квартили — запрос

WITH user_orders AS (
  SELECT
    user_id,
    COUNT(DISTINCT order_id) AS orders
  FROM orders
  GROUP BY user_id)

SELECT ROUND( PERCENTILE_CONT(0.25) WITHIN GROUP (ORDER BY orders ASC) :: NUMERIC, 2) AS orders_p25, ROUND( PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY orders ASC) :: NUMERIC, 2) AS orders_p50, ROUND( PERCENTILE_CONT(0.75) WITHIN GROUP (ORDER BY orders ASC) :: NUMERIC, 2) AS orders_p75, ROUND(AVG(orders) :: NUMERIC, 2) AS avg_orders FROM user_orders;
Анализ бизнес-данных с помощью SQL

Квартили — результат

orders_p25  orders_p50  orders_p75  avg_orders
----------  ----------  ----------  ----------
6.00        8.00        11.00       8.70
Анализ бизнес-данных с помощью SQL

Перцентили

Анализ бизнес-данных с помощью SQL

Preparing Video For Download...