Rata de retenție
Bob îți cere din nou ajutorul, acum că ai terminat monitorul MAU pentru Carol. Întâlnirea lui cu potențialii investitori se apropie, iar el vrea să finalizeze prezentarea. L-ai ajutat deja cu totalul cumulat al înregistrărilor pe lună și cu graficele MAU; investitorii, spune Bob, ar fi convinși că Delivr crește atât ca număr de utilizatori noi, cât și ca MAU-uri.
Însă Bob vrea să demonstreze că Delivr nu doar atrage utilizatori noi, ci îi și păstrează pe cei existenți. Trimite-i un tabel cu ratele de retenție lunară (MoM), astfel încât să poată evidenția loialitatea ridicată a utilizatorilor Delivr.
Acest exercițiu face parte din cursul
Analiza datelor de business în SQL
Instrucțiuni pentru exercițiu
- Selectează coloana cu luna din
user_monthly_activityși calculează ratele de retenție lunară (MoM) a utilizatorilor. - Realizează un join între
user_monthly_activityși ea însăși pe baza ID-ului utilizatorului și a lunii, avansată cu o lună.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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;