維持率(Retention rate)
Carol の MAU モニターが完成したので、Bob から再び依頼が来ました。投資家候補とのミーティングが目前に迫り、ピッチ資料を仕上げたいとのことです。月次の登録者数の累計や MAU の折れ線グラフはすでに作成済みで、Delivr が新規ユーザーと MAU の両方で成長していることは投資家に伝わるはずだと Bob は言います。
しかし、Bob は Delivr が新規ユーザーを獲得するだけでなく、既存ユーザーを維持できていることも示したいと考えています。Delivr の高いユーザーのロイヤルティを強調できるよう、MoM の維持率テーブルを送ってください。
この演習はコースの一部です
SQLでビジネスデータを分析する
演習の手順
user_monthly_activityから月の列を選択し、MoM のユーザー維持率を計算します。user_monthly_activityをユーザー ID と月で自己結合し、月を1カ月先送りにして結合します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
WITH user_monthly_activity AS (
SELECT DISTINCT
DATE_TRUNC('month', order_date) :: DATE AS delivr_month,
user_id
FROM orders)
SELECT
-- Calculate the MoM retention rates
previous.delivr_month,
ROUND(
___ /
___,
2) AS retention_rate
FROM user_monthly_activity AS previous
LEFT JOIN user_monthly_activity AS current
-- Fill in the user and month join conditions
ON ___
AND ___
GROUP BY previous.delivr_month
ORDER BY previous.delivr_month ASC;