Tools › Reliability › Maintainability and Availability › Spares Provisioning › Method

Spares Provisioning: Method

Open the Spares Provisioning tool

Spares Provisioning: Poisson Pipeline, Finite Fleet, Renewal Demand, Marginal Analysis and Insurance Spares

What the spares have to cover

A spare is drawn when an installed unit fails, and it is needed until the failed unit has been repaired or a new one has arrived. The stock therefore does not have to cover the failures of a year; it has to cover the units that are away in the repair or order pipeline at any one moment. For a fleet of n positions (systems × quantity per system) operating h hours per day with a failure rate λ per operating hour, the demand rate is d = n h λ per day, and with a mean resupply time T the mean number of units in the pipeline is m = d T. When part of the failed units is condemned and replaced by new ones after a longer lead time, T is the weighted mean of the turnaround and that lead time. When nothing is repaired or resupplied (a deployment, a mission, an initial provisioning period) the spares must cover every demand of the period and m is the expected number of failures in it.

Poisson pipeline

With a constant failure rate, demands arrive as a Poisson process. Palm's theorem states that the number of units in resupply at a random moment is then a Poisson count with mean m, whatever the distribution of the resupply time, provided every failed unit is replaced one for one (a base-stock policy: no batching of orders or repairs) and resupply times are independent. With s spares:

P(no stock-out) = P(X ≤ s) = Σx ≤ s e−m mx/x!; the fill rate, the share of demands met from the shelf, is P(X ≤ s − 1), because a demand finds a spare when at most s − 1 units are away; the expected backorders are EBO(s) = Σx > s (x − s) p(x), the number of positions empty on average. The mean wait of a demand is EBO/d (Little's formula). The supply availability of a system holding Q units of the item is (1 − EBO/n)Q, the probability that none of its Q positions is one of the empty ones.

The page returns the smallest s with P(X ≤ s) at or above the entered confidence and tabulates every stock level. The lamp example of MIL-HDBK-338B (500 hours at 0.001 failures per hour, two spare bulbs, reliability 0.986) is this calculation for a period without resupply. The normal approximation s ≈ m + z √m is printed for comparison; it is poor at the small pipelines typical of spares.

Finite fleet

The Poisson model keeps the demand rate at n h λ even when several positions are empty and no longer failing. For a small fleet the exact model is a birth-and-death chain, given by Eisenberger, Lorden and Maiocco for the Deep Space Network: with j units in resupply, the failure rate is n λ while j ≤ s (every position is filled) and (s + n − j) λ beyond, and the return rate is j/T. The stationary probabilities Pj follow from the product of the rate ratios, and the share of positions filled (their up-time ratio) is 1 − (1/n) Σi ≥ 1 i Ps + i, raised to the power Q for a system that holds Q units. Their simulations with a constant return time showed that only the mean of the return time matters, the same insensitivity as in Palm's theorem. The page prints this availability beside the Poisson one; the default case is a cell of their Table 1 (ten modules, 481.07 failures per million hours, two weeks to return, 0.99 required: four spares). The Poisson value is always the lower of the two, so it is the safe one.

Wear-out items: renewal demand

An item that wears out does not have a constant failure rate, and its demand is not Poisson. If every failed unit is replaced by a new one, the failures of a position form a renewal process. With the Weibull life distribution F(t) = 1 − exp[−(t/η)β], the probability of at least k failures by operating time t is the k-fold convolution F(k)(t); the expected number of failures is the renewal function M(t) = Σk F(k)(t), which satisfies M(t) = F(t) + ∫0t M(t − u) dF(u), and E[N²] = Σk (2k − 1) F(k)(t) gives the variance. The page evaluates the convolutions numerically (midpoint Riemann–Stieltjes sums on at least 400 time steps), so it also has the whole distribution of the failures of one position, and the fleet demand is the n-fold convolution of that distribution. The spares for the period are the smallest s whose cumulative probability reaches the confidence.

A fleet of new units has few early failures when β > 1: M(t) starts well below t/μ (μ the mean life η Γ(1 + 1/β)) and later approaches the line t/μ + (σ²/μ² − 1)/2. A fleet long in service, with units of mixed ages, has the steady rate of one failure per mean life per position from the start; the first life of each position is then the remaining life of a unit of random age, with distribution (1/μ) ∫0t [1 − F(u)] du. In both cases the variance of the demand of a wear-out item is below its mean (in the long run σ²/μ² times the mean), so a Poisson count with the same mean asks for more spares than needed; for β < 1 it asks for too few. The normal approximation with a continuity correction and the Poisson count are tabulated beside the exact distribution. Beyond 30 mean lives per period the asymptotic mean and variance are used. Preventive replacement before failure is not modelled here (see Maintenance Interval Optimization).

Multi-item optimisation by marginal analysis

Sizing every item to the same confidence spends the same protection on a cheap item as on an expensive one. The better question is what a budget buys for the system. For a system that needs all its items, the supply availability is the product over the items, A = Πi [1 − ei EBOi(si)/(N Qi)]Qi, with N systems, Qi units per system and an essentiality ei between 0 and 1 that discounts the backorders of an item the system can run without (the criticality factor of Eisenberger and Lorden). Maximising A is, to first order, minimising the weighted backorders Σ ei EBOi, the objective of Sherbrooke's METRIC; the page offers both, and the fill rate for comparison.

Marginal analysis starts with no spares and at each step buys the one spare with the largest gain per dollar, [gi(si + 1) − gi(si)]/ci, where gi is the item's contribution to the objective (ln Ai, −ei EBOi or its weighted fill rate). The expected backorders are a convex, decreasing function of the stock, so each item's gains shrink from one spare to the next, and for such separable concave objectives the list reached at every step is optimal: no other list of the same or lower cost does better (Fox; Everett). The lists are the corner points of the cost against availability curve. Between two corner points a list that uses a budget more fully may exist; the page reports the last corner point within the budget and the money left. The fill rate of an item is not concave below its pipeline mean (the second spare can add more than the first); there the page takes the upper concave hull of the item's curve, which may buy several spares in one step.

The default list is the six-module example of the Deep Space Network Progress Report 42-42 (Table 1: MTBF 10,000 to 50,000 hours, 6 to 63 units operating, unit costs $236 to $5,200, two weeks to repair). The report's package of 3, 2, 3, 4, 5 and 2 spares, nineteen in all, is the list the marginal analysis reaches at a cost of $43,794. The single-echelon model here has one stock and one resupply time per item; depots and bases, indentured parts and cannibalisation need the multi-echelon models of the references.

Insurance spares and k-of-n redundancy

Some items fail so rarely that the pipeline is almost always empty, yet a failure with nothing on the shelf costs a lead time of months. For n units over a remaining life L the expected number of failures is mL = n λ L and the probability of at least one is 1 − e−mL. The page evaluates the installation as an (k, n) system in the sense of the Deep Space Network study: n units operate, k are required, and with s spares the chain of the finite-fleet model is cut off at j = s + n − k + 1 units awaited, the state in which fewer than k units are left and the installation is shut down until one arrives. The stationary probability of that state is the share of the life spent down; for one unit without a spare it is λT/(1 + λT), and without redundancy (k = n) it is the Erlang loss probability B(s + 1, n λ T). The expected downtime over the life times the cost of an hour of downtime is set against the cost of buying and holding s spares, s c (1 + h L), and the stock with the lowest total is reported. The costs are not discounted. Redundancy and spares cover the same event: with k below n the redundant units absorb the first failures without downtime, and the table shows how little a spare then adds.

Assumptions and limits

Constant failure rate for the Poisson and finite-fleet models; one stock, one-for-one resupply, independent resupply times, no lateral supply, no cannibalisation, no batching; spares do not fail on the shelf; repair capacity is not limiting (a failed unit never queues for repair). The mean time between demands should include every removal that draws a spare, confirmed failure or not. The essentiality weighting and the insurance cost comparison are simple decision aids and say so; a contractual availability or a safety case needs the supporting analysis of the actual support system.