{
  "slug": "incident-cost-per-minute",
  "title": "Incident Cost Per Minute Calculator",
  "heading": "Downtime Incident Cost Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/incident-cost-per-minute",
  "summary": "Put a real dollar figure on an outage, per minute and in total.",
  "description": "When leadership asks 'what did that outage cost us,' teams usually reach for lost revenue and stop there, missing the larger and more persistent costs: engineer time during the incident (often 5-15 people paged simultaneously), customer support surge, SLA credits owed to affected customers, and a churn effect that plays out over following months. This calculator adds up direct revenue loss (based on your revenue run-rate and traffic-affected percentage), responder labor cost (headcount × loaded hourly rate × duration), and SLA credit obligations, then reports both per-minute and total incident cost. Use the per-minute figure to justify reliability investment: if an outage costs $2,400/minute and a redundant failover system costs $50,000 to build, the system pays for itself the moment it prevents 21 minutes of downtime across its lifetime.",
  "formula": "Cost = (revenue run-rate ÷ minutes in period × affected%) × duration + (responders × hourly rate × duration/60) + SLA credits.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=incident-cost-per-minute",
  "inputs": [
    {
      "id": "monthlyRevenue",
      "label": "Monthly revenue",
      "kind": "number",
      "hint": null,
      "default": 2000000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "affectedPct",
      "label": "% of revenue-generating traffic affected",
      "kind": "number",
      "hint": null,
      "default": 60,
      "unit": "%",
      "min": 0,
      "max": 100
    },
    {
      "id": "durationMin",
      "label": "Incident duration",
      "kind": "number",
      "hint": null,
      "default": 45,
      "unit": "minutes",
      "min": 1,
      "max": null
    },
    {
      "id": "responders",
      "label": "Engineers/staff responding",
      "kind": "number",
      "hint": null,
      "default": 6,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "hourlyRate",
      "label": "Loaded hourly rate per responder",
      "kind": "number",
      "hint": null,
      "default": 120,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "slaCredits",
      "label": "SLA credits owed",
      "kind": "number",
      "hint": null,
      "default": 5000,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "total",
      "label": "Total incident cost",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "perMinute",
      "label": "Cost per minute of downtime",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "revenueLoss",
      "label": "Revenue loss portion",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "laborCost",
      "label": "Responder labor cost",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Monthly revenue: 2000000 $",
      "% of revenue-generating traffic affected: 60 %",
      "Incident duration: 45 minutes",
      "Engineers/staff responding: 6",
      "Loaded hourly rate per responder: 120 $",
      "SLA credits owed: 5000 $"
    ],
    "outputs": [
      "Total incident cost: $6,774",
      "Cost per minute of downtime: $151",
      "Revenue loss portion: $1,234",
      "Responder labor cost: $540"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter monthly revenue ($).",
      "Enter % of revenue-generating traffic affected (%).",
      "Enter incident duration (minutes).",
      "Enter engineers/staff responding.",
      "Enter loaded hourly rate per responder ($).",
      "Enter sla credits owed ($).",
      "Read your total incident cost 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": {
        "monthlyRevenue": 1200000,
        "affectedPct": 35,
        "durationMin": 27,
        "responders": 4,
        "hourlyRate": 70,
        "slaCredits": 3000
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "monthlyRevenue": 2000000,
        "affectedPct": 60,
        "durationMin": 45,
        "responders": 6,
        "hourlyRate": 120,
        "slaCredits": 5000
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "monthlyRevenue": 3200000,
        "affectedPct": 95,
        "durationMin": 72,
        "responders": 10,
        "hourlyRate": 190,
        "slaCredits": 8000
      }
    }
  ],
  "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": "Should I count 100% of revenue during the affected window?",
      "a": "No — only the share of revenue-generating traffic actually blocked by the failure, and account for deferred versus lost demand. Some transactions (a subscription renewal) simply happen a few minutes later once the system recovers, while others (a cart abandoned during checkout) are genuinely lost, so the affected percentage should reflect your best estimate of true lost transactions, not just error rate."
    },
    {
      "q": "What costs does this leave out?",
      "a": "Reputational damage, customer churn triggered by the outage (which plays out over the following 1-3 months and is hard to attribute cleanly), regulatory exposure for compliance-sensitive industries, and the opportunity cost of engineers pulled off roadmap work during and after the incident for the retro and remediation. Treat this calculator's output as a conservative floor, not the full cost."
    },
    {
      "q": "How should this number change how we prioritize reliability work?",
      "a": "Compare the per-minute cost against the cost and expected downtime-prevention of a proposed fix, using your incident history to estimate how many minutes of downtime per year the fix would have prevented. A fix that costs $80,000 and would have prevented three 30-minute incidents at $2,000/minute pays for itself in the first prevented incident and every one after that is pure savings."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/sla-uptime-downtime",
    "https://www.revenuelab.fyi/toolbox/mttr-impact-calculator",
    "https://www.revenuelab.fyi/toolbox/oncall-load-calculator"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Incident Cost Per Minute Calculator (https://www.revenuelab.fyi/toolbox/incident-cost-per-minute)"
}