Percentiles

Analyser des données métier en SQL

Michel Semaan

Data Scientist

Percentiles - aperçu

  • Percentile : le n-ième percentile est la valeur en dessous de laquelle n % des valeurs se situent
    • La plus faible valeur est le 0e percentile
    • La plus élevée est le 99e percentile
Analyser des données métier en SQL

Quartiles

  • Exemple : le 25e percentile des commandes utilisateur est 17, donc 25 % ont commandé 17 fois ou moins
  • Premier quartile : 25e percentile
  • Troisième quartile : 75e percentile
  • Étendue interquartile (IQR) : toutes les données entre les 1er et 3e quartiles
  • Deuxième quartile : 50e percentile, médiane
    • Différent de la moyenne !
Analyser des données métier en SQL

Données asymétriques

Distributions asymétriques

Analyser des données métier en SQL

Quartiles - requête

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;
Analyser des données métier en SQL

Quartiles - résultat

orders_p25  orders_p50  orders_p75  avg_orders
----------  ----------  ----------  ----------
6.00        8.00        11.00       8.70
Analyser des données métier en SQL

Percentiles

Analyser des données métier en SQL

Preparing Video For Download...