MAU monitor (II)
Now that you've built the basis for Carol's MAU monitor, write a query that returns a table of months and the deltas of each month's current and previous MAUs.
If the delta is negative, less users were active in the current month than in the previous month, which triggers the monitor to raise a red flag so the Product team can investigate.
This exercise is part of the course
Analyzing Business Data in SQL
Exercise instructions
- Fetch the previous month's MAU in the
mau_with_lag
CTE.. - Select the month and the delta between its MAU and the previous month's MAU.
- Order by month in ascending order.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
WITH mau AS (
SELECT
DATE_TRUNC('month', order_date) :: DATE AS delivr_month,
COUNT(DISTINCT user_id) AS mau
FROM orders
GROUP BY delivr_month),
mau_with_lag AS (
SELECT
delivr_month,
mau,
-- Fetch the previous month's MAU
COALESCE(
___,
0) AS last_mau
FROM mau)
SELECT
-- Calculate each month's delta of MAUs
___,
___ AS mau_delta
FROM mau_with_lag
-- Order by month in ascending order
ORDER BY ___;