{
  "id": "nrr",
  "version": "96e06dba9ede",
  "status": "published",
  "name": "Net Revenue Retention Calculator",
  "question": "What is my net revenue retention?",
  "summary": "Computes net revenue retention (NRR) and gross revenue retention (GRR) for a period from the recurring revenue of your existing customers at the start, their expansion, contraction and churned revenue.",
  "category": "finance",
  "subcategory": "business",
  "url": "https://www.acalculator.org/finance/nrr-calculator",
  "markdown": "https://www.acalculator.org/finance/nrr-calculator.md",
  "kind": "function",
  "method": "NRR = (start + expansion − contraction − churned revenue) ÷ start × 100; GRR = (start − contraction − churned revenue) ÷ start × 100.",
  "assumptions": [
    "Every amount is recurring revenue from the customers you had at the start, over the same period; revenue from new customers is left out.",
    "Use the same unit throughout: monthly (MRR) or yearly (ARR) recurring revenue.",
    "Arithmetic is exact on the typed decimals; the rates show to 2 decimals and money to the cent, halves up."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "start": {
        "title": "Recurring revenue at the start",
        "description": "Monthly or yearly recurring revenue (MRR or ARR) from your existing customers at the start of the period.",
        "type": "number",
        "x-unit": "USD",
        "exclusiveMinimum": 0,
        "maximum": 1000000000000
      },
      "expansion": {
        "title": "Expansion",
        "description": "Recurring revenue these customers added during the period: upgrades, upsells and cross-sells.",
        "type": "number",
        "x-unit": "USD",
        "minimum": 0,
        "maximum": 1000000000000
      },
      "contraction": {
        "title": "Contraction",
        "description": "Recurring revenue lost when these customers moved to cheaper plans (downgrades).",
        "type": "number",
        "x-unit": "USD",
        "minimum": 0,
        "maximum": 1000000000000
      },
      "churned": {
        "title": "Churned revenue",
        "description": "Recurring revenue lost from customers who cancelled.",
        "type": "number",
        "x-unit": "USD",
        "minimum": 0,
        "maximum": 1000000000000
      }
    }
  },
  "outputs": {
    "nrr": {
      "label": "Net revenue retention (NRR)",
      "description": "(Start + expansion − contraction − churned revenue) ÷ start × 100.",
      "format": "percent"
    },
    "grr": {
      "label": "Gross revenue retention (GRR)",
      "description": "(Start − contraction − churned revenue) ÷ start × 100.",
      "format": "percent"
    },
    "endRevenue": {
      "label": "Recurring revenue at the end from these customers",
      "description": "Start + expansion − contraction − churned revenue.",
      "format": "money"
    },
    "netChange": {
      "label": "Net change",
      "description": "Expansion − contraction − churned revenue.",
      "format": "money"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "start": 100000,
      "expansion": 8000,
      "contraction": 2000,
      "churned": 5000
    },
    "outputs": {
      "nrr": 101,
      "grr": 93,
      "endRevenue": 101000,
      "netChange": 1000
    },
    "text": "$100,000.00 of recurring revenue at the start became $101,000.00: net revenue retention of 101% and gross revenue retention of 93%."
  },
  "examples": [
    {
      "given": {
        "start": 100000,
        "expansion": 8000,
        "contraction": 2000,
        "churned": 5000
      },
      "expect": {
        "nrr": 101,
        "grr": 93,
        "endRevenue": 101000,
        "netChange": 1000
      },
      "source": "Stripe, \"Net revenue retention (NRR): What it is and why it matters for SaaS businesses\" (NRR = (beginning recurring revenue − churned MRR − downgrade MRR + upgrade revenue) ÷ beginning recurring revenue × 100; GRR leaves out the upgrades; $100,000 − $5,000 − $2,000 + $8,000 is 101%). https://stripe.com/resources/more/net-revenue-retention: (100,000 − 5,000 − 2,000 + 8,000) ÷ 100,000 × 100 = 101; GRR = 93,000 ÷ 100,000 × 100 = 93"
    },
    {
      "given": {
        "start": 50000,
        "expansion": 0,
        "contraction": 1000,
        "churned": 4000
      },
      "expect": {
        "nrr": 90,
        "grr": 90,
        "netChange": -5000
      },
      "source": "Stripe, \"Net revenue retention (NRR): What it is and why it matters for SaaS businesses\" (NRR = (beginning recurring revenue − churned MRR − downgrade MRR + upgrade revenue) ÷ beginning recurring revenue × 100; GRR leaves out the upgrades; $100,000 − $5,000 − $2,000 + $8,000 is 101%). https://stripe.com/resources/more/net-revenue-retention; hand calculation in content.mdx: (50,000 − 1,000 − 4,000) ÷ 50,000 × 100 = 90"
    },
    {
      "given": {
        "start": 30000,
        "expansion": 10000,
        "contraction": 0,
        "churned": 0
      },
      "expect": {
        "nrr": 133.33333333333334,
        "grr": 100
      },
      "source": "Stripe, \"Net revenue retention (NRR): What it is and why it matters for SaaS businesses\" (NRR = (beginning recurring revenue − churned MRR − downgrade MRR + upgrade revenue) ÷ beginning recurring revenue × 100; GRR leaves out the upgrades; $100,000 − $5,000 − $2,000 + $8,000 is 101%). https://stripe.com/resources/more/net-revenue-retention; hand calculation in content.mdx: 40,000 ÷ 30,000 × 100 = 133.33"
    }
  ],
  "sources": [
    "Stripe, \"Net revenue retention (NRR): What it is and why it matters for SaaS businesses\": NRR = (beginning recurring revenue − MRR lost from churned customers − MRR lost from downgrades + revenue from upgrades) ÷ beginning recurring revenue × 100, GRR the same without upgrades; $100,000 − $5,000 − $2,000 + $8,000 gives 101%. https://stripe.com/resources/more/net-revenue-retention (retrieved 2026-10-18)"
  ],
  "related": [
    "churn-rate",
    "customer-lifetime-value",
    "cagr",
    "csat"
  ],
  "changelog": []
}
