Sign in

Blog · Board and management reporting · Software

Average SaaS churn: compare cohorts and contract terms

Average SaaS churn depends on customer size, contract term, renewal opportunities and revenue definitions. Work through a billing-export example that separates logo losses, renewal losses and the recurring revenue bridge.

The short answerAverage SaaS churn is meaningful only for comparable customer cohorts, contract terms and observation periods. Separate lost customer accounts from recurring revenue losses, and distinguish the whole starting base from customers actually due to renew. Calculate those internal measures first, then compare an external benchmark only when its sample and definitions match your own.

Average SaaS churn is a useful benchmark only when customer cohorts, contract terms and reporting periods match. Separate lost customer accounts from recurring revenue losses, then check which customers actually had a renewal decision during the period. A low monthly loss rate on annual contracts can reflect limited renewal exposure.

Decide what the benchmark should answer

Account churn, often called logo churn, counts lost customer relationships. Revenue churn measures the recurring value lost from the starting customer base. Cancellation-only revenue losses, gross losses including downgrades and net losses after expansion are different measures.

Use the churn glossary for the general definition. For a SaaS comparison, also record account size, contract term, product group, acquisition cohort and customer age. Those attributes help you compare businesses with similar cancellation opportunities and service expectations.

An external average needs a publication date, observation dates, sample description and calculation method. The SEC's guidance on performance metrics emphasizes clear definitions and how management uses a measure. Apply that same reading discipline before putting a benchmark beside your internal result.

The broader average churn rate guide covers internal weighting. This page focuses on the SaaS contract terms and billing rows that make an apparently simple comparison difficult.

Prepare the billing and customer exports

Keep one stable customer-account identifier across the files. Subscription identifiers are useful for matching records, but several subscriptions can belong to the same customer. Canceling one subscription does not necessarily mean the customer relationship ended.

Bring the opening account list, effective cancellation dates, contract terms, scheduled renewal dates and recurring amounts. Normalize recurring contract values to a consistent monthly basis. Exclude taxes and one-time charges under a documented rule, and apply the same discount treatment throughout the comparison.

The settings behind an export matter. Stripe's billing analytics documentation describes configurable discount treatment and definitions of when a subscriber becomes active. Record the supplied settings instead of assuming every exported recurring revenue figure uses the same basis.

Freeze segment membership at the start. An account that changes plan during the month stays in its original comparison cohort, with the plan change recorded separately. That preserves the starting denominator and makes the movements auditable.

Work the same month on different contract terms

Consider a fictional US SaaS provider during September 2026. Its monthly contracts can renew each month. Its annual contracts permit cancellation at annual renewal, and all effective cancellations in this example occur at renewal. The annual group therefore has fewer renewal opportunities during the month.

Starting contract group Starting accounts Accounts due to renew Accounts lost Retained starting accounts
Monthly 400 400 20 380
Annual 100 20 2 98
Total 500 420 22 478

These are illustrative internal cohorts, not published SaaS averages. The account calculations expose the difference between the starting base and renewal opportunities:

Measure Monthly contracts Annual contracts
Losses / starting accounts 20 / 400 = 5.0% 2 / 100 = 2.0%
Losses / accounts due to renew 20 / 400 = 5.0% 2 / 20 = 10.0%

Percentages in these tables are rounded to one decimal place. Annual contracts look stronger against the full starting base, but weaker among the accounts facing renewal. Neither calculation is wrong; each answers a different question.

The company starting-base customer churn is 22 / 500 = 4.4%. Prove the count by reconciling 500 starting accounts minus 22 losses to 478 retained accounts. New accounts acquired during September belong outside that proof.

Reconcile the recurring revenue losses

The same fictional provider has the following opening recurring revenue and cancellation losses. Both columns use monthly recurring amounts, including for annual contracts.

Starting contract group Starting recurring revenue (USD) Canceled recurring revenue (USD) Cancellation-related revenue churn
Monthly 80,000 4,000 5.0%
Annual 100,000 10,000 10.0%
Total 180,000 14,000 7.78%

The total is 14,000 / 180,000 = 7.78%, rounded to two decimal places. The annual group's few lost accounts carry substantial recurring value, so its low starting-base account churn does not imply low revenue exposure.

Now add downgrades and expansion from the retained starting accounts. New-customer revenue remains excluded.

Starting-cohort revenue bridge Recurring amount (USD)
Starting recurring revenue 180,000
Less cancellations -14,000
Less contraction -2,000
Plus expansion 9,000
Ending recurring revenue from the starting cohort 173,000

Gross revenue churn including contraction is (14,000 + 2,000) / 180,000 = 8.89%. Net revenue churn is (14,000 + 2,000 - 9,000) / 180,000 = 3.89%. Both percentages are rounded to two decimal places.

The bridge proves the net loss: $180,000 minus $173,000 equals $7,000, the same amount as cancellations plus contraction minus expansion. Keep these measures labeled; calling all of them revenue churn would conceal the decision each supports.

Give each finding an owner

Finance should own recurring revenue definitions and the opening-to-closing bridge. Revenue operations should maintain account identities, contract terms and renewal dates. Customer success should investigate outcomes among accounts with a renewal opportunity.

For annual customers approaching that opportunity, seat utilization before renewal provides a separate usage comparison. After establishing the loss pattern, review SaaS churn reasons rather than assuming a benchmark gap identifies the cause.

Use the same cohorts across repeated, equal windows. For annual contracts, also inspect completed renewal cycles so a quiet month is not mistaken for durable improvement. A broader industry churn comparison is useful only after these internal definitions are stable.

Where it goes wrong

  • Counting subscriptions as customers. Consolidate subscriptions to the approved account unit before classifying a whole-account loss.
  • Mixing invoice value with recurring value. Annual invoices and monthly recurring amounts use different time bases. Normalize before comparing revenue losses.
  • Treating every failed payment as a cancellation. Stripe distinguishes past-due, canceled and unpaid subscription statuses. Apply your effective-loss policy to the exported outcome.
  • Letting expansion hide departures. Net revenue churn can improve while accounts still leave. Keep account losses and gross revenue losses visible beside it.

Covirage is not affiliated with Stripe.

Compare your SaaS cohorts in Covirage

Bring a sample of your own billing, customer status and contract exports to Covirage. Covirage maps the columns, and its tools compute and check the cohort counts and recurring revenue figures; the external AI model explains the result with every figure traced to its rows. Create a free Covirage account, which takes about a minute, then set up your business and bring your file.

See Covirage for SaaS teams for the supporting business context.

Questions people ask

What is a good average churn for SaaS?

A useful target depends on customer size, contract duration, renewal terms and revenue concentration. Compare your own like-for-like cohorts before judging an outside average. A result that looks favorable on account count can still conceal the loss of valuable recurring revenue.

Is SaaS churn measured monthly or annually?

Both periods can be useful if they are labeled clearly. Monthly reporting identifies recent changes, while a full contract cycle captures more renewal opportunities. Do not compare monthly cancellation rates directly with annual cohort losses or renewal-only outcomes.

Does expansion revenue reduce customer churn?

No. An upgrade by a retained customer does not bring back a lost customer account. Expansion can offset losses in net revenue churn, so report customer churn and gross revenue losses alongside the net measure.

Do failed payments count as SaaS churn?

A failed payment is an event to investigate, not automatically a lost account. Apply your approved effective-loss rule and distinguish unresolved balances from terminated service. Keep payment-related losses separate from deliberate cancellations when reviewing the reasons behind churn.