Growth rate

Analyzing Business Data in SQL

Michel Semaan

Data Scientist

Deltas - query

WITH maus AS (
  SELECT
    DATE_TRUNC('month', order_date) :: DATE AS delivr_month,
    COUNT(DISTINCT user_id) AS mau
  FROM orders
  GROUP BY delivr_month),

maus_lag AS ( SELECT delivr_month, mau, COALESCE( LAG(mau) OVER (ORDER BY delivr_month ASC), 1) AS last_mau FROM maus)
Analyzing Business Data in SQL

Deltas - result

Query

WITH maus AS (...),
  maus_lag AS (...)

SELECT
  delivr_month,
  mau,
  mau - last_mau AS mau_delta
FROM maus_lag
ORDER BY delivr_month
LIMIT 3;

Result

delivr_month  mau  mau_delta
------------  ---  ---------
2018-06-01    123  1
2018-07-01    226  103
2018-08-01    337  111
Analyzing Business Data in SQL

Deltas - pitfalls

  • Raw, absolute number
  • Only shows one of three things about a variable
    • Decreasing if $\delta \lt 0$
    • Stable if $\delta = 0$
    • Increasing if $\delta \gt 0$
Analyzing Business Data in SQL

Growth rate - overview

  • Growth rate: A percentage that show the change in a variable over time relative to that variable's initial value
  • Formula: $\frac{Current\:value\:-\:Previous\:value}{Previous\:value}$
  • Example: $\frac{67 - 50}{50} = 0.34 = 34\% $
Analyzing Business Data in SQL

Growth rate - query

Query

WITH maus AS (...),
  maus_lag AS (...)

SELECT
  delivr_month,
  mau,
  ROUND(
    (mau - last_mau) :: NUMERIC / last_mau,
  2) AS growth
FROM maus_lag
ORDER BY delivr_month
LIMIT 3;

Result

delivr_month  mau  growth
------------  ---  ------
2018-06-01    123  122.00
2018-07-01    226  0.84
2018-08-01    337  0.49
Analyzing Business Data in SQL

Growth

Analyzing Business Data in SQL

Preparing Video For Download...