Analyzing Business Data in SQL
Michel Semaan
Data Scientist
Key Performance Indicator (KPI): A metric with some value that a company use to measure its performance
Profit per user: Identify the "best" users
meal_id meal_price order_quantity revenue cost profit
------- ---------- -------------- ------- ---- ------
21 8 100 800 500 300
22 5 80 400 80 320
Query
WITH revenue AS ( SELECT meals.meal_id, SUM(meal_price * meal_quantity) AS revenue FROM meals JOIN orders ON meals.meal_id = orders.meal_id GROUP BY meals.meal_id),
cost AS ( SELECT meals.meal_id, SUM(meal_cost * stocked_quantity) AS cost FROM meals JOIN stock ON meals.meal_id = stock.meal_id GROUP BY meals.meal_id)
Query
WITH revenue AS (...),
cost AS (...)
SELECT
revenue.meal_id,
revenue,
cost,
revenue - cost AS profit
FROM revenue
JOIN cost ON revenue.meal_id = cost.meal_id
ORDER BY profit DESC
LIMIT 3;
Results
meal_id revenue cost profit
------- -------- ------ -------
11 17664.0 3072 14592.0
10 16769.5 4573.5 12196.0
8 13995.0 2332.5 11662.5
Analyzing Business Data in SQL