SaaS Tracker Docs

Revenue analytics

Revenue analytics in SaaS Tracker helps you see how much recurring revenue comes from each customer organization and how that revenue relates to their product usage. The data is your own customers’ subscription information — it is separate from your SaaS Tracker account billing.

Revenue metrics are calculated from imported customer organization subscription rows, not from product usage events.

What you see in Revenue

Open Analytics → Revenue in the sidebar to see:

Main numbers (KPIs)

MRR trend

A time series of your MRR over time. You can choose to show the last 12, 24, or 36 months to spot growth or changes.

Above the chart you also see a summary vs previous month:

This makes it easy to answer “Are we up or down vs last month?” at a glance.

Revenue by health

Revenue by health shows how your MRR is split by organization health:

For each bucket you see:

You can click the At-risk badge to drill down to the Organizations list filtered to at-risk organizations.

Revenue composition

The Revenue composition section helps you understand what your revenue is made of:

This is useful when you want to know whether revenue is concentrated in a few large customers or spread across many.

Revenue changes (current month)

The Revenue changes card shows how MRR is changing in the current calendar month:

This view is based purely on start_at and end_at dates in your subscription imports.

Top revenue organizations

The Top revenue organizations table lists organizations sorted by MRR. For each one you see:

Use this table to quickly open high-value customers and see how their usage and revenue align.


How to get data in: CSV import

Revenue numbers come from data you import. There is no automatic link to your billing system yet; you bring in the data with CSV files.

Go to Settings → Organization data. There you will find two import areas:

  1. Customer organizations – Names and IDs of your customer organizations
  2. Revenue subscriptions – Subscription data (who pays what, from when, product, etc.)

Import organizations first, then subscriptions. The organization ID in your subscription file must match an organization you have already imported.


Customer organizations CSV

Use this to create or update the list of customer organizations (the same organizations you track with customer_org_id in your events).

Required columns:

ColumnMeaning
external_org_idYour own ID for this organization
display_nameName shown in SaaS Tracker (e.g. company name)

Example:

external_org_id,display_name
org-001,Acme Corporation
org-002,TechStart Oy
org-003,Nordic Solutions AB

The system also accepts these column names: org_id, organization_id, customer_org_id for the ID, and name, org_name for the display name.


Revenue subscriptions CSV

Use this to import subscription and revenue data per organization.

Required columns:

ColumnMeaning
external_org_idSame organization ID as in your org import
product_codeProduct or plan identifier (e.g. pro, enterprise)
mrrMonthly recurring revenue amount
currencyCurrency code (e.g. EUR)
start_atSubscription start date

Optional columns:

ColumnMeaning
end_atSubscription end date; leave empty if still active
statusactive, canceled, or paused (default: active)
source_systemYour system name (optional)
source_subscription_idYour subscription ID (optional)

Example:

external_org_id,product_code,mrr,currency,start_at,end_at,status
org-001,pro,99.00,EUR,2024-01-15,,active
org-001,addon-storage,29.00,EUR,2024-03-01,,active
org-002,enterprise,499.00,EUR,2023-06-01,2024-05-31,canceled
org-003,starter,49.00,EUR,2024-02-01,,active

MRR column

You can enter amounts in different ways, for example:

Dates

Supported date formats:

Leave end_at empty (or use NULL, N/A, etc.) for subscriptions that are still active.

Status


Import steps

  1. Upload – Choose your CSV file and click Preview import.
  2. Preview – You see how many rows would be new, updated, unchanged, or errors. Check the error list and fix your file if needed.
  3. Apply – When the preview looks correct, click Apply import to save the changes.

You can upload the same file again later (e.g. after a new export from your system). Rows that have not changed will stay unchanged; only new or updated data is applied. This avoids duplicates.


If subscription import reports “Unknown external_org_id”

That organization does not exist yet in SaaS Tracker. Import it first in the Customer organizations section using the same ID, then import the subscriptions again.


Organizations list and “Show all orgs”

The Organizations list (Analytics → Organizations) normally shows organizations that have had recent activity in your product. Imported orgs with no activity still contribute to revenue analytics but do not appear in the default active organizations view.

Use Show all orgs to include them. They appear with an inactive / no-activity state and you can filter the list to show only those if you want.


Who can do what


Practical tips

  1. Same ID everywhere – Use the same organization ID in events (customer_org_id), in the organizations CSV (external_org_id), and in the subscriptions CSV. Then revenue and usage line up correctly.
  2. Import order – Organizations first, then subscriptions.
  3. Check preview – Always look at the preview and fix any errors before applying.
  4. Re-import is safe – You can re-import the same or updated file; existing unchanged rows are not duplicated.
  5. Several subscriptions per org – One organization can have multiple rows (e.g. base plan + add-ons); MRR is summed per org.
  6. History – Use correct start_at and end_at so the MRR trend chart reflects your real history.

Revenue analytics is built on top of your imported subscription data. It is separate from SaaS Tracker workspace billing.


Next: Customer organizations or Signals