Skip to content

Metrics

Report numbers you can defend line by line

Most analytics tools hand you a number and ask you to trust it. Bastle hands you the number, the rule that produced it, and the records it came from.

What is Metrics?

Bastle calculates 28 subscription metrics — MRR, ARR, ARPU, LTV, quick ratio, gross and net revenue churn, net revenue retention, cohort retention and the rest — from your billing history, with the definitions under your control. Every figure opens onto the customers, subscriptions and invoices that produced it, so a number in a board deck can always be traced back to the rows behind it.

The ledger

See the movement, not just the line

A revenue chart tells you MRR fell. It does not tell you whether twelve customers left or four hundred downgraded — and those need completely different responses. Bastle decomposes every day into new, expansion, reactivation, contraction and churn, so the shape of a change is visible before you go looking for it.

  • Day-by-day movement breakout under every revenue chart
  • Each movement opens onto the customers and plan transitions behind it
  • Reactivations rejoin their original signup cohort, so retention stays honest
bastle.co/demo/stats/mrr
Open

This is the real product running on sample data. Click to use it.

Definitions

Change a rule, and history changes with it

Whether a delinquent subscription is still revenue, whether a trial counts, whether a full-discount coupon is churn — these are business decisions, not engineering constants. Bastle exposes them as workspace policy. Change one and the engine recalculates your whole history against the new rule. A versioned, attributed record of who changed which rule and when is on the roadmap; until it ships, treat a definition change as untracked.

  • Delinquency window: 30 days, 60 days, or never treat delinquency as churn
  • Trial exclusion, full-coupon handling, same-day start-and-cancel washes
  • Separate annual churn lookback, because annual plans hide in a 30-day window

Churn definition

Editable
Delinquency window
21 days
Trials counted
Never
Refunds
Deducted in period
Downgrades
Contraction, not churn

Change any rule and every historical figure recalculates against it.

Provenance

Every figure carries its receipts

Bastle computes metrics in one engine and records what went into each result. Click a number and you get the formula, the period boundaries and the exact customers, subscriptions and invoices behind it, so you can trace a figure back to its records. A line-by-line variance view against your billing provider's own figure is on the roadmap and is not available yet.

  • Formula and record set attached to every metric
  • Every cited record links through to the customer, subscription or invoice
  • Amounts held as integer cents and converted at the account currency, never re-rounded

MRR

+5.2%

$162,400

Net revenue churn

−0.3pp

2.1%

Active customers

+38

1,284

ARPU

+1.4%

$126.48

Cohorts

Retention that survives contact with annual plans

Cohort tables by signup month for both customer and revenue retention, switchable between relative percentages and absolute values, over twelve or twenty-four months. Revenue retention cells go above one hundred per cent when a cohort expands, which is usually the most useful thing on the page.

  • Customer and revenue retention grids, side by side
  • Relative or absolute, twelve or twenty-four months
  • Trial insights: conversion rate, trial length, and which high-value trials expire this week

Why did MRR drop last month?

MRR fell $4,180 (−3.1%) in March. Almost all of it is contraction, not cancellations: 31 Scale customers downgraded to Growth after the annual renewal window opened.

47 customers3 plansMRR movement ledger

Comparison

Compare anything against anything

Put two date ranges, several plans and multiple saved segments on the same chart at once. Add a trendline to take the noise out without hiding the signal, pin an annotation to the day you changed pricing, and set a goal so the target sits on the chart rather than in someone's head.

  • Plans, segments and date ranges compared simultaneously
  • Trendlines, annotations and per-metric goals with progress
  • Daily, weekly or monthly granularity on every series

12-month MRR forecast

3 scenarios

Conservative
$214k
Base
$268k
Aggressive
$310k

Capabilities

What Metrics includes

All of it sits in the same workspace. Bastle is free while in beta, so nothing on this list is an add-on, an upgrade or a separate subscription.

Backfilled to your first customer

Connecting a billing source imports the complete history — charges, subscriptions, refunds, coupons — not just the period since you signed up.

Multi-source, one view

Several Stripe accounts, or Stripe alongside another provider, merge into a single set of metrics rather than sitting in separate tabs.

Plan-level breakouts

Per-plan customer counts, MRR and share of revenue, with dormant plans hidden so the table stays readable.

Currency handled properly

Zero-decimal currencies, FX conversion to your account currency, and original amounts preserved alongside converted ones.

Manual corrections

Exclude an individual customer, hide a plan, or correct a subscription timeline when the provider's record is wrong.

Exports and snapshots

Daily metric snapshots you can pull over the API, plus CSV export of customers and metric series.

Related

Where this connects

Metrics reads the same normalised billing history as the rest of Bastle, so a change in one place shows up in the others without an export.

Keep going: see everything Bastle does, look up the maths behind any number in the metric glossary, or run a figure through the free calculators.

Practical questions are usually answered by the connector list, an honest comparison with the alternatives, or the same product framed for founders and for finance teams.

Frequently asked questions

How many metrics does Bastle calculate?

Twenty-eight, covering revenue (MRR, ARR, net revenue, other revenue, fees, MRR growth rate, quick ratio), MRR movements (new and active subscriptions, plan quantities, upgrades, downgrades, failed charges, refunds, coupons), and customer metrics (ARPU, ASP, LTV, new, active and churned customers, reactivations, user churn, gross and net revenue churn, net revenue retention, cohort retention and trial metrics). All of them come from one calculation engine, so a figure shown on a dashboard, returned by the API and quoted by the assistant is the same figure.

Why does Bastle show different numbers from Stripe?

Because Stripe reports what it billed and Bastle reports what the business earned. Stripe counts trialing users as customers, has no way to exclude your own test accounts, and treats delinquent subscriptions inconsistently. Bastle normalises those cases, applies the rules you configured, and attaches the formula and source records to every figure, so the gap traces back to a rule you can inspect. A view that itemises each adjustment line by line is on the roadmap and is not built yet.

Can I change how churn is calculated?

Yes. The delinquency window (30 days, 60 days, or disabled), whether trialing subscriptions are excluded from revenue, whether a full-discount coupon counts as churn, whether a subscription started and cancelled on the same day is treated as a wash, and the annual-plan churn lookback are all per-workspace policy. Changing one recalculates history against the new rule and records the change, so past reports remain explainable.

How is MRR normalised across billing intervals?

Every active subscription is converted to a monthly-equivalent amount: an annual plan at 1,200 a year contributes 100 a month, and quarterly or custom intervals are handled through the interval count. Quantities and recurring add-ons are added, discounts subtracted. One-off charges, setup fees, usage-based line items, free plans and trials are excluded from MRR and reported separately, because mixing them in makes the number stop meaning recurring revenue.

How current are the numbers?

Billing events stream in continuously and metrics recompute against them, so dashboards reflect recent activity rather than a batch that ran overnight. Every event carries both a business time and an ingest time, which means a backdated correction lands in the period it actually belongs to instead of the day it arrived.

Do I need a data team to set this up?

No. Connecting a billing source with OAuth is the whole setup, and the metrics, cohorts and segments are ready as soon as the backfill finishes. There is no script to deploy and no modelling work for the core metrics. Teams that do have data infrastructure can pull the same figures over the REST API rather than recomputing them.

See your own numbers in about two minutes.

Connect Stripe and Bastle backfills your full history. Free while in beta — no card, no sales call.