{
  "slug": "saas-net-revenue-retention",
  "title": "Net Revenue Retention Calculator",
  "heading": "Net Revenue Retention Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/saas-net-revenue-retention",
  "summary": "Track expansion against churn to see if your existing base grows on its own.",
  "description": "Net revenue retention measures what happened to last year's cohort of revenue after upgrades, downgrades, and cancellations, with no new customers counted. Above 100% means the base grows without acquiring anyone, which is the compounding engine behind every efficient software business. This calculator returns both NRR and gross revenue retention — the version that strips out expansion and shows pure leakage — plus the ARR your current base will reach in three years if the rate holds. Best-in-class enterprise SaaS runs 120%+; SMB-focused products more often sit at 90-105% because small customers churn for reasons no amount of product work fixes.",
  "formula": "NRR = (Starting ARR + expansion − contraction − churn) ÷ Starting ARR. GRR = (Starting ARR − contraction − churn) ÷ Starting ARR.",
  "dateModified": "2026-08-25",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=saas-net-revenue-retention",
  "inputs": [
    {
      "id": "start",
      "label": "Starting ARR from existing customers",
      "kind": "number",
      "hint": null,
      "default": 3000000,
      "unit": "$",
      "min": 1,
      "max": null
    },
    {
      "id": "expansion",
      "label": "Expansion ARR (upsell + seats)",
      "kind": "number",
      "hint": null,
      "default": 520000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "contraction",
      "label": "Contraction ARR (downgrades)",
      "kind": "number",
      "hint": null,
      "default": 130000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "churn",
      "label": "Churned ARR (cancellations)",
      "kind": "number",
      "hint": null,
      "default": 240000,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "nrr",
      "label": "Net revenue retention",
      "format": "percent",
      "hint": null,
      "primary": true
    },
    {
      "id": "grr",
      "label": "Gross revenue retention",
      "format": "percent",
      "hint": null,
      "primary": false
    },
    {
      "id": "endingArr",
      "label": "Ending ARR from this cohort",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "threeYear",
      "label": "Cohort ARR in 3 years at this rate",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "netChange",
      "label": "Net ARR change",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Starting ARR from existing customers: 3000000 $",
      "Expansion ARR (upsell + seats): 520000 $",
      "Contraction ARR (downgrades): 130000 $",
      "Churned ARR (cancellations): 240000 $"
    ],
    "outputs": [
      "Net revenue retention: 105.0%",
      "Gross revenue retention: 87.7%",
      "Ending ARR from this cohort: $3,150,000.00",
      "Cohort ARR in 3 years at this rate: $3,472,875.00",
      "Net ARR change: $150,000.00"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter starting arr from existing customers ($).",
      "Enter expansion arr (upsell + seats) ($).",
      "Enter contraction arr (downgrades) ($).",
      "Enter churned arr (cancellations) ($).",
      "Read your net revenue retention on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "start": 1800000,
        "expansion": 310000,
        "contraction": 80000,
        "churn": 145000
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "start": 3000000,
        "expansion": 520000,
        "contraction": 130000,
        "churn": 240000
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "start": 4800000,
        "expansion": 830000,
        "contraction": 210000,
        "churn": 385000
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "What's the difference between NRR and GRR, practically?",
      "a": "GRR can never exceed 100% and shows how leaky the bucket is; NRR can exceed 100% and shows whether expansion outruns the leak. A company with 130% NRR and 82% GRR is masking a serious churn problem with a handful of big upsells."
    },
    {
      "q": "What NRR is good?",
      "a": "110-120% is strong for enterprise, 100-110% solid for mid-market, and 90-100% is often the realistic ceiling for self-serve SMB products. Public software companies with sustained 130%+ are rare and usually have consumption-based pricing."
    },
    {
      "q": "Should new logos count?",
      "a": "Never. NRR is deliberately blind to new customers so it isolates the health of the existing base. Mixing in new business produces a growth rate, not a retention rate."
    },
    {
      "q": "How do I raise NRR fastest?",
      "a": "Usually pricing structure rather than customer success heroics: tying price to a value metric that grows with the customer (seats, usage, revenue processed) means the base expands without a sales conversation. Flat per-account pricing caps NRR at 100% by design."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/saas-rule-of-40",
    "https://www.revenuelab.fyi/toolbox/saas-burn-multiple",
    "https://www.revenuelab.fyi/toolbox/saas-churn-cost"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Net Revenue Retention Calculator (https://www.revenuelab.fyi/toolbox/saas-net-revenue-retention)"
}