留存率
你剛完成 Carol 的 MAU 監控,Bob 又來請你幫忙了。他即將與潛在投資人開會,想把簡報最後整理好。你已經協助他製作了每月註冊數的累計與 MAU 折線圖;Bob 說,投資人會因此相信 Delivr 在新使用者與 MAU 上都在成長。
不過,Bob 也想展示 Delivr 不只吸引新使用者,還能留住既有使用者。請把逐月(MoM)留存率的資料表傳給他,好讓他凸顯 Delivr 的高使用者忠誠度。
本練習屬於課程
使用 SQL 分析商業資料
練習說明
- 從
user_monthly_activity選取月份欄位,並計算逐月(MoM)使用者留存率。 - 將
user_monthly_activity依使用者 ID 與月份自我連接,並將月份往前推一個月後再對齊。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
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;