---
title: "Downtime cost calculator for small teams | Logdash"
description: "Work out what an outage cost you: lost revenue per minute, staff time, churn and SLA credits. The formula in JavaScript, with a worked example."
url: https://logdash.io/tools/downtime-cost-calculator
---

# Downtime cost calculator

The downtime cost calculator multiplies the length of the outage by your revenue per hour and by what the people fixing it cost per hour, and the formula below adds the customers who leave and any SLA credits, so you get one number for one outage.

Cost of this outage: **$975**

| Cost                        | Amount |
| --------------------------- | ------ |
| Lost revenue $500/h × 1.5h  | $750   |
| Staff time 2 × $75/h × 1.5h | $225   |

Search for the cost of downtime and you get $5,600 a minute. That number comes from a 2014 Gartner blog post about enterprise network downtime, and even there it was an average from industry surveys, not a figure for any one business. For a company doing $20,000 a month it is off by a factor of thousands. Use your own numbers. There are only four of them.

## Downtime cost formula

- Lost revenue = revenue per minute x minutes down x share of revenue that stops. A shop that cannot take orders loses close to all of it. A subscription app mostly does not lose revenue in the moment.
- Labour = people on the incident x hourly rate x hours, including the clean-up the day after.
- Churn = MRR of customers who leave because of it x the months they would have stayed.
- SLA credits = whatever your contracts pay back when you miss the promised uptime.

 downtime-cost.js 

```javascript
// All money in one currency, all time in minutes.
function downtimeCost({
  minutesDown,
  monthlyRevenue,
  shareOfRevenueBlocked, // 0 to 1: how much of the business stops while down
  responders,
  hourlyRate,
  hoursSpent,
  churnedMrr, // MRR of customers who leave because of this outage
  lifetimeMonths, // how long those customers would have stayed
  slaCredits = 0,
}) {
  const revenuePerMinute = monthlyRevenue / ((365.25 * 24 * 60) / 12);
  const lostRevenue = revenuePerMinute * minutesDown * shareOfRevenueBlocked;
  const labour = responders * hourlyRate * hoursSpent;
  const churn = churnedMrr * lifetimeMonths;
  const total = lostRevenue + labour + churn + slaCredits;
  return { lostRevenue, labour, churn, slaCredits, total };
}

console.log(
  downtimeCost({
    minutesDown: 120,
    monthlyRevenue: 20000,
    shareOfRevenueBlocked: 1,
    responders: 2,
    hourlyRate: 100,
    hoursSpent: 3,
    churnedMrr: 200,
    lifetimeMonths: 24,
  }),
);
// {
//   lostRevenue: 54.757...,
//   labour: 600,
//   churn: 4800,
//   slaCredits: 0,
//   total: 5454.757...
// }
```

## Website downtime cost for a small SaaS

Take the example in the code. $20,000 MRR is $0.46 a minute, so a 2-hour outage costs $55 of revenue. Two people spending 3 hours on it at $100 an hour is $600\. One customer on a $200 plan who leaves instead of staying 24 more months is $4,800\. Total: $5,455, and 88% of it is the churn line.

That is the usual shape for subscription businesses. The outage itself is cheap. What it costs is the customer who found out before you did and decided you are not reliable. For a shop the shape flips: at $30,000 a month and checkout fully blocked, every hour down is $41 of orders that will not come back, before labour or churn.

## Cost of downtime calculator inputs most people get wrong

- Minutes down start when users first fail, not when you first notice. With a 5-minute check, up to 5 of them are spent before anyone knows.
- Share blocked is rarely 1 or 0\. A login outage blocks everyone, a broken export blocks almost nobody.
- Lifetime months for a churned customer: use 1 divided by your monthly churn rate. 4% churn means 25 months.
- Labour includes the evening you did not plan to work. Price it at what you would pay someone else.

### This calculator vs a spreadsheet

| Feature                     | Logdash                            | a spreadsheet           |
| --------------------------- | ---------------------------------- | ----------------------- |
| First number for one outage | Fill in the fields, read the total | Build the formula first |
| History of every incident   | Nothing is saved                   | One row per incident    |
| Formula you can check       | Printed on this page               | In the cells            |

### When a spreadsheet is the better pick

- You want the yearly cost across every incident, or to show the trend to a co-founder or investor.
- Revenue splits across plans, regions or products that go down separately.

## Cut the minutes, not the price

Minutes down is detection time plus fix time. You cannot calculate away the fix, but detection is a setting. Logdash checks every 5 minutes on the free plan, every minute on Builder and every 15 seconds on Pro.

1. **Add the URL** Create a service in Logdash and point its monitor at the page that makes you money: checkout, login or the API.
2. **Set the interval to your cost** If an hour down costs more than a month of Pro, a 15-second check pays for itself on the first incident.
3. **Get told first** Break the endpoint once. The monitor flips to down on the next check and a Telegram alert lands with the status code, before the first support email.

### How does a downtime cost calculator work? 

The one on this page multiplies the outage length by your revenue per hour and by the hourly cost of the people fixing it. The formula below adds the share of revenue that actually stops, churned customers and SLA credits. Each input is a number you already know or can estimate in a minute.

### What should a cost of downtime calculator include? 

Lost revenue, staff time, churn and SLA credits. Leave out reputation as a separate line: it shows up in churn, and counting it twice inflates the total.

### What is the website downtime cost for a small business? 

For a $20,000 MRR SaaS a 2-hour outage is about $55 of revenue and $600 of labour. Losing a single $200 customer who would have stayed 24 months adds $4,800\. Churn dominates.

### What is the downtime cost formula? 

Cost = revenue per minute x minutes down x share blocked + responders x hourly rate x hours + churned MRR x lifetime months + SLA credits.

## Keep reading

[All free tools](https://logdash.io/tools): One page per tool, each with the tool itself, the command or formula behind it and a monitor that keeps checking after you leave.

[Incident postmortem template](https://logdash.io/tools/incident-postmortem-template): Copy the blameless template below into a markdown file within 48 hours of the incident, fill the timeline from your alert timestamps in UTC, and end it with at most three action items that each have an owner and a date.

[Status page generator](https://logdash.io/tools/status-page-generator): Logdash generates a status page from the uptime monitors you already run: publish the hosted page from the dashboard, or put one in your own code with the Next.js starter or a single shadcn command.

[Uptime badge generator](https://logdash.io/tools/uptime-badge-generator): The generator turns any Logdash monitor on a published status page into a live SVG badge, in classic, status or card style, and gives you the markdown or HTML to paste into a README or a site.

[Uptime monitoring](https://logdash.io/features/monitoring): HTTP checks as often as every 15 seconds. When one fails, Telegram tells you before your users do.
