{
  "slug": "donor-retention",
  "title": "Donor Retention Rate Calculator",
  "heading": "Donor Retention & Lifetime Value Calculator",
  "category": "other",
  "url": "https://www.revenuelab.fyi/toolbox/donor-retention",
  "summary": "Retention rate, attrition cost, and the value of a retained donor.",
  "description": "The average nonprofit loses roughly half its donors every year, and replacing them costs several times more than keeping them. This calculates your retention rate, the revenue leaking out the bottom, and what a small retention improvement is worth.",
  "formula": "Retention = repeat donors ÷ prior-year donors; LTV = average gift × gifts per year × (1 ÷ churn).",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=donor-retention",
  "inputs": [
    {
      "id": "priorDonors",
      "label": "Donors last year",
      "kind": "number",
      "hint": null,
      "default": 1400,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "retained",
      "label": "Of those, gave again this year",
      "kind": "number",
      "hint": null,
      "default": 630,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "avgGift",
      "label": "Average gift",
      "kind": "number",
      "hint": null,
      "default": 118,
      "unit": "$",
      "min": 1,
      "max": null
    },
    {
      "id": "giftsYear",
      "label": "Gifts per donor per year",
      "kind": "number",
      "hint": null,
      "default": 1.4,
      "unit": null,
      "min": 0.1,
      "max": null
    },
    {
      "id": "acqCost",
      "label": "Cost to acquire a new donor",
      "kind": "number",
      "hint": null,
      "default": 95,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "improve",
      "label": "Retention improvement to model",
      "kind": "number",
      "hint": null,
      "default": 5,
      "unit": "pts",
      "min": 0,
      "max": 40
    }
  ],
  "outputs": [
    {
      "id": "rate",
      "label": "Donor retention rate",
      "format": "percent",
      "hint": null,
      "primary": true
    },
    {
      "id": "ltv",
      "label": "Donor lifetime value",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "lostRevenue",
      "label": "Annual revenue lost to lapse",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "replaceCost",
      "label": "Cost to replace lapsed donors",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "newLtv",
      "label": "LTV at improved retention",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "gain",
      "label": "Portfolio value created by the improvement",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Donors last year: 1400",
      "Of those, gave again this year: 630",
      "Average gift: 118 $",
      "Gifts per donor per year: 1.4",
      "Cost to acquire a new donor: 95 $",
      "Retention improvement to model: 5 pts"
    ],
    "outputs": [
      "Donor retention rate: 45.0%",
      "Donor lifetime value: $300",
      "Annual revenue lost to lapse: $127,204",
      "Cost to replace lapsed donors: $73,150",
      "LTV at improved retention: $330",
      "Portfolio value created by the improvement: $42,051"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter donors last year.",
      "Enter of those, gave again this year.",
      "Enter average gift ($).",
      "Enter gifts per donor per year.",
      "Enter cost to acquire a new donor ($).",
      "Enter retention improvement to model (pts).",
      "Read your donor retention rate 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": {
        "priorDonors": 840,
        "retained": 380,
        "avgGift": 71,
        "giftsYear": 0.84,
        "acqCost": 55,
        "improve": 3
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "priorDonors": 1400,
        "retained": 630,
        "avgGift": 118,
        "giftsYear": 1.4,
        "acqCost": 95,
        "improve": 5
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "priorDonors": 2240,
        "retained": 1010,
        "avgGift": 189,
        "giftsYear": 2.2399999999999998,
        "acqCost": 150,
        "improve": 8
      }
    }
  ],
  "limitations": [
    "Estimates assume standard, average conditions — local rules, pricing, and materials vary.",
    "Results are rounded for readability; add a buffer before ordering, booking, or committing.",
    "Double-check anything with a real cost attached against a local quote."
  ],
  "faq": [
    {
      "q": "What is a good retention rate?",
      "a": "Sector-wide it hovers near 45%. First-time donor retention is much worse at roughly 20%, while multi-year donors retain above 60%, so segment before you judge your number."
    },
    {
      "q": "What actually moves retention?",
      "a": "A thank-you within 48 hours, a report showing what the last gift did, and a second ask that references the first gift. Prompt acknowledgment alone measurably lifts second-gift rates."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/fundraising-goal",
    "https://www.revenuelab.fyi/toolbox/nonprofit-overhead-ratio"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Donor Retention Rate Calculator (https://www.revenuelab.fyi/toolbox/donor-retention)"
}