# Average revenue per user (ARPU): Formula and dbt YAML | Silicon

URL: https://meetsilicon.com/metrics/average-revenue-per-user/

> Average revenue per user is the average revenue earned from each active user or account in a period.

## Formula
ARPU = revenue / active users (or accounts)
## Why it matters
ARPU tracks monetisation separately from user growth, and shows the effect of pricing and packaging changes.
## Common pitfalls
- State clearly whether the denominator is users or paying accounts.
## Define it in dbt for Silicon
Add this to your model's YAML. Aggregate metrics sit under a column's meta.metrics; ratios are type: number metrics that reference other metrics. Rename models and columns to match your project.
schema.yml Copy
models:
- name: fct_account_months
meta:
metrics:
arpu:
type: number
sql: ${revenue} / NULLIF(${paying_accounts}, 0)
description: Revenue per paying account
columns:
- name: revenue
meta:
metrics:
revenue:
type: sum
description: Revenue in the period
- name: account_id
meta:
metrics:
paying_accounts:
type: count_distinct
filters:
- is_paying: true
description: Paying accounts
Once it's defined, anyone can ask about average revenue per user in plain English and get an answer built on this definition. See the metrics reference for every option.
## Related
- Retention rate ->
- Churn rate ->
- Net revenue retention (NRR) ->
- Semantic layer ->
## Tell us where your data lives today.
Book 30 minutes with the founder. Tell us where your data is today, and see Silicon running on sample data.
Talk to Sujay
30-minute call with the founder
