MTBF Calculator
Calculate mean time between failures from total uptime and failure count, plus an annualized failure rate.
Inputs
Total time the system was operational during the measurement period (e.g. 4380h ≈ half a year).
Count of distinct failure events during that period.
MTBF
730.0hours
MTBF
30.42days
Expected Failures per Year
12.00failures/year
Annualized Failure Probability
100.00%
Step by step
MTBF: total uptime ÷ number of failures
4380h ÷ 6
= 730.0h (30.42 days)
Expected failures per year
8760h ÷ 730.0h
= 12.00 failures/year
Annualized failure probability
1 − e^(−8760/730.0)
= 100.00%
How it works
MTBF = total_uptime ÷ number_of_failures — the average time the system runs between failure events during the observed period. Annualizing it (8760 hours ÷ MTBF) projects expected failures per year at the same failure rate, and applying the exponential reliability model (assuming failures follow a Poisson process) gives the probability of experiencing at least one failure within a year, which is a more intuitive number for risk conversations than raw MTBF hours.
Formula
MTBF_hours = total_operational_hours / number_of_failures
- total_operational_hours
- Total hours the system was operational in the period
- number_of_failures
- Number of failures/incidents in the period
Frequently Asked Questions
How is MTBF different from MTTR?
MTBF measures how often failures happen (time between them), while MTTR measures how long it takes to recover once a failure occurs — a system can have excellent MTTR (fast recovery) but poor MTBF (frequent failures), or vice versa, and both matter for overall availability.
Does higher MTBF always mean higher availability?
Not necessarily on its own — availability depends on both MTBF and MTTR: availability ≈ MTBF / (MTBF + MTTR), so a system with high MTBF but very slow recovery can still have worse availability than one with more frequent but much faster-to-fix failures.
Why use an exponential model for annualized failure probability?
It's the standard assumption in reliability engineering when failures are memoryless and roughly independent (a Poisson process) — it's an approximation, and real systems can deviate (e.g. wear-out failures cluster over time), but it's a reasonable default absent more specific failure-distribution data.
What's a good MTBF for a production service?
There's no universal target — it depends entirely on your availability SLO. Back-calculate the MTBF needed to hit your SLO given your typical MTTR, rather than chasing an arbitrary MTBF number in isolation.