> For the complete documentation index, see [llms.txt](https://docs.bunny.com/guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bunny.com/guide/tour/analytics/retention.md).

# Retention

The Retention dashboard gives you different ways of look at your customer and revenue retention.

* Churn rate
* NRR and GRR
* Cohorts

Each view gives you different insights.

### Churn rate

Churn rate measures the rate at which you're losing customers over a given period.

<figure><img src="/files/jB6Aby4VQSLfFcvDbx43" alt=""><figcaption></figcaption></figure>

### NRR and GRR

**Gross Revenue Retention (GRR)** and **Net Revenue Retention (NRR)** both measure how well you retain revenue from your existing customer base over a period — typically 12 months. They differ in what they include.

**GRR** only looks at revenue lost. It asks: of the ARR you had at the start of the period, how much did you keep, ignoring any growth from those same customers?

> **GRR = (Opening ARR − Churn − Contraction) / Opening ARR**

GRR is capped at 100% by definition — you can't retain more than you started with. A strong GRR (>90% for mid-market, >95% for enterprise) means your core revenue base is sticky.

**NRR** adds expansion back in. It asks: of the ARR you had at the start of the period, where did you end up after all movements — including upsells, downgrades, and churn?

> **NRR = (Opening ARR − Churn − Contraction + Expansion) / Opening ARR**

NRR can exceed 100%, which is the holy grail — it means your existing customers are growing faster than you're losing revenue. Best-in-class SaaS businesses have run NRR above 130%.

<figure><img src="/files/RCmLaqahjvyclfXpLb2z" alt=""><figcaption></figcaption></figure>

### Cohorts

Customer cohorts group customers by when they first signed, then track how their collective revenue evolves over time. It's the most honest way to see retention and expansion behavior because it strips out the noise of new customer growth.

**How it works**

Take every customer who started in, say, Q1 2024. At the end of that quarter their combined ARR is your cohort's starting value — call it 100%. Each subsequent quarter you measure what that same group of customers is worth as a percentage of that starting value.

| Quarter        | Q1 2024 | Q2 2024 | Q3 2024 | Q4 2024 | Q1 2025 |
| -------------- | ------- | ------- | ------- | ------- | ------- |
| Q1 2024 cohort | 100%    | 95%     | 98%     | 107%    | 112%    |
| Q2 2024 cohort |         | 100%    | 92%     | 95%     | 101%    |
| Q3 2024 cohort |         |         | 100%    | 88%     | 90%     |

This produces the classic **cohort heatmap** — rows are cohorts, columns are periods of age. Healthy businesses show values that stabilize and ideally climb above 100% over time.

<figure><img src="/files/zpvnMP6ZI6Kl4wDazSHz" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.bunny.com/guide/tour/analytics/retention.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
