成長率

使用 SQL 分析商業資料

Michel Semaan

Data Scientist

差值──查詢

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)
使用 SQL 分析商業資料

差值──結果

查詢

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;

結果

delivr_month  mau  mau_delta
------------  ---  ---------
2018-06-01    123  1
2018-07-01    226  103
2018-08-01    337  111
使用 SQL 分析商業資料

差值──陷阱

  • 原始絕對數值
  • 只呈現變數的三種狀態之一
    • 若 $\delta \lt 0$ 則下降
    • 若 $\delta = 0$ 則持平
    • 若 $\delta \gt 0$ 則上升
使用 SQL 分析商業資料

成長率──總覽

  • 成長率:相對於初始值,隨時間變化的百分比
  • 公式:$\frac{Current\:value\:-\:Previous\:value}{Previous\:value}$
  • 範例:$\frac{67 - 50}{50} = 0.34 = 34\% $
使用 SQL 分析商業資料

成長率──查詢

查詢

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;

結果

delivr_month  mau  growth
------------  ---  ------
2018-06-01    123  122.00
2018-07-01    226  0.84
2018-08-01    337  0.49
使用 SQL 分析商業資料

成長

使用 SQL 分析商業資料

Preparing Video For Download...