{
  "slug": "peer-to-peer-fundraising",
  "title": "Peer-to-Peer Fundraising Calculator",
  "heading": "Peer-to-Peer Campaign Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/peer-to-peer-fundraising",
  "summary": "Participants, activation rate, and average raised to a campaign total.",
  "description": "P2P results hinge on the share of registrants who actually fundraise. Half of a typical roster never sends a single ask. Model activation, per-fundraiser totals, and the platform and processing fees skimmed off the top.",
  "formula": "Total = participants × activation × average raised; net = total × (1 − platform − processing).",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=peer-to-peer-fundraising",
  "inputs": [
    {
      "id": "participants",
      "label": "Registered participants",
      "kind": "number",
      "hint": null,
      "default": 300,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "activation",
      "label": "Share who actually fundraise",
      "kind": "number",
      "hint": null,
      "default": 48,
      "unit": "%",
      "min": 0,
      "max": 100
    },
    {
      "id": "avgRaised",
      "label": "Average raised per active fundraiser",
      "kind": "number",
      "hint": null,
      "default": 420,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "donorsEach",
      "label": "Donors per active fundraiser",
      "kind": "number",
      "hint": null,
      "default": 7,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "platformFee",
      "label": "Platform fee",
      "kind": "number",
      "hint": null,
      "default": 4,
      "unit": "%",
      "min": 0,
      "max": 20
    },
    {
      "id": "processing",
      "label": "Payment processing",
      "kind": "number",
      "hint": null,
      "default": 2.9,
      "unit": "%",
      "min": 0,
      "max": 10
    },
    {
      "id": "campaignCost",
      "label": "Campaign costs (swag, staff, ads)",
      "kind": "number",
      "hint": null,
      "default": 9000,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "net",
      "label": "Net raised",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "gross",
      "label": "Gross raised",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "active",
      "label": "Active fundraisers",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "donors",
      "label": "New donor records acquired",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "fees",
      "label": "Platform & processing fees",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "perParticipant",
      "label": "Gross per registrant",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Registered participants: 300",
      "Share who actually fundraise: 48 %",
      "Average raised per active fundraiser: 420 $",
      "Donors per active fundraiser: 7",
      "Platform fee: 4 %",
      "Payment processing: 2.9 %",
      "Campaign costs (swag, staff, ads): 9000 $"
    ],
    "outputs": [
      "Net raised: $47,307",
      "Gross raised: $60,480",
      "Active fundraisers: 144",
      "New donor records acquired: 1,008",
      "Platform & processing fees: $4,173",
      "Gross per registrant: $202"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter registered participants.",
      "Enter share who actually fundraise (%).",
      "Enter average raised per active fundraiser ($).",
      "Enter donors per active fundraiser.",
      "Enter platform fee (%).",
      "Enter payment processing (%).",
      "Enter campaign costs (swag, staff, ads) ($).",
      "Read your net raised 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": {
        "participants": 180,
        "activation": 29,
        "avgRaised": 250,
        "donorsEach": 4,
        "platformFee": 2.4,
        "processing": 1.74,
        "campaignCost": 5500
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "participants": 300,
        "activation": 48,
        "avgRaised": 420,
        "donorsEach": 7,
        "platformFee": 4,
        "processing": 2.9,
        "campaignCost": 9000
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "participants": 480,
        "activation": 77,
        "avgRaised": 670,
        "donorsEach": 11,
        "platformFee": 6.4,
        "processing": 4.64,
        "campaignCost": 14500
      }
    }
  ],
  "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": "How do I raise activation rate?",
      "a": "Personal coaching in week one. Fundraisers who upload a photo and send five asks within seven days of registering raise several times more than those who wait — so the entire campaign lives or dies on onboarding."
    },
    {
      "q": "Do the new donors stick?",
      "a": "Only with deliberate stewardship. P2P donors gave to a friend, not to you. A distinct welcome series that explains the mission converts a meaningful slice into direct donors the following year."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/fundraising-goal",
    "https://www.revenuelab.fyi/toolbox/fundraising-event-roi"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Peer-to-Peer Fundraising Calculator (https://www.revenuelab.fyi/toolbox/peer-to-peer-fundraising)"
}