Home » Calculators » Mill Operations & Industrial Engineering » Quality Systems, Traceability, Utilities & Factory Decisions » Preventive Maintenance Interval Optimizer (Weibull Age Replacement)
Jump to a calculator 618 tools

Maintenance Engineering

Preventive Maintenance Interval Optimizer (Weibull Age Replacement)

Put this calculator on your own site

Paste this where you want the calculator to appear. It works on any site — WordPress, Squarespace, Webflow, Ghost or plain HTML — and needs no JavaScript of yours. It carries a link back here, which is the only thing we ask for it.

See what it looks like

Changing at 3,000 hours instead of 1,990 costs a fleet of 24 machines ten unplanned stops a year.

Failure Behaviour The Weibull fit from your failure history

Above 1 is wear-out, 1 is random, below 1 is infant mortality

hours

The age by which 63.2 percent have failed

Cost of an Event Planned change against failure in service
cost

Done at a scheduled stop

hours

Enter 0 if the change happens inside an existing stop

cost

Include collateral damage and scrapped work in progress

hours

Detection, fetching the part and restart, not just the repair

cost/h

Lost contribution per hour the machine is down

Current Policy & Fleet What you do today, and how much of it there is
hours

Set very high to model running to failure

hours

Per machine, actual running time not calendar time

units

Components sharing this failure behaviour across the fleet

Optimal Replacement Interval

— hours

Minimises long-run cost per operating hour

Cost Rates, Life Figures & What the Change Is Worth

Cost per Hour at the Optimum
— cost/h
Cost per Hour at Your Current Interval
— cost/h
Cost per Hour Running to Failure
— cost/h
Share of Events Still Unplanned at the Optimum
— %
Mean Time to Failure
— hours
B10 Life (10 Percent Failed)
— hours
Annual Fleet Saving Against Current
— cost/yr
Unplanned Stops Avoided per Year
— stops/yr

The model assumes replacement restores the component to as-new condition and that the replacement is drawn from the same population, so a part with a different supplier or a different specification invalidates the fit rather than shifting the answer. It assumes a single dominant failure mode: where two modes compete, an early manufacturing defect and a late wear-out for instance, one Weibull fit averages them into a shape that describes neither, and the fit should be split by mode before any interval is taken from it. Failure is treated as detected immediately on occurrence, which is reasonable for a stopping failure and wrong for a hidden one - hidden failures need a failure-finding task and a different calculation entirely. Downtime is priced at a constant rate, so it does not capture a stop that cascades into other machines or one that lands during a bottleneck shift. The integration and search are numerical and converge tightly for beta between 0.5 and 10; results outside that range should be treated with suspicion, as should any answer taken from fewer than eight or ten recorded failure ages, because the confidence interval on beta from a small sample is wide enough to move the optimum substantially. Finally, the annual saving assumes the whole fleet shares one failure distribution and one duty, and comparing it against the cost of actually changing the policy - retraining, spares holding, revised schedules - is a separate decision this tool does not make.

Using this calculator

About the Preventive Maintenance Interval Optimizer (Weibull Age Replacement)

The formula

This is the expression the tool evaluates. Every term is named underneath, with the unit it must be supplied in.

Long-run cost per operating hour
C(T) = [ Cp x R(T) + Cf x ( 1 - R(T) ) ] / integral from 0 to T of R(t) dt where R(t) = exp( -(t/eta)^beta )

The numerator is the expected cost of one cycle: a planned change if the part survives to age T, a failure if it does not. The denominator is the expected length of that cycle, which is the area under the survivor curve and is always shorter than T. Dividing by it is the whole model - it is what stops the answer from being replace constantly.

What an event actually costs
Cp = plannedCost + downtimeRate x plannedDowntime Cf = failureCost + downtimeRate x failureDowntime

Downtime is priced separately from parts and labour because it usually dominates and because the two events stop the machine for very different lengths of time. In the worked figures parts and labour differ by 5.3 times, but once downtime is priced the gap is what drives the interval.

When age replacement is worth doing at all
a finite optimum exists only when beta > 1 and Cf > Cp

If the hazard rate is not increasing, an old part is no more likely to fail than a new one, so replacing it buys nothing - the cost curve falls monotonically and the model returns the search horizon as its way of saying run to failure. The same applies if a failure costs no more than a planned change.

Life figures for reference
MTTF = eta x gamma( 1 + 1/beta ) B10 = eta x ( -ln 0.9 )^(1/beta)

Mean time to failure and B10 are reported because they are what supplier datasheets quote, and both are routinely mistaken for replacement intervals. Neither is: they describe the failure distribution, not the economics of pre-empting it.

Symbols used above
SymbolStands forUnit
betaWeibull shape parameter, the slope of the hazard—
etaWeibull characteristic life, the 63.2 percent failure agehours
R(t)Reliability, the probability of surviving to age t—
Cp, CfTotal cost of a planned change and of a failure, downtime includedcost
B10Age by which 10 percent of the population has failedhours

How the result is derived

Step by step, from the values you type to the figure on screen.

  1. The 10 inputs are read from the form on every keystroke: Weibull Shape (beta), Characteristic Life (eta), Planned Replacement, Parts & Labour, Planned Downtime, Failure Replacement, Parts & Labour, Failure Downtime, Cost of Downtime, Current Replacement Interval, Operating Hours per Year and Identical Units in Service.
  2. Each value is checked against the accepted range in the input table below. A value outside its range stops the calculation rather than producing a misleading figure — the results blank out and a message appears.
  3. The validated values are substituted into the expression above, which resolves Optimal Replacement Interval together with every supporting figure in one pass — no value is carried over from a previous entry.
  4. The supporting outputs — Cost per Hour at the Optimum, Cost per Hour at Your Current Interval, Cost per Hour Running to Failure, Share of Events Still Unplanned at the Optimum, Mean Time to Failure, B10 Life (10 Percent Failed), Annual Fleet Saving Against Current and Unplanned Stops Avoided per Year — come from the same pass, so they always describe the same case as the headline figure.
  5. Results are rounded for display only. The full-precision value is used throughout the chain, so reading a rounded intermediate figure back into the tool by hand can shift the last digit.

What each input means

Where to read each value on the floor, the unit it must be in, and the range the tool accepts.

InputUnitAccepted rangeDefaultWhat it means
Weibull Shape (beta)—0.5 to 102.4Above 1 is wear-out, 1 is random, below 1 is infant mortality
Characteristic Life (eta)hours1 to 200000 hours4200The age by which 63.2 percent have failed
Planned Replacement, Parts & Labourcost0 to 1000000 cost180Done at a scheduled stop
Planned Downtimehours0 to 500 hours0.75Enter 0 if the change happens inside an existing stop
Failure Replacement, Parts & Labourcost0 to 1000000 cost950Include collateral damage and scrapped work in progress
Failure Downtimehours0 to 500 hours4.5Detection, fetching the part and restart, not just the repair
Cost of Downtimecost/h0 to 100000 cost/h45Lost contribution per hour the machine is down
Current Replacement Intervalhours1 to 200000 hours3000Set very high to model running to failure
Operating Hours per Yearhours1 to 8760 hours7500Per machine, actual running time not calendar time
Identical Units in Serviceunits1 to 100000 units24Components sharing this failure behaviour across the fleet

What the tool returns

The headline figure and every supporting value it is built from.

OutputUnitWhat it tells you
Optimal Replacement Interval (headline result)hoursMinimises long-run cost per operating hour
Cost per Hour at the Optimumcost/h
Cost per Hour at Your Current Intervalcost/h
Cost per Hour Running to Failurecost/h
Share of Events Still Unplanned at the Optimum%
Mean Time to Failurehours
B10 Life (10 Percent Failed)hours
Annual Fleet Saving Against Currentcost/yr
Unplanned Stops Avoided per Yearstops/yr

Worked example

Given

0
Weibull shape 2.4, characteristic life 4,200 hours
1
Planned change 180 cost plus 0.75 h down
2
Failure 950 cost plus 4.5 h down, downtime worth 45 cost/h
3
Currently changed at 3,000 hours
4
24 machines running 7,500 hours a year

Substituting

Cp = 180 + 45 x 0.75 = 213.75Cf = 950 + 45 x 4.5 = 1,152.50, so a failure costs 5.39 times a planned changebeta = 2.4 is above 1 and Cf exceeds Cp, so a finite optimum existsC(T) is minimised at T = 1,990.39 h, well below both B10 and the mean lifeFleet hours = 7,500 x 24 = 180,000, so ( 0.2079 - 0.1886 ) x 180,000 = 3,475.55 cost/yr

Answer

0
Optimal interval 1,990.39 hours
1
0.1886 cost/h at the optimum against 0.2079 today
2
Running to failure would cost 0.3095 cost/h
3
15.35 percent of events are still unplanned at the optimum
4
Mean life 3,723.22 hours, B10 life 1,644.49 hours
5
Fleet saves 3,475.55 cost/yr and 9.85 unplanned stops

The optimum sits at 1,990 hours - 47 percent of characteristic life, and above all below the 3,723 hour mean life that the datasheet quotes. That is the part people refuse to believe: you are deliberately throwing away components with more than half their average life left. The arithmetic is not sentimental about it. At 1,990 hours only 15.35 percent of events are failures; at the current 3,000 hours that share has climbed enough to move the cost rate by ten percent, and across 24 machines it is ten unplanned stops a year. Note also how much worse pure run-to-failure is - 0.3095 cost/h, some 64 percent above the optimum - which is the real argument for having an interval at all.

How to use it

  1. Work through the input groups in order — Failure Behaviour, Cost of an Event and Current Policy & Fleet. The defaults are a realistic case, so you can change one value at a time and watch what moves.
  2. There is no calculate button. Every figure recalculates as you type or drag, which is what makes this usable for a what-if sweep rather than a single answer.
  3. Read Optimal Replacement Interval in the dark results panel — that is the headline figure, expressed in hours.
  4. Check the supporting rows underneath (Cost per Hour at the Optimum, Cost per Hour at Your Current Interval, Cost per Hour Running to Failure, Share of Events Still Unplanned at the Optimum, Mean Time to Failure, B10 Life (10 Percent Failed), Annual Fleet Saving Against Current and Unplanned Stops Avoided per Year) before acting on the headline — they are where an implausible input usually shows itself first.
  5. Reset to defaults returns every field to the reference case, which is the quickest way to check whether a surprising result came from the tool or from an input you had changed earlier.

Where this is used

  • Process planning — establishing Optimal Replacement Interval before a trial is booked, so machine time and material in Quality Systems, Traceability, Utilities & Factory Decisions are committed against a calculated figure rather than an estimate.
  • Costing and quotation — Optimal Replacement Interval is an input to the cost sheet, and quoting from a worked number rather than a remembered one is what keeps a margin intact.
  • Troubleshooting — when the floor result drifts from plan, entering the measured values (starting with Weibull Shape (beta)) shows how much of the gap in Optimal Replacement Interval each variable explains.
  • Teaching and study — the accepted ranges bracket normal Quality Systems, Traceability, Utilities & Factory Decisions practice, so moving one variable at a time shows the shape of the relationship rather than a single answer.

Reading the result

Typical bands and what each one is telling you.

ValueWhat it indicates
beta below 1.0Infant mortality. Replacing on age actively harms you - every new part re-enters the risky early period. Fix installation, commissioning or part quality instead.
beta near 1.0Random failure. Age tells you nothing, so age replacement cannot help. The interval returned will run out to the horizon, which is the model declining to schedule anything.
beta 2 to 4Classic wear-out: bearings, cots, aprons, travellers, belts. Age replacement pays, and the optimum typically lands between 40 and 70 percent of characteristic life.
beta above 5Sharp wear-out with a nearly deterministic life. The optimum approaches the life itself and the cost curve is steep on the late side - being early is cheap, being late is not.
Unplanned share above 30 percentThe interval is not buying much protection. Usually the failure cost is too close to the planned cost to justify pre-emption, or beta is too low for age to predict anything.

Assumptions and limits

  • The model assumes replacement restores the component to as-new condition and that the replacement is drawn from the same population, so a part with a different supplier or a different specification invalidates the fit rather than shifting the answer. It assumes a single dominant failure mode: where two modes compete, an early manufacturing defect and a late wear-out for instance, one Weibull fit averages them into a shape that describes neither, and the fit should be split by mode before any interval is taken from it. Failure is treated as detected immediately on occurrence, which is reasonable for a stopping failure and wrong for a hidden one - hidden failures need a failure-finding task and a different calculation entirely. Downtime is priced at a constant rate, so it does not capture a stop that cascades into other machines or one that lands during a bottleneck shift. The integration and search are numerical and converge tightly for beta between 0.5 and 10; results outside that range should be treated with suspicion, as should any answer taken from fewer than eight or ten recorded failure ages, because the confidence interval on beta from a small sample is wide enough to move the optimum substantially. Finally, the annual saving assumes the whole fleet shares one failure distribution and one duty, and comparing it against the cost of actually changing the policy - retraining, spares holding, revised schedules - is a separate decision this tool does not make.
  • Every input is bounded to the range normal practice occupies (Weibull Shape (beta) 0.5 to 10, Characteristic Life (eta) 1 to 200000 hours and Planned Replacement, Parts & Labour 0 to 1000000 cost, and so on for the rest). Those bounds are guard rails against typing errors, not a claim that the formula fails one unit outside them.
  • The calculation is deterministic: the same inputs always give the same result. It carries no allowance for machine condition, operator skill, ambient conditions or lot-to-lot material variation unless an input above explicitly represents one.
  • Nothing is sent anywhere. The maths runs in your browser, so the numbers you type never leave the page.

Standards and further reading

  • IEC 61649 - Weibull analysis, for parameter estimation, goodness of fit and confidence intervals on beta and eta.
  • IEC 60300-3-11 - Dependability management, Reliability centred maintenance, for deciding whether a scheduled restoration or discard task is applicable and effective at all.
  • EN 13306 - Maintenance terminology, for the predetermined, condition-based and corrective distinctions the policy comparison rests on.
  • Barlow and Proschan, Mathematical Theory of Reliability, for the age replacement model and the renewal-reward argument behind the cost rate.

Questions people ask

Why is the optimal interval shorter than the mean time to failure? That feels wasteful.

It is wasteful of component life, and that is the point - you are trading cheap component life for expensive downtime. Replacing at the mean life means roughly half the population has already failed by then, so about half your events are the expensive kind. The optimum balances the marginal cost of throwing away remaining life against the marginal risk of a failure, and when a failure costs five times a planned change, as in the worked figures, that balance lands well short of the mean. Two things follow. First, if the ratio of failure cost to planned cost falls, the optimum moves later, so a component whose failure is merely annoying should be run much closer to its life than one that scraps a beam or takes out a machine. Second, if the part itself is expensive relative to downtime the same logic reverses, and the honest answer may be condition monitoring instead of a fixed interval, so you get the remaining life without buying the risk.

I do not have Weibull parameters. Can I still use this?

Not responsibly, and the sensitivity is worth understanding before you guess. Beta is the parameter that matters, because it decides whether age replacement helps at all: at beta near 1 the model correctly refuses to schedule anything, and a wrong beta of 3 assumed on a genuinely random failure produces an interval that costs money and prevents nothing. You need failure ages, not failure counts, which is the usual gap - a work order system that records what was replaced but not how many hours the part had run cannot support this. The minimum useful dataset is around 8 to 10 failures with their running ages, fitted by median rank regression or maximum likelihood, and suspensions - parts replaced before failing - must be included as censored observations or beta comes out badly biased. If you have nothing, start by instrumenting the runtime, and in the meantime treat published beta values for the component class as a hypothesis to test rather than an input to trust.

The optimiser returned an interval at the far end of its range. What happened?

That is the sentinel for no finite optimum, and it happens in exactly two situations. Either beta is 1 or below, so the hazard is not increasing and a used part is no worse than a new one, or the failure cost does not exceed the planned cost once downtime is priced. In both cases the cost curve falls all the way out and the mathematically correct interval is infinite - which in plain terms means run to failure and stop scheduling changes. Do not read the number returned as a recommendation to change at that age; read it as the model declining to recommend anything. It is worth checking the downtime figures before accepting it, because a planned downtime entered as the full stop length when the change actually happens inside an existing maintenance window will inflate Cp and can wipe out a genuine optimum.

How does this differ from block replacement, and which should I use?

This is age replacement: the clock resets on every change, including the unplanned ones, so a part that fails at 400 hours starts a fresh interval from there. Block replacement changes everything on a calendar regardless of individual age, which means a part that failed and was replaced last week still gets changed at the block date. Block replacement is always at least slightly more expensive in theory, because it discards more remaining life, but it is often cheaper in practice because it needs no per-unit age tracking and it lets you group work into one stop rather than scattering it - and grouping is where the real downtime saving usually lives. The rule of thumb is that age replacement pays when units are few, expensive and individually tracked, while block replacement wins when there are many cheap identical units and access is the dominant cost, which describes travellers, aprons and most cots. If you run blocks, use the interval here as an upper bound and expect the true block optimum to sit somewhat below it.

Scroll to Top