Agrupamento em faixas

Análise de Dados de Negócios em SQL

Michel Semaan

Data Scientist

Histogramas — revisão

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
LIMIT 5;
Análise de Dados de Negócios em SQL

Expressão CASE

Consulta

SELECT
  CASE
    WHEN meal_price < 4 THEN 'Refeição barata'
    WHEN meal_price < 6 THEN 'Refeição média'
    ELSE 'Refeição cara'
  END AS price_category,
  COUNT(DISTINCT meal_id)
FROM meals
GROUP BY price_category;
Análise de Dados de Negócios em SQL

Agrupamento em faixas — consulta

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 CASE WHEN revenue < 150 THEN 'Usuários de baixa receita' WHEN revenue < 300 THEN 'Usuários de média receita' ELSE 'Usuários de alta receita' END AS revenue_group, COUNT(DISTINCT user_id) AS users FROM user_revenues GROUP BY revenue_group;
Análise de Dados de Negócios em SQL

Agrupamento em faixas — resultado

revenue_group       users
------------------  -----
Usuários de baixa receita   473
Usuários de média receita   606
Usuários de alta receita    225
Análise de Dados de Negócios em SQL

Histogramas vs. gráficos de barras

Histograma de pedidos por usuário

Usuários por grupo de receita (barras)

Análise de Dados de Negócios em SQL

Agrupamento em faixas

Análise de Dados de Negócios em SQL

Preparing Video For Download...