Percentily

Analyzing Business Data in SQL

Michel Semaan

Data Scientist

Percentily – přehled

  • Percentil: $n$-tý percentil je hodnota, pod níž leží $n\%$ hodnot datové sady
    • Nejnižší hodnota je 0. percentil
    • Nejvyšší hodnota je 99. percentil
Analyzing Business Data in SQL

Kvartily

  • Příklad: 25. percentil objednávek je 17 → 25 % uživatelů objednalo 17× nebo méně
  • První kvartil: 25. percentil
  • Třetí kvartil: 75. percentil
  • Mezikvartilové rozpětí (IQR): data mezi prvním a třetím kvartilem
  • Druhý kvartil: 50. percentil, medián
    • Liší se od průměru!
Analyzing Business Data in SQL

Zešikmená data

Zešikmená rozdělení

Analyzing Business Data in SQL

Kvartily – dotaz

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;
Analyzing Business Data in SQL

Kvartily – výsledek

orders_p25  orders_p50  orders_p75  avg_orders
----------  ----------  ----------  ----------
6.00        8.00        11.00       8.70
Analyzing Business Data in SQL

Percentily

Analyzing Business Data in SQL

Preparing Video For Download...