直方图

使用 SQL 分析业务数据

Michel Semaan

Data Scientist

直方图 - 概览

直方图:可视化数据集中各取值的频数

频数表

orders  users
------  -----
1       7
2       42
3       65
...     ...

每位用户的订单直方图

使用 SQL 分析业务数据

直方图 - 查询(I)

WITH user_orders AS (
  SELECT
    user_id,
    COUNT(DISTINCT order_id) AS orders
  FROM meals
  JOIN orders ON meals.meal_id = orders.meal_id
  GROUP BY user_id)

SELECT orders, COUNT(DISTINCT user_id) AS users FROM user_orders GROUP BY orders ORDER BY orders ASC;
使用 SQL 分析业务数据

直方图 - 查询(II)

WITH user_revenues AS (
  SELECT
    user_id,
    SUM(meal_price * order_quantity) AS revenue
  FROM meals
  JOIN orders ON meals.meal_id = orders.meal_id
  GROUP BY user_id)

SELECT ROUND(revenue :: NUMERIC, -2) AS revenue_100, COUNT(DISTINCT user_id) AS users FROM user_revenues GROUP BY revenue_100 ORDER BY revenue_100 ASC;
使用 SQL 分析业务数据

绘制直方图

Microsoft Excel

Google 表格

matplotlib

ggplot2

使用 SQL 分析业务数据

直方图能告诉你什么?

U 形直方图

U 形直方图

  • 产生低和高收入的用户多;产生中位收入的用户少

正态直方图

正态直方图

  • 产生中位收入的用户多;产生低或高收入的用户少
使用 SQL 分析业务数据

直方图

使用 SQL 分析业务数据

Preparing Video For Download...