Percentielen

Zakelijke data analyseren in SQL

Michel Semaan

Data Scientist

Percentielen - overzicht

  • Percentiel: het n-de percentiel is de waarde waarvoor $n\%$ van de dataset lager is
    • Laagste waarde is het 0e percentiel
    • Hoogste waarde is het 99e percentiel
Zakelijke data analyseren in SQL

Kwartielen

  • Voorbeeld: 25e percentiel van gebruikersbestellingen is 17; dan heeft 25% 17 keer of minder besteld
  • Eerste kwartiel: 25e percentiel
  • Derde kwartiel: 75e percentiel
  • Interkwartielafstand (IQR): alle data tussen het eerste en derde kwartiel
  • Tweede kwartiel: 50e percentiel, mediaan
    • Anders dan het gemiddelde!
Zakelijke data analyseren in SQL

Scheve data

Scheve verdelingen

Zakelijke data analyseren in SQL

Kwartielen - query

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;
Zakelijke data analyseren in SQL

Kwartielen - resultaat

orders_p25  orders_p50  orders_p75  avg_orders
----------  ----------  ----------  ----------
6.00        8.00        11.00       8.70
Zakelijke data analyseren in SQL

Percentielen

Zakelijke data analyseren in SQL

Preparing Video For Download...