How to Calculate Uptime Percentage (With Examples)

Step-by-step guide to calculating uptime percentage from downtime data. Formulas, examples, and common mistakes to avoid.

· Project Helena · 4 min read ·
uptime monitoring SLA calculations

Whether you’re reporting SLA compliance, evaluating your monitoring data, or calculating availability for a contract, here’s exactly how to calculate uptime percentage.

The Basic Formula

Uptime % = ((Total time - Downtime) / Total time) x 100

That’s it. The challenge is getting the inputs right.

Step-by-Step Examples

Example 1: Monthly SLA Report

Your service had 3 incidents in March:

  • Incident 1: 15 minutes (database connection pool exhaustion)
  • Incident 2: 8 minutes (bad deployment, rolled back)
  • Incident 3: 22 minutes (DNS provider outage)

Total downtime: 45 minutes Total time in March: 31 days x 24 hours x 60 minutes = 44,640 minutes

Uptime = ((44,640 - 45) / 44,640) x 100 = 99.899%

This rounds to 99.9% — just barely meeting a three-nines SLA.

Example 2: Weekly Report

Your monitoring recorded 12 failed checks this week at 1-minute intervals:

  • 7 consecutive failures on Tuesday (7 minutes downtime)
  • 5 consecutive failures on Thursday (5 minutes downtime)

Total downtime: 12 minutes Total time in a week: 7 x 24 x 60 = 10,080 minutes

Uptime = ((10,080 - 12) / 10,080) x 100 = 99.881%

Example 3: From Monitoring Data

Your monitoring tool ran 43,200 checks this month (1-minute intervals for 30 days). Of those, 43,157 succeeded and 43 failed.

Uptime = (43,157 / 43,200) x 100 = 99.900%

This is the simplest calculation when you have monitoring data: successful checks divided by total checks.

The Reverse: Downtime from Uptime Percentage

If someone tells you “we had 99.95% uptime last month,” how much downtime is that?

Downtime = (1 - Uptime/100) x Total time

For 99.95% over 30 days:

Downtime = (1 - 0.9995) x 43,200 = 21.6 minutes

Use the uptime calculator to convert between any uptime percentage and downtime duration instantly.

Common Calculation Mistakes

1. Wrong Time Base

A “month” varies: 28 days (February), 30 days, or 31 days. Use the actual number of minutes in the specific month, not a generic 30-day estimate. For SLA reporting, define in the agreement whether you use calendar months or rolling 30-day windows.

2. Ignoring Partial Outages

If your service responds to 80% of requests successfully for 30 minutes, that’s not 30 minutes of downtime. It’s 6 minutes of equivalent downtime (20% failure x 30 minutes).

For request-based SLIs:

Equivalent downtime = Failure rate x Duration

3. Excluding Scheduled Maintenance Incorrectly

Most SLAs exclude scheduled maintenance. But you need to define “scheduled” clearly:

  • Announced 24h+ in advance? 48h? 1 week?
  • What qualifies as “maintenance” vs “fixing something that broke”?
  • Is there a cap on maintenance windows per month?

4. Rounding Too Early

99.896% is not 99.9%. Don’t round until the final report. Small rounding differences compound when tracking trends or when you’re near an SLA threshold.

5. Mixing Measurement Methods

If you calculate uptime from monitoring data (check-based) for some months and from log data (request-based) for others, the numbers aren’t directly comparable. Pick one method and use it consistently.

Uptime by Period

Here’s a reference table for common SLA levels:

SLADowntime/DayDowntime/WeekDowntime/MonthDowntime/Year
99%14.4 min1.68 hr7.31 hr3.65 days
99.5%7.2 min50.4 min3.65 hr1.83 days
99.9%1.44 min10.1 min43.8 min8.76 hr
99.95%43.2 sec5.04 min21.9 min4.38 hr
99.99%8.64 sec1.01 min4.38 min52.6 min

Tracking Uptime Over Time

One month’s number isn’t very useful. Track trends:

  • Monthly trend — Is availability improving or degrading?
  • Rolling average — 3-month rolling average smooths out anomalies
  • By component — API might be 99.99% while the dashboard is 99.8%
  • Error budget consumption — How fast are you burning your budget?

The trend is more important than the absolute number. A team improving from 99.8% to 99.9% over 6 months is in better shape than one fluctuating around 99.95%.


Related tools:

Stay in the loop

Get notified about new posts, product updates, and engineering insights.

Join the waitlist →