Finance: revenue, subscriptions and ad spend
Your app's figures: revenue, subscriptions, acquisition spend, on dashboards you compose yourself.
Prerequisite: RevenueCat connected to the project. Without it, the page offers to connect the account rather than showing zeros. Adjust is added for the spend side.
Available metrics
Revenue - RevenueCat source
| Metric | What it measures |
|---|---|
| MRR | Monthly recurring revenue |
| ARR | Annual recurring revenue |
| Revenue | Revenue collected over the period |
| Churn | Attrition rate |
| Active subscribers | Active subscribers |
| Refund rate | Refund rate |
| LTV per customer | Average lifetime value per customer |
Subscriptions - RevenueCat source
| Metric | What it measures |
|---|---|
| New trials | Trials started over the period |
| Trial conversion rate | Share of trials that become paid |
| New customers | New customers |
Marketing - Adjust source
| Metric | What it measures | Breakable down by |
|---|---|---|
| Marketing spend | Acquisition spend | network, campaign, country |
| Installs | Attributed installs | network, campaign, country |
Cross-source
ROAS (revenue ÷ spend) is declared as a cross-source metric. Its computation is not shipped yet: in the meantime, the two series read side by side on the same dashboard.
Periods
| Group | Choices |
|---|---|
| Rolling | 7 days, 30 days, 90 days, 365 days |
| To date | Current month, quarter, year |
| Closed | Previous month, quarter, year |
The period choice cascades across the whole dashboard: a widget does not carry its own period, otherwise two charts side by side would no longer compare.
Building a dashboard
A dashboard is made of sections, each section contains widgets.
Tutorial - a revenue dashboard
- Open Finance. The "Overview" dashboard is created automatically on the first load.
- + Section, name it "Revenue".
- + Widget: pick the MRR metric and the KPI visualisation. A single large number at the top of the section - that is what people look at first.
- Add a second widget: Revenue metric, Line visualisation. The trend next to the number.
- New "Acquisition" section: Marketing spend as Stacked areas, broken down by network.
- Change the period at the top: everything recomputes together.
Visualisations
| Type | Good for |
|---|---|
| KPI | A single number, the value right now |
| Line / Areas | A trend over time |
| Stacked areas / Stacked bars | A composition that changes |
| Bars | A comparison between categories |
| Donut / Pie | A breakdown at a point in time |
Not every metric accepts every visualisation: the catalogue only offers the ones that make sense for the chosen metric. A conversion rate as a pie chart means nothing, so it is not offered.
An Adjust widget on a project with no Adjust says so explicitly rather than showing a flat line.
How fresh the figures are
Responses are cached, for a duration that depends on what you are looking at.
| What you look at | Cache | Why |
|---|---|---|
| Current period (RevenueCat) | 1 to 5 minutes | The number is still moving |
| Closed period (RevenueCat) | 1 to 24 hours | The number will not move again |
| Adjust, current period | 15 minutes | Attribution consolidates slowly |
Two consequences worth knowing before worrying about a discrepancy:
- Today's number can be a few minutes behind. That is the cache, not data loss.
- Today's attribution number is always partial, however fresh: Adjust consolidates over several hours.
RevenueCat also limits its API to 15 requests per minute per project. Appwin respects that with a queue: that is another reason not everything is reloaded on every display.
Next
- RevenueCat - connecting the revenue source
- Adjust - connecting the spend source
- ASO - what happens before the install