Metric · Revenue

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).

TL;DR — ARPU = MRR ÷ active customers for the period. Use the same recurring revenue base as MRR (no one-time charges), and decide whether "user" means a paying account (ARPA) or an end user.

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

ARPU by monthPostgreSQL

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;

Pitfalls

Mixing recurring and one-time revenue.→ Use the same recurring base as MRR, or ARPU jumps around with one-time charges.
Confusing ARPU with ARPA.→ Per user and per account differ a lot in B2B — pick the denominator and label it.
Dividing by all-time signups.→ Use customers active in the period, not cumulative registrations.
Only reporting blended ARPU.→ Segment by plan or cohort so a changing mix doesn't masquerade as a pricing win.

Where this metric applies

Analytics

Metrics

FAQ

What's the difference between ARPU and ARPA?
The denominator. ARPU divides by users/seats; ARPA divides by paying accounts. B2B usually reports ARPA because one account holds many users.
Should ARPU use MRR or total revenue?
Use recurring revenue (MRR) so the metric is stable. Blending in one-time charges makes ARPU spike and dip with billing events unrelated to subscription value.
How does ARPU relate to LTV?
LTV builds directly on ARPU: LTV ≈ ARPU × gross margin ÷ churn. Rising ARPU lifts LTV if churn holds. See LTV.