Yes, you can use the User Visits report to calculate the MAU.
The query below details the DAU, MAU, and the Percent. I hope it helps.
--[params]
-- date :start_date = 2021-01-01
-- date :end_date = 2022-01-01
WITH dau AS (
SELECT date_trunc('day', user_visits.visited_at)::DATE AS date,
count(distinct user_visits.user_id) AS dau
FROM user_visits
WHERE user_visits.visited_at::DATE BETWEEN :start_date AND :end_date
GROUP BY date_trunc('day', user_visits.visited_at)::DATE
ORDER BY date_trunc('day', user_visits.visited_at)::DATE
),
data AS (SELECT
date,
dau,
(SELECT count(distinct user_visits.user_id)
FROM user_visits
WHERE user_visits.visited_at::DATE BETWEEN dau.date - 29 AND dau.date
) AS mau
FROM dau)
SELECT
date "day",
dau,
mau,
ROUND((dau/mau::numeric)*100,2)||'%' AS Percent
FROM DATA
day | dau | mau | percent |
---|---|---|---|
2021-01-01 | 300 | 2500 | 12.00% |
2021-01-02 | 350 | 3000 | 11.66% |
2021-01-03 | 400 | 3500 | 11.42% |