Revenue

The Revenue chart displays the total revenue earned from both subscriptions and one-time purchases, minus the revenue that was refunded later. It’s the primary metric to monitor your app’s financial performance.

Switch to a monthly resolution to assess overall trends across the last 12 months. Group the chart by product, user segment, or attribution source to see where revenue comes from, and watch the new-vs-renewal mix to understand which side of the business drives growth.

Revenue chart

Calculation

The calculator below does not take into account store commission and taxation. Compare the result to your gross revenue calculations.

Revenue is the total of all paid transactions in the period (new subscriptions, renewals, trial conversions, one-time purchases) minus any refunds processed in the period: Revenue = total transactions − refunds.

Each transaction’s full amount lands on the day of purchase, not spread across a subscription’s duration.

The chart shows gross revenue by default. Use the chart controls to switch between gross, post-commission, or post-commission-and-tax views.

Revenue

Price per unitPP
QuantityQQ
DDAmount refunded

Refund handling

Revenue subtracts each refund on the date the refund was processed — not the original purchase date. The chart can show a negative value for a specific group or day when refunds in that bucket exceed new revenue.

For the full comparison across metrics, see How metrics handle refunds.

Currency

Adapty displays all monetary charts in US dollars, regardless of the original transaction currency. This includes Revenue, MRR, ARR, ARPU, ARPPU, LTV, predicted revenue, refund money, and the revenue figures inside cohorts and A/B test reports. There’s no setting to display them in another currency.

Adapty converts each transaction to USD using a rate from currencylayer.com refreshed every 8 hours, fixed at the time of the transaction. Historical USD values don’t re-rate when FX moves.

Local-currency values are available per-transaction in:

  • The price and currency_code fields in webhooks
  • The price and currency_code columns in S3, GCS, and BigQuery exports
  • The profile page (per-transaction view)

For finance reporting in a local currency, pull the per-transaction local-currency values from an export and aggregate them yourself.

Renewal pricing

Adapty calculates renewal revenue at the product’s current price, even for users who were on a previous price when they first subscribed. After you change a price in App Store Connect or Google Play, the dashboard’s Revenue, MRR, and ARR figures for existing subscribers may diverge from the actual revenue collected — Adapty applies the new price, even if the store kept those users on the old one.

To verify, compare the per-transaction price field in the S3, GCS, or BigQuery export against the dashboard for the same transactions. The export field reflects what the store reported (the price the customer actually paid); the dashboard reflects the current product price.

Available filters and grouping

Main article: Analytics controls

  • ✅ Filter by: Attribution, Audience, Country, Offer Type, Offer ID, Offer Discount Type, Paywall, A/B tests, Placement, Period, Segment, Store, Product, and Duration.
  • ✅ Group by: Period, Renewal status, Product, Country, Store, Paywall, Audience, Placement, Duration, Offer Type, Offer Discount Type, Offer ID, Segment, and Attribution.

Similar metrics

For a side-by-side comparison of these metrics, see the Metric comparison table.