Blog · Finance metrics and formulas · Software
Average revenue per user divides a defined revenue amount by the matching user population. Work the formula by plan, reconcile the total and separate revenue changes from changes in user activity.
Average revenue per user is period revenue divided by the matching user population. With $96,000 of monthly revenue and 3,000 monthly active users, monthly ARPU is $32. The useful question is what changed underneath that average: revenue, active users or the mix of plans.
Average revenue per user = Revenue in the period / Users on the stated basis
ARPU is an amount per user for a named period, not a percentage. Monthly revenue divided by monthly active users produces monthly ARPU. Annual revenue divided by a monthly snapshot count answers a different question and needs an explicit explanation.
The denominator is a business definition. A software company might measure active people, paid seats or customer accounts; a telecom business might use subscriber connections. Define the unit before comparing results. If your export contains customer organizations rather than people, label the result revenue per account so readers know what the average describes.
Published product metrics can use narrower definitions. For example, Stripe's subscription analytics glossary defines its ARPU as monthly recurring revenue divided by active subscribers. That is a subscription measure, whereas the worked example below deliberately uses recorded monthly revenue and monthly active individual users. Do not assume two figures labeled ARPU have the same scope.
Begin with a revenue export containing period, account ID, plan and net recorded revenue. Include credits and refunds on the same accounting basis as your finance report. Exclude tax collected on behalf of others, and state whether the measure includes services, advertising or only subscriptions.
The matching user export needs period, user ID, account ID, plan and an active flag under your company's definition. Count each user once within the period. Exclude internal test users under a documented rule. If people can use more than one plan, assign each person to one reporting segment or explain why segment counts cannot be added.
For the example, a hypothetical US software company measures October subscription revenue per monthly active individual user. Each user belongs to one plan for reporting, the three segments are mutually exclusive, and all amounts are USD. Finance owns the revenue scope; the team responsible for product reporting owns the active-user definition.
Do not join account revenue onto every user row and then sum the repeated amounts. Summarize revenue by plan separately, summarize distinct active users by plan, and then combine those two summaries. The reconciliation should retain both original export totals.
| Plan segment | Monthly revenue (USD) | Monthly active users | Monthly ARPU (USD) |
|---|---|---|---|
| Self-serve | 36,000 | 1,200 | 30.00 |
| Business | 42,000 | 600 | 70.00 |
| Volume contracts | 18,000 | 1,200 | 15.00 |
| Total | 96,000 | 3,000 | 32.00 |
The volume-contract segment has lower revenue per active person under its negotiated pricing. It is not necessarily less profitable: this table contains no delivery or support costs.
In Google Sheets, use columns A:D as shown. In D2, divide revenue by users and fill down through row 4:
=IF(C2=0,NA(),B2/C2)
The total in D5 divides the summed revenue by the summed users:
=SUM(B2:B4)/SUM(C2:C4)
Revenue adds to $96,000 and users add to 3,000, giving $32.00. Display currency to two decimals and retain unrounded calculations underneath. A zero denominator is undefined; flag it for investigation rather than turning it into a zero-dollar ARPU.
Company ARPU equals the user-weighted average of segment ARPUs. It is not the simple average of the displayed plan amounts.
| Plan segment | Share of active users | ARPU (USD) | Contribution to company ARPU (USD) |
|---|---|---|---|
| Self-serve | 40% | 30.00 | 12.00 |
| Business | 20% | 70.00 | 14.00 |
| Volume contracts | 40% | 15.00 | 6.00 |
| Total | 100% | 32.00 |
For self-serve, 1,200 / 3,000 × $30 = $12. The same calculation gives $14 and $6 for the other segments, so the contributions add to $32. An independent spreadsheet check is:
=SUMPRODUCT(C2:C4,D2:D4)/SUM(C2:C4)
Google's SUMPRODUCT reference documents multiplication of corresponding range entries followed by addition. Here it returns $32.00, the same as dividing total revenue by total active users. The simple average of $30, $70 and $15 is $38.33, rounded to two decimals, because that approach gives the small Business user group too much weight.
Two more checks close the calculation. The revenue summary must match the selected subscription revenue accounts in the finance report. The 3,000 users must match the deduplicated active-user export for the same period. Neither check substitutes for the other.
Change one input: self-serve activity falls while every segment's recorded revenue stays unchanged. The other user counts also stay unchanged.
| Plan segment | Monthly revenue (USD) | Revised active users | Revised ARPU (USD) |
|---|---|---|---|
| Self-serve | 36,000 | 900 | 40.00 |
| Business | 42,000 | 600 | 70.00 |
| Volume contracts | 18,000 | 1,200 | 15.00 |
| Total | 96,000 | 2,700 | 35.56 |
Company ARPU rises from $32.00 to $35.56, an 11.1% increase calculated from unrounded values. Revenue has not increased. The denominator fell, so the higher average may signal weaker engagement rather than better monetization.
This is why a management review should show revenue, users and ARPU beside one another. Compare plan trends before changing pricing, and examine retention if active users fall. For a broader commercial review, sales effectiveness measures connect performance with other sales inputs. For an account-level revenue bridge, customer revenue analysis addresses a different unit of analysis.
Covirage is not affiliated with Google or Stripe.
Bring your revenue export and matched user counts: Covirage maps the columns, and its tools compute segment ARPU and check the totals. The external AI model explains the changes with every figure traced to its rows. Create a free Covirage account and bring a sample of your own data.
See revenue driver analysis for the supporting business workflow.
ARPU uses the user population named in your definition, which may include users who do not pay. Average revenue per paying user, or ARPPU, uses only paying users. The revenue scope must also be stated, particularly when advertising revenue or services are included.
Choose the population that answers the business question and label it. Active users can show monetization relative to actual product use; registered users include dormant accounts. Neither label is interchangeable with paying subscribers, purchased seats or customer organizations.
Yes. Losing low-revenue users can lift the average even when total revenue falls. A decline in activity can also raise revenue per active user without changing revenue. Read the numerator, denominator and segment mix together before calling the increase an improvement.
There is no universal target. Compare the same user definition, revenue scope and period across your own plans and cohorts. A business selling to large organizations cannot interpret an account-based average against another business's average per individual user without adjusting the definitions.