On this page
Revenue (Scale) shows your real monthly recurring revenue from your Stripe or Paddle subscriptions: what each customer actually pays, with quantities and yearly or weekly plans turned into a monthly amount, and Stripe coupons taken off (Paddle discounts aren't, because Paddle doesn't send their amount with the subscription). Trials and cancelled subscriptions don't count; past-due ones still do until they're cancelled. Other plans see what Revenue does and a link to upgrade.
Getting your numbers in
- Billing webhook (keeps it current). Connect Stripe or Paddle under Settings → Integrations. Every subscription change then updates that customer's amount in Atlis on its own. See Stripe and Paddle.
- Import history (once). Click Import history on Revenue, pick Stripe or Paddle and paste a read-only key: in Stripe a restricted key (it starts with rk_) with Read access to Subscriptions and Customers; in Paddle an API key with read permission for Subscriptions and Customers. Atlis turns away full-access Stripe secret keys. The key is used only while the import runs and is never saved, so you can delete it afterwards.
- The import reads all your subscriptions, saves the live ones on the matching Atlis users (matched by email, then the Stripe or Paddle customer id, then a userId in the subscription's metadata or custom data) and builds 12 months of month-end MRR from start and end dates at today's prices. Big accounts import in steps: keep the window open, or pause and continue later from where it stopped (paste the key again).
- CSV file. For billing systems Atlis doesn't connect to (Chargebee, Recurly, Braintree, app stores, invoices) or an export from another revenue tool, pick CSV file in Import history. Upload one row per subscription (customer email or customer ID, amount, and optionally billing period, currency, status, plan, start and end dates; the amount can be the price per billing period or already monthly) or your MRR per month (month and MRR), which replaces the rebuilt figure for those months on the chart. Atlis matches the columns for you and shows what will be imported before you start. A file doesn't update on its own, so import a new one when your numbers change; importing the same file again doesn't count anything twice.
- Nothing is counted twice. Each source keeps its own import, so a CSV import never replaces a Stripe or Paddle one. CSV rows for customers who already pay through Stripe or Paddle in Atlis are skipped, and a Stripe or Paddle subscription ID in the file replaces that subscription instead of adding a second one.
- Usage-based and credit pricing (Stripe). Metered and tiered prices count with what usage cost on the subscription's latest paid invoice, per month, added to its fixed prices; each new invoice replaces it, so a bigger or smaller usage bill shows as expansion or contraction. An import counts the fixed prices until the next invoice arrives. One-time credit packs aren't recurring, so they count in cash collected, not MRR. See Stripe.
- Revenue is rebuilt once a day. After an import it fills in within the hour.
Paying customers who aren't Atlis users yet
A customer who pays through Stripe, Paddle or your CSV file but isn't an Atlis user yet still counts in MRR, paying customers and Why MRR moved, so your numbers match your billing. They're listed under Paying, but not in Atlis yet and marked Not in Atlis yet in the movements. They aren't added to Users, segments or Insights user numbers and never get emails. When they sign up, or your app identifies them with the same email, Stripe or Paddle customer ID or user ID, Atlis moves their subscriptions onto their profile on its own, without counting them twice. On Growth, Scale and the trial, the Stripe and Paddle webhooks keep these customers up to date too.
Why MRR moved
Once a day Atlis compares what each customer pays with the day before and records the change with their name: New (started paying), Upgraded, Downgraded, Cancelled and Came back (paid again after a cancellation). Why MRR moved sums these for 7, 30 or 90 days in plain sentences, biggest first, and lists each customer with the change, their MRR before and after, their health, their stage and, for cancellations, the reason they gave. Click a name to open their profile. Changes are tracked from the day Revenue first ran, so earlier months on the chart come from the import.
Date ranges and charts
Pick 7D, 14D, 30D, 90D, This month, Last month, 3M, 6M, 12M or YTD. Every number is compared with the period just before, and CSV downloads the period's movements. The MRR chart switches between daily, weekly and monthly, with each period's new, came back, upgrades, downgrades and cancelled money as bars below, your product update launches as dashed lines and your MRR goal as a green line. Daily points go back 120 days and monthly totals 24 months; months before Atlis started tracking come from your import.
The numbers
Every metric shows 22 numbers in four groups, each with its change against the period before and a small trend line. Click one to see its trend over time (daily, weekly or monthly), how it's worked out and the customers behind it.
| Number | What it means |
|---|---|
| MRR and ARR | What paying customers pay per month, and that times 12. The change is against the start of the period. |
| Net new MRR | New + upgrades + came back − downgrades − cancellations in the period. |
| Paying customers and ARPU | Customers paying more than 0, and MRR divided by them. |
| NRR | MRR at the start of the period, plus upgrades, minus downgrades and cancellations, as a share of the start. Over 100% means existing customers grow. |
| GRR | The same without upgrades, so it's at most 100%. |
| Quick ratio | Money gained (new, upgrades, came back) for each 1 lost (downgrades, cancellations). Above 4 is strong. |
| Customer churn | Customers who cancelled, as a share of those paying at the start. |
| Revenue churn | MRR lost to downgrades and cancellations, as a share of the start. |
| LTV | ARPU divided by the monthly revenue churn of the period. Shown once there's churn to measure. |
| New, expansion, reactivation, contraction and churned MRR | Each kind of movement on its own, with the customers behind it. |
| MRR growth and average sale price | How much MRR grew over the period, and the average monthly amount of a new or returning customer. |
| Cash collected | Money paid on Stripe invoices and Paddle transactions, one-off payments included, before refunds. Counted from the day this was added, on Scale. |
| Past-due MRR, trial pipeline, likely to cancel | Right now: subscriptions whose payment is failing, what current trials would add (estimated from your average sale price when billing doesn't say), and MRR weighted by how strongly customers match ones who cancelled. |
| Discounts and seats | Monthly revenue given away in Stripe coupons, and the total seats (subscription quantity) across paying customers. |
When customers pay in more than one currency, Revenue reports in the currency with the most MRR and lists the others separately, without converting. Leads and test accounts aren't counted.
Once Atlis has billing amounts, the same real MRR is used everywhere: the Monthly revenue card and Revenue section on Insights (marked From your billing, with gained and lost money), What changed this week, the Weekly Pulse, each person's price on Users, their profile (with paying since), Recovery and owner alerts. Without billing amounts, those keep using your plan prices. On Scale, What changed and the Weekly Pulse also name the biggest changes, and the Pulse and the Monthly Report add what went well and what needs a look, every MRR movement with counts, retention, cash and the forecast.
Forecast, what-ifs and goal
Forecast and what-ifs projects MRR 12 months ahead. Current trend carries forward your last full months (or the days tracked so far): new and returning MRR per month, upgrades and losses as a share of MRR, with a likely range. Atlis-adjusted also uses what billing tools can't see: it adds your current trials times your trial conversion rate, and takes off customers likely to cancel when that's more than your usual monthly loss. Your scenario applies the sliders: cut cancellations and downgrades, change prices, or add new MRR each month. Set an MRR goal to see the month you reach it and a goal line on the charts.
Where your MRR comes from
Split MRR by plan (with seats), channel (the source each customer first came from), health, stage, activation and loyalty score: MRR, share, customers, ARPU, MRR lost in the last 90 days and an estimated LTV per group. Customers not in Atlis yet show as their own group.
Next best moves, opportunities and cohorts
- Next best moves for your revenue ranks up to 4 suggestions by the money at stake, like failing payments, customers likely to cancel, trials ending without activating, customers ready to grow, cancellations over price without a cancel flow, or coupons that cost a lot, each linked to Recovery, Workflows or Broadcasts.
- Trial pipeline, Ready to grow (paying customers using it far more than usual), Likely to cancel and Payments failing list the customers with what they're worth.
- Revenue cohorts group customers by the month they started paying: how many still pay and how much of their starting MRR you keep.
- Big revenue change is an owner alert for Slack, your webhook and the bell (for 7 days): a customer whose MRR moves by at least twice your average customer. Switch it on under Settings → Integrations → Slack alerts → Owner alerts.
On Growth and the trial, Revenue shows a preview built from your own billing data: your MRR, revenue at risk, customers ready to grow, the 12-month forecast and how many changes happened, with names and the full analysis on Scale.
Revenue at risk and money saved
Revenue at risk lists paying customers who are At risk or Inactive, need attention or have a failed payment, biggest first, with why, health and when they were last active. Money Atlis saved you adds up failed-payment revenue your workflows recovered, the MRR of customers who kept their subscription through a cancel-flow offer, and MRR from customers who came back in the last 90 days. When billing amounts are known, owner alerts for paying customers at risk show what that customer pays, and Recovery and the Users page show it too.
More in Engage & grow
Try it in your own workspace
Start with a 14-day trial with Growth features. No credit card needed.