MTBF (Mean Time Between Failures) is the average amount of operating time a repairable system runs between one failure and the next. It is calculated as total uptime divided by the number of failures and, together with MTTR, determines availability. A higher MTBF means failures happen less often.
What is MTBF (Mean Time Between Failures)?
MTBF (Mean Time Between Failures) is the average time a repairable system operates correctly between two failures. The concept comes from reliability engineering for hardware such as disks, power supplies and network equipment, where vendors publish MTBF figures for components. In software operations it is used to describe how often a service, cluster or dependency fails, as opposed to how quickly it recovers.
MTBF answers the question "how often?", while MTTR answers "how long?". Both are needed: a service that fails rarely but stays down for a day can be worse for users than one that fails weekly and recovers in seconds.
How to calculate MTBF
MTBF is the total operating time in a period divided by the number of failures in that period. Downtime is not counted as operating time.
MTBF = total_uptime / number_of_failures
An illustrative example: a service is observed for 30 days (720 hours). It fails three times, and the outages last 1, 2 and 3 hours. Operating time is 720 - 6 = 714 hours, so the MTBF is 714 / 3 = 238 hours. The MTTR for the same period is 6 / 3 = 2 hours.
From these two values you can derive steady-state availability:
Availability = MTBF / (MTBF + MTTR)
= 238 / (238 + 2) = 0.9917 (about 99.17 %)
The formula shows the two levers for better uptime: fail less often (raise MTBF) or recover faster (lower MTTR).
In practice, the inputs come from your incident records rather than from raw metrics. Each incident needs a reliable start and end time and a clear link to the affected service. If incidents are tracked inconsistently, for example only the severe ones get a ticket, MTBF will look better than reality. Agree on a minimum severity that counts as a failure and apply it to every service you compare.
MTBF vs MTTF vs MTTR
| Metric | Meaning | Used for |
|---|---|---|
| MTBF | Mean operating time between failures | Repairable systems: services, servers, clusters |
| MTTF (Mean Time to Failure) | Mean time until a failure that ends the item's life | Non-repairable parts, for example a single SSD or fan |
| MTTR | Mean time to repair, restore or resolve | Recovery speed after a failure |
| MTTD | Mean time until a failure is detected | Quality of monitoring and alerting |
Some definitions measure MTBF from the start of one failure to the start of the next, which includes the repair time. Whichever variant you use, document it, because the numbers are not comparable otherwise.
How to interpret MTBF correctly
MTBF is an average, not a guarantee. A component with an MTBF of 100,000 hours will not run for 11 years before failing. Under the common assumption of a constant failure rate, the probability that a single unit survives as long as its MTBF is only about 37 percent. MTBF figures are therefore most useful for fleets: in a large population, they predict how many failures to expect per period and how many spare parts or replacement nodes to plan.
In software, failures are rarely random. They cluster around deployments, configuration changes, traffic peaks and expiring certificates. An MTBF that improves or degrades after a process change is a meaningful signal. A single MTBF number compared across unrelated services usually is not.
How to improve MTBF
- Remove single points of failure. Redundancy and high availability designs turn many component failures into non-events for users.
- Make changes safer. Canary releases, feature flags and automated rollbacks reduce change-induced failures, which are a common cause of incidents.
- Learn from every incident. Postmortem action items that remove root causes directly raise MTBF over time.
- Test failure on purpose. Chaos engineering exposes weak spots before they cause real outages.
- Watch leading indicators. Saturation, memory growth and certificate expiry predict failures before they occur.
Common mistakes
- Not defining what counts as a failure. A full outage, a degraded endpoint and a failed batch job need a clear, shared definition.
- Counting minor blips and major outages equally, which hides whether serious incidents are becoming rarer.
- Calculating MTBF from very few incidents and treating the result as precise.
- Optimizing MTBF alone and neglecting recovery. For most online services, fast recovery is at least as valuable as rare failure.
How Obseria helps
Obseria records incidents with start, detection and resolution timestamps per service, so MTBF, MTTD and MTTR can be derived from the same data. Deployment markers and Obseria Intelligence show which changes and dependencies are linked to failures, which helps you target the improvements that raise MTBF. See incident management for details.