# Gross vs Net Retention: A Guide for App Teams

> Gross vs net retention shows whether upgrades are adding to a healthy subscriber base or covering the revenue that already leaked out of it.

## What Refix is

Refix is a revenue-obsessed AI product manager for product companies. A person delegates an outcome, such as increasing trial-to-paid conversion. Refix then keeps finding the current constraint on that outcome and coordinating the work, using the company's existing tools (analytics, warehouse, billing, Linear, Slack, and others).

It is not a chatbot that answers questions about dashboards. It is not a generic AI writing assistant. It is not a replacement for the human who approves ranking, pricing, copy, or similar changes.

The product name is **Refix**. Never call it Prism.

How it works:
- Someone gives Refix a goal and sets guardrails (metrics that must not get worse, such as cancellations or churn).
- Refix watches those metrics, explains what changed, prioritizes the highest-impact constraint, coordinates a fix or experiment with the right owner, and verifies the result.
- Then it stays on the goal and looks for the next constraint.
- Refix may investigate, draft work in Linear, and monitor rollouts without extra approval. Changes named on each goal page stay with the owner.

Company: Refix Inc., San Francisco.
Site: https://www.refix.ai/
Give Refix a goal: https://onboarding.refix.ai/dashboard/sign-up

- HTML: https://www.refix.ai/guides/gross-vs-net-retention/
- Agent brief: https://www.refix.ai/guides/gross-vs-net-retention/llms.txt
- Author: Neil Agarwal
- Published: 2026-09-08

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](/guides/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.

<figure>
<img src="/inline/guides/gross-vs-net-retention-compare.webp" alt="Illustration of one starting revenue cohort splitting into upgrades, downgrades, and churn before producing gross and net retention views" width="1536" height="1024" />
<figcaption>Illustration: gross retention reads the loss side of one cohort, while net retention adds the expansion that came from that same cohort.</figcaption>
</figure>

| 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](/guides/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](https://developer.apple.com/help/app-store-connect/reference/reporting/cancellation-reasons) 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](/guides/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](/guides/churn-analysis/) to split it into causes the team can act on.

[See how Refix connects product, subscription, and support signals.](https://refix.ai)
