TL;DR

  • Gross retention shows how much starting revenue stayed before upgrades or add-ons.
  • Net retention adds expansion, so it can exceed 100 percent while gross retention cannot.
  • Read both measures from the same starting cohort and revenue basis.
  • A high net figure with weak gross retention can mean upgrades are covering a leaky base.
  • Separate voluntary cancellations from failed renewals before deciding how to improve retention.

Gross vs net retention answers a question that a single percentage can hide: did the subscriber base hold, or did a few upgrades cover the revenue that leaked out? An app can report healthy net retention while a lot of customers are downgrading, cancelling, or failing to renew.

Both numbers start with the same customer cohort. They differ in what happens to expansion. That makes them useful together, especially when a team is deciding whether to work on plan value, a cancellation path, or failed-payment recovery.

What is the difference between gross and net retention?

Gross retention measures the revenue a starting cohort kept after downgrades and churn, without credit for upgrades or add-ons. Net retention uses the same starting cohort but includes expansion. It can therefore show growth even when part of the base shrank.

Measure Includes expansion Can exceed 100 percent What it shows
Gross retention No No How much starting revenue held without help from upgrades
Net retention Yes Yes Whether the cohort grew or shrank in value after expansion

The word “gross” can cause confusion. Here it does not mean billings before store fees, taxes, or refunds. It means retention before expansion. Pick one revenue basis for both measures and keep it consistent across the periods you compare.

For the broader definition and operating signals behind NRR, see net retention rate.

How do you calculate gross and net retention?

Use a fixed cohort. If the period starts with 100 subscribers, new subscribers who arrive later do not enter either calculation. The point is to see what happened to the revenue already on the books.

Gross retention:

Gross retention = (starting revenue - contraction - churned revenue) / starting revenue × 100

Net retention:

Net retention = (starting revenue + expansion - contraction - churned revenue) / starting revenue × 100

Contraction is revenue lost when an existing customer moves to a cheaper plan. Churned revenue is what disappears when a customer leaves or access ends. Expansion is extra revenue from the same starting group, such as an upgrade, an add-on, or a move to a higher plan.

Do not mix revenue bases halfway through. If you measure starting revenue after a store fee, use the comparable after-fee amount for expansion, contraction, and churn. If refunds belong in the measure, apply the same rule throughout.

A simple gross vs net retention example

Imagine a subscription app starts a month with 10,000 dollars of revenue from a fixed cohort. During the month, that cohort produces 1,200 dollars in upgrades, loses 500 dollars to downgrades, and loses 900 dollars when subscriptions end.

Illustration of one starting revenue cohort splitting into upgrades, downgrades, and churn before producing gross and net retention views
Illustration: gross retention reads the loss side of one cohort, while net retention adds the expansion that came from that same cohort.
Step Gross retention Net retention
Starting revenue 10,000 dollars 10,000 dollars
Expansion excluded add 1,200 dollars
Contraction subtract 500 dollars subtract 500 dollars
Churned revenue subtract 900 dollars subtract 900 dollars
Result 86 percent 98 percent

The arithmetic is hypothetical, not a customer result. Gross retention is (10,000 - 500 - 900) / 10,000, or 86 percent. Net retention is (10,000 + 1,200 - 500 - 900) / 10,000, or 98 percent.

The net number looks close to flat. The gross number says the base still lost 14 percent before upgrades. Both facts matter. The first describes revenue momentum. The second points at a leak that upgrades may be covering for now.

What does each number tell an app team?

Gross retention is the clearer base-health measure. It asks whether existing revenue held without an assist from customers spending more. If gross retention falls, look at downgrades, voluntary cancellations, and failed renewals.

Net retention adds the commercial upside. It shows whether expansion offset those losses and whether the cohort is worth more or less than it was at the start. A rising net figure can be good news, but it should not end the investigation when gross retention moves the other way.

Pattern What may be happening Where to look next
High net, weak gross upgrades are covering churn or downgrades plan fit, cancellation reasons, failed renewal states
Strong gross, weak net the base held but expansion softened upgrade path, packaging, and value for heavier users
Both falling the cohort is losing value and holding less of its base product use, pricing changes, billing, and support context
Both rising the base held and expansion added value identify the cohort, offer, or product change involved

These are prompts for investigation, not diagnoses on their own. A line can move because the cohort changed, a promotion changed the plan mix, or a release broke a journey. Mobile app analytics helps connect the revenue trend to the store, product, and support evidence behind it.

Why retention data gets messy in apps

Subscription apps often have monthly and annual plans, free trials, upgrades, refunds, and different store states in the same report. The calculations are simple. The definitions around them need discipline.

Keep these distinctions clear:

  • Do not let new subscribers into a retention cohort after the period starts.
  • Compare monthly and annual plans separately when their renewal timing differs.
  • Record upgrades and downgrades as expansion and contraction, not as a new-customer event.
  • Keep voluntary cancellation separate from a failed renewal. Apple reports Canceled and Billing Issue as different reasons.
  • Check the current subscription state before calling a subscriber churned. A payment failure can still be inside a recovery path.

The last two points are where reporting can send a team in the wrong direction. A cancellation reason may lead to product or offer work. A failed renewal may need a payment update path and the recovery process described in failed payment recovery for subscription apps.

Which retention measure should you use?

Use gross and net retention together. Gross tells you whether the base held. Net tells you whether expansion made the cohort more valuable despite its losses.

A monthly review can stay short:

  1. Freeze the starting cohort and document the revenue basis.
  2. Split the period into expansion, contraction, voluntary churn, and billing-related loss.
  3. Calculate gross and net retention from the same components.
  4. Compare each number with the same plan mix and cohort definition from the prior period.
  5. Follow the largest movement to its product, billing, or support evidence.
  6. Choose one owner and one change, then review the same cut next cycle.

When the loss side needs more detail, use churn analysis to split it into causes the team can act on.

See how Refix connects product, subscription, and support signals.

FAQ

What is gross vs net retention?
Gross vs net retention compares two ways to measure revenue kept from an existing customer cohort. Gross retention excludes upgrades and add-ons. Net retention includes them, so it shows whether expansion offset downgrades and churn.
Can net retention be higher than 100 percent?
Yes. Net retention can exceed 100 percent when expansion from the starting cohort is larger than its downgrades and churn. Gross retention cannot exceed 100 percent because it excludes expansion.
How do you calculate gross and net retention?
For gross retention, subtract contraction and churned revenue from starting revenue, then divide by starting revenue. For net retention, add expansion before subtracting contraction and churned revenue, then divide by starting revenue.
Should app teams track gross or net retention?
Track both. Gross retention shows whether the existing base held without help from upgrades. Net retention shows whether the cohort grew or shrank in value after expansion. The gap between them tells you how much upgrades carried the period.