# SLA calculator: allowed downtime per day, month and year

> Turn an SLA (99.9%, 99.99%...) into allowed downtime per day, week, month, quarter and year. Remaining error budget and the cost of your dependencies.

- Interactive version: https://simulkit.com/en/sla-calculator
- Other languages: [Français](https://simulkit.com/fr/calcul-sla.md)

A 99.9% SLA sounds demanding, yet it allows almost 44 minutes of downtime a month. This calculator turns an availability target into allowed downtime per day, week, month, quarter and year. It also shows the error budget left this month and what your dependencies cost you.

## Parameters

### Target

| Parameter | URL key | Default | Range | Description |
|---|---|---|---|---|
| Guaranteed availability (SLA) | `sla` | 99.9% | 50% to 99.9999% | The share of time the service must be up. 99.9% is also called "three nines". |

### Error budget

| Parameter | URL key | Default | Range | Description |
|---|---|---|---|---|
| Downtime already this month | `consumedMinutes` | 0 min | 0 min to 100,000 min | Total downtime since the start of the month, to see what is left of the error budget. |

### Dependencies

| Parameter | URL key | Default | Range | Description |
|---|---|---|---|---|
| Number of dependencies | `dependencies` | 0 | 0 to 30 | The services yours cannot work without: database, third-party API, identity provider... If one goes down, your service goes down. |
| Availability of each dependency | `dependencySla` | 99.95% | 50% to 99.9999% | The SLA of those services, or their measured availability. |

## Results with the default parameters

- Downtime per day: 1 min 26 s
- Downtime per week: 10 min 5 s
- Downtime per month: 43 min 50 s
- Downtime per quarter: 2 h 11 min 29 s
- Downtime per year: 8 h 45 min 58 s
- Budget left this month: 43 min 50 s
- End-to-end availability: 99.9%

## How the math works

Allowed downtime is the share of time the SLA leaves out: (100% − SLA) × the length of the period. At 99.9%, that is 0.1% of the time.

Periods are averages: 24 hours for a day, 7 days for a week, 30.44 days for a month, 91.31 days for a quarter and 365.25 days for a year, to account for leap years. Most calculators and contracts do the same.

## The error budget

Allowed downtime can be seen as a budget: every outage spends part of it. Enter the downtime already seen this month to see what is left.

While there is budget left, a team can take risks: ship more often, migrate, experiment. Once it is spent, the team slows down and works on reliability. The practice was popularized by Google's SRE teams.

## End-to-end availability

A service cannot be more available than what it depends on. When dependencies are in series, their availabilities multiply: a 99.9% service that depends on three 99.95% services is only up 99.75% of the time end to end.

To guarantee an SLA end to end, your service alone must do better than that SLA. The calculator shows what it needs, or warns you when it is impossible.

## Frequently asked questions

### How much downtime does a 99.9% SLA allow?

About 1 minute 26 seconds per day, 10 minutes per week, 43 minutes 50 seconds per month and 8 hours 46 minutes per year.

### And a 99.99% SLA?

About 8.6 seconds per day, 4 minutes 23 seconds per month and 52 minutes 36 seconds per year. Every extra nine divides the allowed downtime by ten.

### What is the difference between SLA, SLO and SLI?

The SLI is the measured indicator, for example the share of successful requests. The SLO is the internal target set on that indicator. The SLA is the contractual commitment to customers, usually looser than the SLO and backed by penalties when it is missed.

### Does planned maintenance count?

It depends on the contract: many SLAs exclude maintenance announced in advance. This calculator counts all downtime, with no exclusion.

### Why is a month 30.44 days?

It is the average month over a 365.25-day year. In a 31-day month the real budget is slightly larger. In February it is slightly smaller.

### Are my numbers sent anywhere?

No. The math runs in your browser. Nothing is sent until you click Save or Share.

## Open it with your own numbers

Every parameter can be passed in the query string, using the keys above. For example:

https://simulkit.com/en/sla-calculator?sla=99.99&dependencies=3
