Chart · Revenue

Revenue for subscription apps: what counts and how to calculate it

Revenue is the money your app received in a period: subscription purchases and renewals, one-time purchases and ad revenue, minus refunds recorded in that period. RevenueDot converts every amount to US dollars at the exchange rate of the purchase date, leaves out sandbox purchases, and counts free trials as zero.

Formula

Revenue = purchases + renewals + one-time purchases + ad revenue − refunds recorded in the period

Shape

What happened during each period

API name

revenue

Measures

Revenue (USD), Transactions (Count)

Filter and segment by

App, Store, Product, Product duration, Offering, Country, Platform, App version

The Revenue chart in the RevenueDot dashboard, with demo data, its chart rail, plot and table
Captured from the RevenueDot dashboard with demo data.

Definition

How RevenueDot calculates Revenue

The chart plots two measures. Revenue adds every paid purchase, renewal and one-time purchase dated in the period, adds the ad revenue the SDK reported, and subtracts refunds on the day they were recorded. A refund recorded in March lowers March, even when the purchase was in February, and a reversed refund adds the money back on the reversal date. Transactions counts paid purchases, renewals and one-time purchases. Refunds do not reduce it, and ad revenue is not a transaction.

A free trial start carries no money, so it adds nothing until the trial converts. RevenueDot leaves out sandbox purchases (the Sandbox data switch, or environment=sandbox in the API, shows only those), promotional access you granted, and Family Sharing purchases. Every amount is converted to US dollars at the exchange rate of the purchase date. Pick another currency, such as currency=EUR, and RevenueDot converts that USD amount at the same date's rate. Periods are UTC: days start at 00:00 UTC and weeks start on Monday.

The revenue_type selector has three options. revenue is gross. proceeds is gross minus the store commission. revenue_net_of_taxes equals gross revenue, because the stores do not report tax on each purchase. You can filter or segment by app, store, product, product duration, offering, country, platform and app version, at day, week, month, quarter or year resolution.

Find it in the dashboard under Analytics > Charts, or call GET /v2/projects/{project_id}/charts/revenue with a secret key that has the charts_metrics:charts:read permission. The response has the same shape as RevenueCat's Charts API, so scripts written for it keep working. The charts guide lists every rule.

Worked example

Revenue, step by step

Illustrative numbers for one month. Revenue adds the four money lines and subtracts the refunds recorded in the month.

LineMarch
New subscription purchases$400
Renewals$1,200
One-time purchases$100
Ad revenue$50
Refunds recorded in March−$60

Revenue for March = 400 + 1,200 + 100 + 50 − 60 = $1,690.

Why it matters

What Revenue tells you

Revenue is the number that pays for servers, ads and salaries, so it is the first place to look after a release, a price change or a campaign. A weekly line shows whether last week's paywall test moved money, and a segment by country shows where a price or localization change helped.

Revenue and MRR answer different questions. Revenue is cash received in the period, so an annual renewal lands in one month and makes the line jump. Use revenue to plan cash and judge a launch, and use MRR to judge the trend of the subscription base. If revenue falls while MRR holds, look at one-time purchases, ad revenue and refunds.

How to read it

  • Annual plans arrive as one payment, so a month with many annual renewals looks like a spike. Read MRR for the trend and revenue for cash.
  • Revenue includes ad revenue. For a subscription-only trend, read MRR. For ads alone, read the Ad Revenue chart.
  • Refunds land on the refund date, so the latest month can dip when old purchases are refunded. Check the Refunds chart before you worry.
  • Compare gross revenue with proceeds before you plan spending. Proceeds subtract the store commission.
  • The current period is incomplete. It is marked with * in the dashboard and incomplete: true in the API.

API

Get Revenue from the Charts API

Same path and response shape as RevenueCat's Charts API, so existing scripts keep working.

Requestshell
curl "https://api.revenuedot.app/v2/projects/$PROJECT_ID/charts/revenue?resolution=day" \
  -H "Authorization: Bearer $SECRET_KEY"   # sk_... with charts_metrics:charts:read

Reference: Charts guide · REST API v2

FAQ

Revenue: questions people ask

Does the revenue chart subtract refunds?

Yes. Refunds reduce revenue on the day the store recorded them, not on the purchase date. A refund that is later reversed adds the money back on the reversal date. The Transactions measure is not reduced by refunds.

What is the difference between revenue and proceeds?

Revenue is the gross amount customers paid. Proceeds are gross revenue minus the store commission. RevenueDot does not have tax data, so revenue net of taxes equals gross revenue.

Is ad revenue included in app revenue?

Yes. Ad revenue that the SDK reports through ad revenue events is added to the revenue chart. The same money also has its own Ad Revenue chart.

Which currency does the revenue chart use?

US dollars, converted at the exchange rate of each purchase date. You can display the chart in another currency, and RevenueDot converts the USD amount at the same date's rate.

Are sandbox purchases counted in revenue?

No. Sandbox and Test Store purchases are left out. Turn on the Sandbox data switch, or pass environment=sandbox to the API, to see only those.

Get started

See your Revenue in minutes.

Connect your app to RevenueDot Cloud, free up to $10,000 a month in tracked revenue, and all 43 charts fill from your store history after import.

Already have an account? Sign in · Prefer your own servers? Self-host free