Skip to content

SLA uptime calculator: allowed downtime, error budget and downtime cost

Turn an SLA target into allowed minutes of downtime, check whether your dependency chain can meet it, and price the downtime and the credits.

Runs in your browser. Your inputs are not uploaded.Open formula
How to verify this

Open your browser's network tab and change an input: nothing is sent. The page computes with the formulas and the dated price table below. The same engine answers the API and the MCP tool, so you can reproduce any scenario from code.

Jump to results

Your inputs

Target
Share of the window your service must be up.
Days are fixed at 30, 90 and 365.
Your service
Availability of your own code and infrastructure, before any dependency.
Dependencies
Published SLA of each service you rely on. Leave a slot empty to skip it. Redundant copies in the same group run in parallel.
Cost of downtime
Share of hourly revenue lost while the service is fully down.
SLA credits
The credit base: one twelfth of this is the monthly fee.
The credit is that of the lowest threshold the actual uptime falls below. Set a credit to 0 to ignore a tier.
Measured uptime
Optional. Fills the error budget and the SLA credit.
Team
Used for analytics and the next-step suggestion only; it never changes the numbers.

99.9% allows 43.2 minutes of downtime per month. Your dependency chain delivers 99.95%.

Allowed downtime per month
43.2 min
99.9% SLA target
Your chain delivers
99.95%
21.6 min per month
Target reachable
Yes
21.6 min per month to spare
Error budget used
n/a
Enter measured uptime

Allowed downtime by SLA tier (minutes)

Minutes of downtime each tier allows. 30-day month, 90-day quarter, 365-day year.
SLAPer monthPer quarterPer year
99.5%2166482,628
99.9%43.2129.6525.6
99.95%21.664.8262.8
99.99%4.3212.9652.56
99.999%0.431.35.26

Dependency chain

  1. Your service
    99.95%
  2. Whole system
    99.95%
    Meets target

Boxes in a row multiply. A dashed box is a redundant group: it is down only when every copy in it is down at once.

Your dependencies together deliver 100% and may fall as low as 99.95% before the 99.9% target is lost.

Cost of downtime and SLA credits

Downtime cost per hour
$3,070
$1,370 revenue + $1,700 staff time
Cost of the allowed downtime per year
$26,892
8.76 hours at that rate
SLA credit at measured uptime
n/a
Enter measured uptime to see it
Credit schedule: the credit is that of the lowest threshold the uptime falls below
If uptime falls belowCredit, share of monthly feeCredit per customer
95%50%$5,000
99%25%$2,500
99.9%10%$1,000

Allowed downtime per month by SLA target (log scale)

0.0010.010.11101001,00010,00090%99%99.9%99.99%99.999%99.9999%99.99999%SLA target (each step to the right adds one nine)Allowed downtime (minutes per month, log scale)90%: 4,320 minutes per month99%: 432 minutes per month99.5%: 216 minutes per month99.9%: 43.2 minutes per month99.95%: 21.6 minutes per month99.99%: 4.32 minutes per month99.999%: 0.43 minutes per month99.9999%: 0.043 minutes per month99.99999%: 0.0043 minutes per monthYour chain: 21.6 min a month (99.95%)Your target 99.9%: 43.2 min

How it is calculated

Allowed downtime

D = (1 − A) × P
P = days × 1,440 minutes, with 30 days a month, 90 a quarter and 365 a year

Composite availability of the chain

A_system = A_own × Π A_i (series) × Π_g (1 − Π_j (1 − A_j))
Series entries multiply. Each redundant group g is the chance that not all of its copies are down at once.

Can the target be reached?

met when A_system ≥ target
required dependency availability = target ÷ A_own (above 100% means no dependency chain can do it)

Cost of downtime

cost per hour = annual revenue ÷ 8,760 × revenue impact + headcount × loaded cost per hour × productivity loss
cost of the allowed downtime per year = allowed hours per year × cost per hour

Error budget

consumed = (1 − actual uptime) ÷ (1 − target)
ok below 50%, low from 50% to 100%, breached above 100%

SLA credit

credit % = that of the lowest threshold the actual uptime falls below
credit in dollars = credit % × ACV ÷ 12

Assumptions

  • A is availability as a fraction, P is the period in minutes, A_own is your own service, A_i are series dependencies and A_j are the copies inside a redundant group.
  • Failures are independent. Correlated failures (a shared region, a shared deploy, one bad config) make real availability lower than the product, especially for redundant copies.
  • A dependency's availability is its published or contracted SLA, not what you measured. A redundant entry with no partner in its group counts as one more link in the chain.
  • Planned maintenance counts as downtime here. Many contracts exclude it, so check the definition before comparing numbers.
  • Days per window are fixed at 30, 90 and 365, and a year has 8,760 hours. A calendar month of 31 days allows about 3% more downtime than the 30-day month used here.
  • Downtime cost counts lost revenue and blocked staff time only. Churn, penalties beyond the credit schedule and brand damage are not modelled.
  • The SLA credit uses one twelfth of the annual contract value as the monthly fee, and the uptime you enter is the figure the credit schedule is read against, whatever period it covers.

The data behind it

Constants used (fixed in code, covered by tests)
PeriodDaysMinutesHours
Month3043,200720
Quarter90129,6002,160
Year365525,6008,760
How the error budget is rated
Share of the budget usedStatus
Under 50%OK
50% to 100%Low
Over 100%Breached
Hidden gotchas
TopicWhat catches people out
What a month isContracts define the month as 30 days or as the calendar month. The difference is up to 3% of the downtime allowed.
Planned maintenanceIt is often excluded from the SLA, so the contractual uptime can look better than what users experienced.
Measurement methodPer-minute checks and per-request error rates give different uptime for the same incident. Read how the contract measures.
Chained dependenciesAvailabilities multiply: three 99.9% services give 99.7%, about 130 minutes a month instead of 43.
CreditsCredits are usually capped and paid as account credit, not cash, and the customer often has to claim them within a deadline.
Five nines99.999% leaves about 26 seconds of downtime a month, less than one slow failover.

Last updated 2026-11-05 (dataset none, refreshed none (math only)).

Three ways to reduce this number

  1. Remove single points of failure: put critical dependencies in redundant groups so one failure no longer takes you down.
  2. Shorten detection and recovery time. Downtime is incident count times duration, so faster alerting and rollback cut minutes directly.
  3. Choose dependencies, regions and zones whose SLA supports your target, because your service can never be more available than its chain.

Use it from code

The same engine is available as a REST endpoint and as an MCP tool named calc_sla_uptime_error_budget_calculator. Your scenario as an API call:

curl -X POST 'https://api.x12i.com/v1/calc/sla-uptime-error-budget-calculator' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "input": {
    "target_sla_pct": 99.9,
    "window": "month",
    "own_service_sla_pct": 99.95,
    "dependency_1_placement": "series",
    "dependency_2_placement": "series",
    "dependency_3_placement": "series",
    "dependency_4_placement": "series",
    "dependency_5_placement": "series",
    "dependency_6_placement": "series",
    "annual_revenue_usd": 12000000,
    "revenue_impact_pct": 100,
    "affected_headcount": 40,
    "loaded_cost_per_hour_usd": 85,
    "productivity_loss_pct": 50,
    "acv_usd": 120000,
    "credit_1_below_pct": 99.9,
    "credit_1_pct": 10,
    "credit_2_below_pct": 99,
    "credit_2_pct": 25,
    "credit_3_below_pct": 95,
    "credit_3_pct": 50,
    "sre_maturity": "none"
  },
  "options": {
    "explain": false
  }
}'

Schema: GET /v1/calc/sla-uptime-error-budget-calculator/schema

Frequently asked questions

How many minutes of downtime is 99.9%?

In a 30-day month, 99.9% allows 43.2 minutes of downtime: (1 − 0.999) × 30 × 1,440. Over a 90-day quarter that is 129.6 minutes, and over a 365-day year it is 525.6 minutes, about 8 hours 46 minutes.

What is an error budget?

The error budget is the downtime your SLA target allows in a period. A 99.95% target allows 21.6 minutes in a 30-day month. Every minute of real downtime spends part of it, and measured downtime above the budget means the SLA is breached. This calculator rates the budget ok below 50% used, low from 50% to 100%, and breached above 100%.

How do I calculate the SLA of dependent services?

Multiply the availabilities of everything that must work at the same time. Three 99.9% services in a chain give 0.999 × 0.999 × 0.999 = 99.7%. Redundant copies work the other way: two independent 99.9% copies are both down only 0.1% × 0.1% of the time, so the pair delivers 99.9999%. This calculator multiplies your own service, every series dependency and each redundant group.