百分位数

使用 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...