Зачем нужна
Отражает монетизацию аудитории и потолок выручки.
Формула
ARPU = Выручка / Активные пользователиКак считать
Делим оплаченные заказы на активных пользователей периода.
SQL-запрос
WITH revenue AS (
SELECT DATE_TRUNC('month', order_timestamp) AS month, SUM(amount) AS revenue
FROM orders
WHERE status = 'paid'
AND order_timestamp >= DATE_TRUNC('month', CURRENT_DATE - INTERVAL '6 month')
GROUP BY 1
),
active AS (
SELECT DATE_TRUNC('month', event_timestamp) AS month, COUNT(DISTINCT user_id) AS mau
FROM events
WHERE event_name IN ('app_open', 'session_start', 'feature_use')
AND event_timestamp >= DATE_TRUNC('month', CURRENT_DATE - INTERVAL '6 month')
GROUP BY 1
)
SELECT
r.month,
r.revenue,
a.mau,
ROUND(r.revenue / NULLIF(a.mau, 0), 2) AS arpu
FROM revenue r
JOIN active a ON a.month = r.month
ORDER BY r.month DESC;