Ja, Sie können den Benutzerbesuchsbericht verwenden, um den MAU zu berechnen.
Die unten stehende Abfrage beschreibt DAU, MAU und den Prozentsatz. Ich hoffe, sie hilft Ihnen weiter.
--[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% |