SLO Error Budget and Burn Rate Calculator

An SLO is a promise expressed as a percentage; an error budget is the same promise expressed as a quantity of failure you are allowed to spend. This calculator converts a service level objective into a concrete allowance — how many failed requests and how many bad minutes you may accumulate in the compliance window — then reports how much of it you have already consumed, how fast you are consuming it, and how long the remainder lasts at the current error rate. It also derives the multi-window burn-rate thresholds used to page on budget consumption rather than on raw error rate.

Calculator

This calculator runs in your browser. Enable JavaScript for live results — the inputs, formula and worked example below remain fully readable without it.

Inputs this calculator takes, with typical values
InputWhat to enterExample
SLO targetThe success ratio you have committed to for this service, such as 99.9 for three nines.99.9 %
Compliance windowThe rolling period the budget covers. A 28-day window contains whole weeks, so weekday and weekend traffic are always weighted equally.28 days (4 weeks)
Total requests in the windowCount of all valid events the SLI evaluates over the window, successful and failed together.100 req
Failed events observed so farEvents that violated the SLI in this window — errors, or requests slower than your latency threshold.62 events
Current error rateThe failure ratio right now, measured over a short recent window such as the last hour. It drives the burn rate and the exhaustion forecast.0.15 %

It returns

  • Error budget consumed — Failed events observed as a share of the total budget for the window.
  • Total error budget — The number of failures the SLO permits across the whole window.
  • Budget remaining
  • Equivalent bad minutes — The same budget expressed as time, for a service measured on uptime rather than on request success.
  • Current burn rate — Current error rate divided by the rate that would exactly exhaust the budget over the window. A value of 1 spends the budget precisely as the window elapses.
  • Time until the budget is gone — Remaining budget divided by the current rate of failure. Shown as a dash when nothing is currently burning.

The formula

B=(1S)N
b=e1S
balert=fWWalert

In plain text: Budget = (1 − SLO) × N Burn rate = observed error rate / (1 − SLO)

  • BError budget for the window (events)
  • SSLO target as a decimal, e.g. 0.999 (decimal)
  • NTotal valid events in the window (events)
  • eObserved error rate over a recent short window (decimal)
  • bBurn rate — multiples of the sustainable failure rate (×)
  • WLength of the compliance window (hours)

Burn rate is dimensionless: it compares the rate at which you are spending budget with the rate that would exactly exhaust it as the window elapses. A burn rate of 1 is break-even by construction.

Updated Category Reliability, Uptime & SLA Verified against published test cases Reading time 12 min

What an error budget is and why it exists

An error budget is the failure a service level objective explicitly permits. If you commit to 99.9% success, you have committed to a 0.1% failure allowance, and over a window with 100 million requests that allowance is 100,000 failed requests. Those failures are not a mistake to be eliminated; they are a resource to be spent.

That reframing is the entire point. Without it, reliability arguments have no arithmetic: the product team wants to ship, the operations team wants to freeze, and both positions are unfalsifiable. With a budget, the question becomes accounting. If 38% of the budget is left with two weeks of the window to run, there is room for a risky migration. If the budget is overspent, the policy — agreed in advance, not negotiated during the incident — says what stops.

Two SLI shapes are in common use and this calculator handles both. A ratio SLI counts good events against valid events: successful requests, requests served under a latency threshold, records processed without corruption. A time-based SLI counts good minutes against total minutes, which is what a traditional uptime SLA measures and what the uptime and SLA downtime calculator converts into hours per year. The budget in minutes reported here is the same quantity applied to the compliance window rather than to a calendar year.

The model comes from Google's site reliability engineering practice, where the error budget and the burn-rate alerting built on top of it were first written down. The specific alert thresholds this calculator derives — spend 2% of the budget in an hour, 5% in six hours, 10% in a day — are the ones set out in the SRE Workbook chapter on alerting.

The three quantities, and why burn rate is dimensionless

The budget is the easy part: multiply the allowed failure ratio by the number of valid events. Get the denominator right and everything else follows. “Valid events” excludes things you have agreed not to count — health checks, traffic from your own load tests, requests rejected for malformed input where rejection is correct behaviour. Every event you exclude shrinks both the denominator and, proportionally, the budget, so exclusions must be defined before the window starts rather than discovered during a bad week.

Consumption is failures observed divided by the budget. Above 100% you have breached, and the size of the overspend matters for the post-mortem even though the SLO is already missed.

Burn rate is where the design becomes elegant. Divide the error rate you are seeing right now by the error rate you could sustain forever — which is exactly the allowed failure ratio. The units cancel, so a burn rate of 1 means you are spending budget at precisely the speed the window replenishes it, whatever the SLO and whatever the traffic. A burn rate of 10 means you would consume a full window's budget in a tenth of a window. This is why burn rate, not error rate, is the right thing to alert on: a 0.5% error rate is catastrophic against a 99.99% SLO and unremarkable against a 99%.

The alert thresholds fall out of the same algebra. To detect the spend of a fraction f of the budget within an alert window of Walert hours, the burn rate must be f × W ÷ Walert, where W is the compliance window in hours. For a 30-day window that gives 0.02 × 720 ÷ 1 = 14.4 for the fast page and 0.05 × 720 ÷ 6 = 6 for the slower one — the published figures. A 28-day window scales them by 28/30, which is why the table above shows 13.44 and 5.6 at the default settings.

Pair each threshold with a short second window before you page. A 14.4× burn over one hour that has already stopped is not worth a page at 03:00; requiring the burn to still be elevated over the last five minutes resets the alert quickly once the incident ends.

Worked example: a 99.9% API over 30 days

An API serves 1,000,000 requests in a 30-day window and commits to 99.9% success. Halfway through the window, monitoring shows 500 failed requests and a current error rate of 0.1%.

  1. Allowed failure ratio. 1 − 0.999 = 0.001.
  2. Error budget. 0.001 × 1,000,000 = 1,000 failed requests for the window.
  3. Budget consumed. 500 ÷ 1,000 = 50%. Half the budget, half the window — exactly on plan.
  4. Budget remaining. 1,000 − 500 = 500 failures.
  5. Equivalent bad minutes. 30 days is 43,200 minutes, so 0.001 × 43,200 = 43.2 minutes of complete unavailability.
  6. Burn rate. 0.001 ÷ 0.001 = 1.0×. Break-even.
  7. Request rate. 1,000,000 ÷ (30 × 86,400) = 0.3858 requests per second.
  8. Failures per second. 0.3858 × 0.001 = 0.0003858.
  9. Time to exhaustion. 500 ÷ (0.0003858 × 3,600) = 360 hours, which is 15 days — precisely the half-window that remains. A burn rate of 1 always produces that answer when consumption and elapsed time agree.

Now change one number. If the error rate jumps to 1.0%, the burn rate becomes 0.01 ÷ 0.001 = 10×, failures arrive at 0.003858 per second, and the remaining 500 failures are gone in 500 ÷ (0.003858 × 3,600) = 36 hours. Ten times the burn, one tenth the time — the relationship is exactly reciprocal because the remaining budget has not changed.

How to read burn rate and budget consumption

Read consumption against elapsed time, not in isolation. Sixty per cent of the budget spent is comfortable on day 25 of a 28-day window and alarming on day 3. The single most useful dashboard panel is not the consumption figure but the projection: budget remaining plotted forward at the current rate, which is what the chart above draws.

Read burn rate against 1. Below 1, a full window at the current error rate finishes inside the SLO. Above 1, it does not. That statement is true by construction and needs no judgement, which is why burn rate is the safest number to put in an alert rule. What it does not tell you is whether you can afford the burn: a 3× burn with 90% of the budget left is survivable for days, while the same 3× burn with 5% left has hours in it. Alert on burn rate, decide on remaining budget.

Choosing the SLO target itself is a business decision, not an engineering one. Each additional nine costs roughly an order of magnitude more to deliver and removes an order of magnitude of budget, and past some point users cannot perceive the difference because their own network is less reliable than your service. Set the target just above the level at which users start complaining, and revisit it when the complaint pattern changes. If you are trying to justify the spend a higher target implies, put a number on the loss it avoids with the IT downtime cost calculator.

Where the service is composed of several dependencies, the achievable target is bounded by their product. Four dependencies at 99.99% each cannot support a 99.99% service, because the chain multiplies to 99.96%. Work that out before committing with the series and redundancy availability calculator.

Error budget by SLO target

Allowed failure for each target, as a share of requests and as bad minutes. Minutes are the allowed ratio multiplied by 40,320 minutes (28 days) or 43,200 minutes (30 days).
SLOAllowed failure ratioFailures per million requestsBad minutes / 28 daysBad minutes / 30 days
99%0.0110,000403.20432.00
99.5%0.0055,000201.60216.00
99.9%0.0011,00040.3243.20
99.95%0.000550020.1621.60
99.99%0.00011004.034.32
99.999%0.00001100.400.43

The bad-minutes column assumes the service is completely unavailable during those minutes. Partial degradation spends the budget more slowly, in proportion to the share of requests actually failing.

Pitfalls that make an error budget lie to you

  • Counting the wrong denominator. Health checks and synthetic probes inflate the event count and therefore the budget. Define valid events before the window opens.
  • Averaging over a window that hides the incident. A three-hour total outage inside a 30-day window is only 0.4% of the time; a 99.5% SLO survives it on paper while every user noticed. Multi-window burn-rate alerting exists precisely to catch this.
  • Measuring at the load balancer. Requests that never reached your infrastructure — DNS failures, edge outages, client-side errors — do not appear in server-side counts, so the SLI overstates success. Client-side or probe-based measurement catches them.
  • Using a calendar month as the window. Months differ in length and in how many weekends they contain, so the budget changes size between windows. A 28-day rolling window always holds four of each weekday.
  • Treating a leftover budget as an obligation to spend. Deliberately degrading a service to use up budget is a misreading. An unspent budget is permission to take risk, not a requirement to.
  • Setting a target you cannot measure to. A 99.999% SLO on a service handling 10,000 requests a month allows 0.1 failures. A single error breaches it, and the measurement is noise. Ratio SLOs need volume.
  • Forgetting that burn rate depends on the current rate only. The exhaustion forecast assumes the present error rate continues unchanged. It is a projection under a fixed assumption, not a prediction.

Write the error budget policy before you need it

The calculator produces numbers; a policy turns them into decisions. Agree in advance, in writing and with the product owner's signature, what happens at each threshold. A common shape: below 50% consumed, ship freely; above 75%, require a reliability review for changes to the affected service; above 100%, freeze feature releases and direct engineering effort at reliability until the window rolls forward. Also decide who can grant an exception and on what grounds — usually a security fix or a regulatory deadline.

The value of writing it down early is that nobody is arguing about the rule and the incident at the same time. A policy negotiated at 100% consumption is not a policy.

Error budgets, SLAs and the rest of the reliability stack

Keep three terms distinct. An SLI is the measurement — the ratio you actually compute from telemetry. An SLO is your internal target for that measurement, and it is where the error budget comes from. An SLA is a contract with a customer, carrying financial consequences. Set the SLO tighter than the SLA, always: the gap is the margin in which you can detect and fix a problem before it costs money. A service selling a 99.9% SLA is commonly run to a 99.95% SLO for exactly this reason.

Error budgets complement rather than replace component reliability analysis. Mean time between failures and mean time to repair describe the physical behaviour of a system and are the natural inputs to an availability model; the budget describes what the business has agreed to tolerate. You need both, because a design can meet its availability target and still exhaust its budget through a small number of long incidents, or miss it while staying inside budget through many short ones.

For data services, availability is only half the obligation. The other half is how much data an incident may destroy, which is the recovery point objective — quantified with the RPO and RTO data-loss calculator. A replication design can hit its uptime SLO comfortably and still lose an unacceptable window of writes, and no amount of error budget covers that.

Frequently asked questions

What does a burn rate of 14.4 actually mean?

It means you are consuming error budget 14.4 times faster than the rate that would exactly exhaust it over the compliance window. That specific figure is the threshold that detects the spend of 2% of a 30-day budget within one hour, because 0.02 × 720 hours ÷ 1 hour = 14.4. If the compliance window is 28 days the equivalent threshold is 13.44. It is the fast page in a multi-window alerting scheme: severe enough to wake someone, short enough to catch a sharp outage early.

How many failed requests does a 99.95% SLO allow?

Five hundred per million requests. The allowed failure ratio is 1 − 0.9995 = 0.0005, so multiply that by your request count for the window. On a service handling 200 million requests in 28 days the budget is 100,000 failures. Expressed as time, 0.0005 of 28 days is 20.16 minutes of complete unavailability, or proportionally more time at partial failure.

Should my compliance window be 28 or 30 days?

Use 28 days unless a contract forces otherwise. Twenty-eight days is four whole weeks, so every window contains exactly four Mondays and four Saturdays and the traffic mix is stable between windows. A 30-day or calendar-month window contains a varying number of weekends, which makes the budget quietly change size and makes month-to-month comparisons unsound. Quarterly windows are used for contractual SLAs but are too slow for engineering decisions.

What happens when the error budget runs out?

Whatever your error budget policy says, which is why the policy has to exist before the budget is exhausted. The standard response is to stop shipping feature changes to the affected service and redirect engineering effort to reliability work until the rolling window recovers enough budget. Nothing automatic happens — the budget is a decision-making device, not a control loop. Exceptions are usually reserved for security patches and regulatory deadlines.

Can the burn rate be less than 1 while the budget is still overspent?

Yes, and it is a common and reassuring state. Burn rate looks only at the error rate right now, while consumption looks at the whole window to date. After a large incident, consumption can sit above 100% while the burn rate has fallen back to 0.1 because service is healthy again. The budget then recovers as the incident ages out of the rolling window. Read the two numbers together: burn rate tells you about the present, consumption about the window.

Does a slow request count against the error budget?

Only if your SLI says it does. A latency SLI defines a threshold — for example, requests must complete within 300 ms — and every request slower than that counts as a bad event exactly like an error. Most mature services run separate availability and latency SLOs with separate budgets, because a service can be perfectly available and unusably slow. Enter one SLI at a time here.

How do I set an error budget for a service with very little traffic?

Use a time-based SLI instead of a ratio. On a service taking a few hundred requests a day, one failed request can move the measured ratio by a full percentage point, so the SLO becomes a coin toss rather than a measurement. Measuring good minutes against total minutes, with a minute counted bad when a synthetic probe fails, gives a denominator that does not depend on customer traffic. The bad-minutes figure this calculator reports is the budget in that form.

Why is the time to exhaustion shown as a dash?

Because nothing is currently burning. If the current error rate is zero, or the budget is already fully consumed, there is no positive rate to divide the remaining budget by and the answer is undefined rather than infinite. Enter a non-zero current error rate to see the projection.

Is an error budget the same as an SLA credit?

No. An error budget is internal and has no money attached; it governs how your own team allocates risk. An SLA credit is a contractual refund you owe a customer when availability falls below the committed level. The two are usually set at different levels on purpose, with the internal SLO tighter than the contractual SLA so that budget exhaustion warns you before a breach becomes billable.

References