成長率

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でビジネスデータを分析する

差分(デルタ)- 落とし穴

  • 生の絶対値
  • 変数について3点のうち1点しか示さない
    • $\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...