What is ARPU, and how do you measure it in Metabase?
ARPU (average revenue per user) is recurring revenue divided by active customers — the average a customer pays you per period. It shows whether growth comes from more customers or higher-value ones, and it feeds directly into LTV. Measure it in Metabase from billing data synced into a database (Stripe, Chargebee, Paddle, or Recurly).
How is ARPU calculated?
ARPU = recurring revenue in the period ÷ active customers in the period. Use MRR for monthly ARPU (or ARR ÷ customers for an annual figure), and be consistent about who counts as "active":
- Use the same recurring base as MRR — exclude one-time charges and tax.
- Count customers active during the period, not cumulative signups.
- Segment by plan or cohort — a blended ARPU hides the mix.
ARPU vs. ARPA
- ARPU — per individual user/seat. Common in consumer and product-led businesses.
- ARPA (average revenue per account) — per paying account or company. Usually the right denominator for B2B, where one account has many seats.
Both use the same formula; only the denominator changes. Label which one you report.
What data does ARPU need?
- A monthly MRR model for the numerator.
- A count of active customers (or accounts) for the same period.
- A consistent definition of "active" — paying, not trialing or canceled.
SQL patterns
MRR divided by distinct active customers, from a monthly MRR model.
-- Requires a monthly MRR model; ARPU = MRR / active customers
SELECT
month,
ROUND(SUM(mrr), 2) AS mrr,
COUNT(DISTINCT customer_id) AS active_customers,
ROUND(SUM(mrr) / NULLIF(COUNT(DISTINCT customer_id), 0), 2) AS arpu
FROM modeled_mrr
GROUP BY month
ORDER BY month;