Retentiepercentage
Bob heeft je hulp weer ingeroepen nu je klaar bent met Carol's MAU-monitor. Zijn meeting met potentiële investeerders komt snel dichterbij en hij wil zijn pitchdeck afronden. Je hebt hem al geholpen met het cumulatieve aantal registraties per maand en de MAU-lijngrafieken; de investeerders, zegt Bob, zouden overtuigd zijn dat Delivr groeit in zowel nieuwe gebruikers als MAU's.
Bob wil echter laten zien dat Delivr niet alleen nieuwe gebruikers aantrekt, maar ook bestaande gebruikers behoudt. Stuur hem een tabel met MoM-retentiepercentages zodat hij de hoge gebruikersloyaliteit van Delivr kan benadrukken.
Deze oefening maakt deel uit van de cursus
Zakelijke data analyseren in SQL
Oefeninstructies
- Selecteer de maandkolom uit
user_monthly_activity, en bereken de MoM-gebruikersretentiepercentages. - Join
user_monthly_activitymet zichzelf op de gebruikers-ID en de maand, één maand vooruitgeschoven.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
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;