Back to blog
GuidesApril 20, 2026· 6 min read· By Marcus Webb

How to Calculate Uptime Percentage: Formulas, Examples, and Common Pitfalls

A step-by-step guide to calculating uptime percentage correctly, with worked examples, the difference between raw and SLA-adjusted uptime, and the pitfalls that quietly inflate the numbers vendors publish.

The Basic Uptime Formula

Uptime percentage is the fraction of total time a system was available, expressed as a percentage. The standard formula is: Uptime % = (Total Time − Downtime) / Total Time × 100. For a 30-day month (43,200 minutes) with 22 minutes of downtime, uptime is (43,200 − 22) / 43,200 × 100 = 99.949%.

The formula is simple; the complexity is entirely in what counts as 'downtime' and what counts as 'total time'. These two definitions drive most of the gap between vendor-published uptime and the uptime your customers actually experience.

Uptime Allowances by Nines

Every additional '9' in an uptime target reduces permitted downtime by an order of magnitude. Per 30-day month: 99% uptime allows 7 hours 12 minutes of downtime. 99.5% allows 3 hours 36 minutes. 99.9% (three nines) allows 43 minutes 12 seconds. 99.95% allows 21 minutes 36 seconds. 99.99% (four nines) allows 4 minutes 19 seconds. 99.999% (five nines) allows just 25.9 seconds per month.

These numbers are worth memorizing because they immediately contextualize how aggressive a given SLA really is. A '99.9% SLA' sounds strong until you notice it permits nearly 9 hours of downtime per year, enough for a single bad incident to consume the entire year's allowance.

SLAs above 99.99% are almost always marketing-grade rather than engineering-grade. Running reliably at four nines requires multi-region redundancy, automated failover, tested chaos drills, and a substantial SRE investment. Vendors who advertise five-nines without this infrastructure are usually measuring uptime against a definition that excludes most real-world failure modes.

Worked Examples

Example 1: Simple monthly calculation. Your service was down for 18 minutes during a 30-day month. Uptime = (43,200 − 18) / 43,200 × 100 = 99.958%. This beats a 99.9% SLA easily.

Example 2: Weighted-interval uptime. Your service had three incidents: 5 minutes at full outage (weight 1.0), 12 minutes of partial degradation affecting 40% of requests (weight 0.4), and 3 minutes of degraded performance with no errors (weight 0.1, policy-dependent). Weighted downtime = 5 × 1.0 + 12 × 0.4 + 3 × 0.1 = 10.1 minutes. Uptime = (43,200 − 10.1) / 43,200 × 100 = 99.977%. This approach, used by PulsAPI, reflects customer experience more accurately than binary up/down counting.

Example 3: Rolling-window uptime. You want uptime over a rolling 90-day window. Total time = 129,600 minutes. Total downtime across the window = 84 minutes. Uptime = (129,600 − 84) / 129,600 × 100 = 99.935%. Rolling windows smooth out month-to-month variance and are what most SRE teams actually track internally.

The Pitfalls That Inflate Vendor-Reported Uptime

Vendors frequently publish uptime numbers that exceed what their customers observed. The gap comes from three main pitfalls. First, exclusion of scheduled maintenance, a window of planned downtime is often subtracted from 'total time' rather than counted as downtime, even though your customers experienced unavailability.

Second, incident-level thresholds. Many vendor SLAs define an 'incident' as requiring a minimum duration (e.g., 5+ minutes) and a minimum impact threshold (e.g., 25%+ of requests affected). A recurring 4-minute outage hitting 20% of traffic is invisible under this definition, even though customers feel it.

Third, regional scoping. A vendor with global infrastructure may publish a single global uptime number that averages across regions, hiding regional incidents that affected a large fraction of customers in a specific geography. Always ask for regional breakdowns.

The practical fix is to measure uptime yourself against the vendor's endpoints using synthetic probes. PulsAPI runs probes from multiple regions, applies weighted-interval uptime calculation, and surfaces the gap between vendor-published and real-observed uptime. For vendor contracts above $25K/year, this measurement is what you want in hand before renewal negotiations.

About the Author

M
Marcus WebbHead of Product

Marcus leads product at PulsAPI. He previously worked at Datadog and PagerDuty.

Start monitoring your stack

Aggregate real-time operational data from every service your stack depends on into a single dashboard. Free for up to 5 services.

Create Free Dashboard
How to Calculate Uptime Percentage: Formulas and Examples