# Net Retention Rate: A Guide for App and Subscription Teams

> Net retention rate shows whether a cohort of subscribers is worth more over time after upgrades, downgrades, and churn. This guide covers the formula, a worked illustration, and what app teams should track.

## 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/net-retention-rate/
- Agent brief: https://www.refix.ai/guides/net-retention-rate/llms.txt
- Author: Neil Agarwal
- Published: 2026-09-07

Net retention rate answers a plain question: is the group of subscribers you already had worth more or less than it was last month. New installs get the attention, but this number shows whether the base underneath is growing or leaking.

A subscriber upgrades to annual, another drops from a family plan to a basic tier, a third cancels, and a fourth loses access when a card expires. Net retention rolls all of that into one percentage. When it sits above 100 percent, the customers who stayed and spent more made up for the ones who left or paid less.

## What is net retention rate?

Net retention rate, often shortened to NRR and also called net revenue retention, tracks the revenue of a fixed starting group across a period. You pick the cohort, usually the subscribers active at the start of a month or quarter, and compare what that same group pays now against what it paid then.

Three forces move the number:

- expansion, when customers upgrade, add seats, or buy add-ons
- contraction, when they downgrade to a cheaper plan
- churn, when they cancel or stop paying and the revenue drops to zero

New customers never enter the math. That is the point. The metric isolates what happened to existing customers, apart from how many new ones arrived.

## How do you calculate it?

Take the revenue of the starting group, add expansion, subtract contraction and churned revenue, then divide by the starting revenue.

| Step | What to do |
| --- | --- |
| Starting revenue | Add up what the cohort paid at the start of the period |
| Add expansion | Add upgrades, plan moves up, and add-on spend from the same group |
| Subtract contraction | Subtract downgrades to cheaper plans within the same group |
| Subtract churn | Subtract revenue lost when customers in the group cancelled or stopped paying |
| Divide and scale | Divide the result by starting revenue and multiply by 100 |

As a formula:

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

Use revenue from the same cohort on both sides. Mixing in new subscribers inflates the result and hides what the existing base actually did.

## A worked illustration

The numbers below are a simple illustration to show the arithmetic, not a report of any real app or Refix customer. Imagine a subscription app starts a quarter with 1,000 subscribers on a 10 dollar monthly plan, so starting revenue is 10,000 dollars.

<figure>
<img src="/inline/guides/net-retention-waterfall.webp" alt="Illustration of a starting subscriber cohort splitting into expanding, contracting, and churned revenue before rejoining" width="1024" height="683" />
<figcaption>Illustration: net retention starts with one cohort, then accounts for expansion, contraction, and churn.</figcaption>
</figure>

During the quarter:

- 100 subscribers upgrade to a 20 dollar plan, adding 1,000 dollars of expansion
- 80 subscribers downgrade to a 5 dollar plan, removing 400 dollars
- 50 subscribers cancel, removing 500 dollars

The math becomes (10,000 + 1,000 - 400 - 500) / 10,000 × 100, which equals 101 percent. The cohort is worth slightly more than at the start, because upgrades just covered the downgrades and cancellations.

Change one input and the story flips. If 150 subscribers had cancelled instead of 50, churned revenue would be 1,500 dollars and the result would land at 91 percent. Same starting cohort, very different result.

## Net vs gross retention

Gross retention uses the same starting point but leaves expansion out. It asks how much of the base held on without help from customers spending more.

| Metric | Includes expansion | Can pass 100 percent | What it tells you |
| --- | --- | --- | --- |
| Net retention | Yes | Yes | Whether the cohort grew or shrank in value |
| Gross retention | No | No | How much of the base stayed without upgrades |

Using the same illustration, gross retention would be (10,000 - 400 - 500) / 10,000 × 100, or 91 percent. The gap between 91 percent gross and 101 percent net shows how much upgrades carried the quarter.

Track both. Net retention alone can hide a shaky base when a few large upgrades cover broad downgrade pressure. Gross retention shows the leak; net retention shows whether expansion patched it. For the side-by-side formulas and the operating response when they diverge, read [gross vs net retention](/guides/gross-vs-net-retention/).

## Net retention vs logo retention

Logo retention, also called customer or account retention, counts heads instead of dollars. If you start with 100 subscribers and 90 still subscribe at the end, logo retention is 90 percent no matter what plan each one sits on.

Net retention counts revenue. Those same 90 subscribers could produce anywhere from well below to above 100 percent depending on who upgraded and who downgraded.

| Metric | Unit | What moves it |
| --- | --- | --- |
| Logo retention | Customers kept from the starting cohort | Cancellations in that cohort, plan changes ignored |
| Net retention | Revenue kept | Upgrades, downgrades, and cancellations together |

An app with mostly uniform pricing can watch logo retention closely, since each lost customer costs about the same. An app with monthly and annual tiers, family plans, or add-ons should lean on net retention, because a single upgrade can be worth several small cancellations.

## What is a good net retention rate?

The math gives a clean reading: above 100 percent means the starting group grew in value, below 100 percent means it shrank. Holding at or above 100 percent without new customers is a strong position for any subscription business.

Beyond that, resist a single universal target. You will see ranges quoted online that frame numbers above 100 percent as strong for subscription software, but those ranges come from enterprise SaaS cohorts with annual contracts, not from consumer apps with monthly plans, free trials, and seasonal installs. An app with heavy trial volume, low prices, or a large casual segment can run a healthy business at a lower figure than a high priced productivity app with annual billing.

Treat outside numbers as directional and judge your own trend instead:

- compare the same cohort definition month over month
- split monthly and annual plans before comparing
- watch for trial conversion swings that change who enters the cohort
- note pricing or paywall changes that reset expectations

A steady climb from 92 to 97 percent on a consistent cohort tells you more than hitting a quoted benchmark once on a favorable mix.

## What should an app team track to move it?

Net retention moves through four levers. Each one needs its own owner and its own event stream, because the fix for a failed card looks nothing like the fix for a pricing objection.

| Lever | What to watch | Where it shows up |
| --- | --- | --- |
| Expansion | Upgrade starts, plan moves up, add-on attach, annual switch rate | Paywall, settings, post-purchase screens |
| Contraction | Downgrade starts, plan moves down, feature use before the move | Settings, cancellation survey, usage logs |
| Voluntary churn | Cancel taps, stated reasons, win-back starts | Subscription settings, exit survey, cancel flow |
| Failed renewals | Billing issue flags, grace period entries, recovery rate | Store subscription status, retry and reminder events |

Expansion starts with customers who already get value. Watch which features heavy users touch before they upgrade, then make that path obvious to similar accounts. Annual switches deserve their own line, since they lock in revenue and remove twelve monthly chances to churn.

Contraction often arrives before cancellation. A customer who drops from a family plan to an individual one is still paying, but the move signals weaker perceived value. Read those downgrades alongside support tickets and usage drops to catch the pattern early.

Voluntary churn needs reasons, not just counts. Log the stated cancellation reason at the moment of the cancel tap so the team can separate price objections from missing features from seasonal pauses. See [subscription cancellation reasons](/guides/subscription-cancellation-reasons/) for the reason labels and how to respond to each one.

Failed renewals are the quietest drag on the number. The customer wanted to stay, but the charge did not collect and access lapsed. Separate these billing issue cases from deliberate cancels in your reporting, then follow the store's retry and grace period states before sending reminders. See [failed payment recovery for subscription apps](/guides/failed-payment-recovery-for-subscription-apps/) for the states to track and the recovery sequence.

Use [churn analysis](/guides/churn-analysis/) when the retention number moves and you need to separate the cancellations, failed renewals, and segments behind it. When the question shifts to what an acquired cohort produced, use the [customer lifetime value calculator](/guides/customer-lifetime-value-calculator/). To connect that value to acquisition spend, use [CAC payback period](/guides/cac-payback-period/).

Refix is built to keep product, subscription, and support signals in one place, so a team can trace a dip in net retention back to the paywall change, billing failure, or cancellation reason behind it.

## Net retention review checklist

Run this pass on a fixed cadence, monthly for most app teams, using the same cohort definition each time.

1. Freeze the cohort: subscribers active on day one, no new joins after.
2. Split expansion, contraction, and churn before combining them into the headline number.
3. Report gross retention next to net retention so upgrades cannot hide base erosion.
4. Separate voluntary cancels from failed renewals in the churn slice.
5. Note any paywall, pricing, or trial change that touched the period.
6. Pick one lever for the next cycle and name the screen or reminder that should move it.

The percentage summarizes the quarter, and the split underneath points to the fix.

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