WHITE PAPER

WHITE PAPER

OCTOBER 2026

OCTOBER 2026

Determined to fail

Determined to fail

Determined to fail

Why forecasts of complex industrial systems miss, and what to do instead

Why forecasts of complex industrial systems miss, and what to do instead

Most organisations forecast the performance of complex industrial systems as a single number built from averages. For systems that run close to their limits, that approach will miss, and it will miss in a predictable direction, however skilled the people building the forecast and however good their tools. This paper explains why, and what to do instead.

PROJECTS ON SCHEDULE AND BUDGET

8.5%

of more than 16,000 projects tracked by Flyvbjerg and Gardner.

ALSO DELIVERING THE BENEFITS

0.5%

on schedule, on budget and with the benefits expected of them.

REVENUE LOST BY MAJOR MINERS

US$64bn

to missed production forecasts over five years, according to Accenture.

The problem is common to every industry and geography. These forecasts are built by highly competent people. Teams debate the inputs, review the assumptions, and run approval, tracking and reconciliation processes around the results. Yet the gap between what we expect to happen and what actually happens persists.

Flyvbjerg and Gardner’s figures are for projects rather than operating forecasts, but they show how routinely a confident plan misses, even when capable people build it. They trace most of those misses to optimism bias and to fat-tailed risks, where rare events carry outsized consequences. Both are real. This paper deals with a different cause, one that remains even when the team is unbiased, capable and well resourced: the shape of the system itself.

When forecasts disappoint, the response is almost universal: forecast better. Better inputs, better tools, better review meetings, better accountability. For some systems, that is the right response. It rests on an assumption, though, that with enough skill and effort a single-point forecast of an uncertain future can be made right. For non-linear systems, where a change in an input does not produce a proportional change in the output, that assumption fails.

Our argument is that organisations undervalue the effect of non-linear relationships, uncertainty and variability on performance, and so forecast in a way that does not suit the systems they operate. We believe organisations should forecast the range of futures that could unfold, given what they do and do not know about a system. The result is a forecast that holds up as uncertainty and variability play out.

Sources: Flyvbjerg and Gardner, How Big Things Get Done (2023); Accenture, The mining industry’s $64 billion blind spot (2025).

Where determinism earns its place

A single number has real advantages in simplicity, communication, cost and speed, and for some systems and situations it is the most appropriate method.

Before examining why it fails elsewhere, it is worth being clear about where it works. Deterministic forecasting, where a single number is calculated from fixed inputs, earns its place when the answer to all four of these questions is no. If the answer to any of them is yes, it is worth reconsidering the approach.

1 Would you act differently if the forecast changed?

Forecasts of sales volume or cash flow drive decisions. If they are materially wrong, the business acts to correct them. A forecast that is largely internal or of low consequence rarely justifies the effort of exploring the range of outcomes, because the business can absorb the deviation with little impact.

2 Is the system operating close to its limits?

Far from its limits, a system behaves the way intuition expects. Idle capacity or spare inventory lets outputs follow inputs, and averages perform as expected. Close to the limit, variability starts to hit constraints, and the response to a change in inputs stops being proportional.

3 Is the horizon long enough for uncertainty to compound?

Shift-to-shift variability tends to average out over a long horizon. Uncertainty about the inputs themselves does not. Forecasting next week, we know roughly what the weather will do, who is rostered on and which deliveries are scheduled. Forecasting the next 12 months, the ranges on the inputs are far wider, and the spread of outcomes grows with them.

Forecasting next week, we know roughly what the weather will do, who is rostered on and which deliveries are scheduled. The outcomes are bounded. Forecasting the next 12 months, the ranges on each input are far wider, and the spread of possible outcomes grows with them





4 Do the sources of variation move together?

Many genuinely independent sources smooth each other out, as one operation over-delivers while another under-delivers. Weather is regional, though, so mines in one precinct sharing logistics feel it together. A factory in North America and another in Australia are independent for weather, but not for commodity prices. Bad shifts also cluster in time, after a breakdown or through a wet week.

Where the standard approach breaks

Most forecasting approaches treat a forecast as a calculation. Productivity, multiplied by hours worked, multiplied by a yield or loss factor, gives output. This works when the calculation captures all the relationships and interactions in the system that matter. Complex industrial systems rarely behave like this.

Consider an open-pit mine in a year of below-average rainfall. Dry roads mean haul trucks raise more dust. Visibility falls and the operation slows haul speeds, which lengthens cycle times and reduces what the haul fleet delivers. The processing plant starts to idle for lack of feed. The operation responds by dispatching water carts to suppress the dust, which restores truck speeds and brings haul capacity back.

HOW A DRY YEAR REACHES THE CRUSHER

DRY YEAR

Below-average rainfall dries the haul roads.

DUST

Trucks raise more dust and visibility falls.

SLOWER HAUL

Speeds drop, cycle times lengthen, less ore moves.

CRUSHER IDLES

The plant waits for feed.

WATER CARTS

Dust is suppressed and truck speeds recover. While the carts keep up, dust costs very little.

THE THRESHOLD

In a dry enough year, the water cart fleet or the water supply becomes the constraint, and output falls away quickly.

Crusher operating hours are now a function of road design, haul fleet composition, climate and water cart availability. None of these appears in a productivity-times-hours calculation, and it is unlikely anyone modelled that interaction when the mine was designed or the forecast was built.

The relationship is also non-linear. While the water carts can keep up, dust costs the operation very little. In a dry enough year, the carts or the water supply become the constraint, and output falls away quickly. A forecast built on average conditions cannot see that threshold until the operation reaches it.

Few organisations will model every ancillary process, and they do not need to. The forecast needs the main processing steps, their capacities and the buffers between them. The ancillary causes can enter through what they share. When one condition affects several steps at once, the inputs it touches should be forecast as moving together. In the mine, haul cycle times and crusher utilisation fall together in a dry year.

Systems like this share common features: capacity limits that cut off upside, queues and inventories that grow and shrink, batch and discrete processes, and coupling that stops one stage when another stops. In these systems, a change in one part does not produce a proportional change in output.

The average conditions you’re forecasting don’t exist

Most businesses build their baseline forecast from averages of historical performance or from design capacity. A design-capacity baseline assumes the plant runs as designed, every shift. Historical averages cause three problems. First, they assume the future will look like the past, which is rarely true outside very stable systems. Second, the ’average’ is often selective, shaped by which periods were excluded as abnormal and which data was sampled. Third, and the focus of the rest of this paper, averages do not behave in non-linear systems the way the forecast assumes.

A two-stage manufacturing process shows this clearly. The same issue applies to a haul fleet feeding a crusher, a digestion and clarification circuit in a refinery, or a milking and pasteurisation process on a dairy farm.

A forecast everyone signs off

A factory that averages 1,000 units a shift, feeding a packaging line rated to 1,100, cannot pack 1,000 units a shift.

PRODUCTION

Could make 1,200 units on a good shift and 800 on a bad one. Equally likely. Forecast at 1,000.

NO STORAGE

Kept out to hold working capital down.

PACKAGING

Rated to 1,100 units a shift and runs very consistently.

PACKED

Forecast at 1,000 units a shift.

On paper the plan looks comfortable. Production is rated to 1,200 units a shift. Its forecast of 1,000 is the average of good shifts at that nameplate rate and bad shifts at 800, about 17% below nameplate. Packaging has 100 units per shift of headroom, so it should accept everything production sends it. The forecast goes through review and approval, and everyone agrees it is reasonable. Both stages are scheduled below their rated capacity, and there appears to be slack in the plan.

The system as described cannot average 1,000 units per shift. Taking a bad shift and a good shift in turn shows why.

ONE BAD SHIFT, ONE GOOD SHIFT

One bad shift and one good shift: 800 and 1,100 packed, with 100 units never made.

FORECAST

2,000

over the two shifts

PACKED

1,900

5% short, with every input accurate

On the bad shift, production makes 800 and packaging takes all of it, 200 below forecast. On the good shift, production could make 1,200, but packaging can only take 1,100. With nowhere to store the extra 100 units, production slows and those units are never made.

The forecast relied on the good shift finishing 200 above plan to offset the bad one. It can only finish 100 above. The downside is delivered in full while the upside is capped.

If shifts really did split evenly between these two outcomes, the long-run average would be exactly 950 units per shift, 5% below forecast. Real processes produce a spread of outcomes. If production can land anywhere between 800 and 1,200 units with equal likelihood, the average comes to about 987 units per shift. The gap narrows to around 1.3%, because less of the output sits above the cap, but it never closes.

Every capacity assumption in the forecast was accurate, and the forecast is still wrong.

This example may seem trivial, or familiar to anyone who has spent time in industrial systems. Yet this is how a large share of businesses still forecast. The tools and processes around the forecast may be more sophisticated, but the underlying calculation often looks much like this one.

The flaw of averages

When output bends at a limit, the average of what the system produces is lower than what the system produces at the average.

The gap has a mathematical name: Jensen’s inequality. When a system’s output bends downward as inputs rise, as our production output flattens at the packaging cap, the average output is always less than the output calculated from the average input. When the relationship bends upward, as queue lengths and unit costs typically do, the average outcome is worse than the calculation at the average input suggests. Only when the relationship is a straight line do the two agree. This is why our second test asks how close a system runs to its limits. Near a limit, the straight line bends.

WHAT PRODUCTION COULD MAKE AGAINST WHAT IS PACKED

Production against packed output, capped at 1,100 units.

Shifts are spread evenly from 800 to 1,200 (the shaded band). Every shift above 1,100 loses its excess to the cap, which pulls the average packed down to 987.

This is why forecasts built on averages so often disappoint in the same direction: production comes in lower, and costs come in higher, than the model predicts. Sam Savage covers the effect in depth in The Flaw of Averages (2009). When we reduce a system to a series of averages before building the forecast, we throw away the behaviour that matters most. The obvious response is to take 1.3% off the single number and carry on. For one year in a system that never changes, that works. It fails once the system changes, for reasons we come back to.

The gap depends on how much variability is left unbuffered and how close each stage runs to its capacity. Move the variability and headroom sliders in the model below to see what closes it. The gap comes from the shape of the system, and a more careful estimate of the inputs does nothing to remove it.

Three ways to close it

The example points to three ways to recover the lost output. In this factory, any one of them is enough.

REDUCE VARIABILITY

1,000

Halve the spread of production to 900 to 1,100 units. No shift now runs past the cap.

ADD A BUFFER

998

Room for 100 units between the stages. Good shifts bank their excess for the bad ones.

ADD HEADROOM

1,000

Lift packaging to 1,200 units a shift, production’s nameplate rate.

Lift packaging to 1,200 units a shift, the most production can make.



Average packed a shift, against 987 as the factory stands. The buffer figure comes from simulating 200,000 shifts. The single-number forecast values every one of these levers at zero; “What a single number cannot see” shows why.

Why high and low cases are not enough

Many operations already produce a base case with high and low cases around it, often labelled P10, P50 and P90. Each case is still the same calculation, run once at a chosen set of inputs. The base case in our example still says 1,000 units per shift, because it is the calculation run at the average input. The high case takes the 90th percentile of what production can make, which is 1,160, close to its 1,200 nameplate. The 90th percentile of what the system actually delivers is 1,100, because the packaging line can never pack more than that. Once a constraint sits between input and output, the percentiles of the inputs stop being the percentiles of the output.

EACH CASE, CALCULATED, AGAINST WHAT THE SYSTEM DELIVERS · UNITS A SHIFT

Calculated high and low cases compared with what the system delivers.

For the base case, the system figure is the long-run average. The low case agrees only because the cap never binds on a bad shift.

Forecasting for the distribution

The alternative is to stop collapsing inputs into averages before the forecast is built. In our example, keep production as a spread between 800 and 1,200 units, with the frequencies history supports, and run that spread through the real logic of the system many times over. This technique is known as Monte Carlo simulation: repeated random draws from each input’s distribution, combined through the logic of the system. The result is a distribution of outcomes, with a probability attached to each.

Where one condition drives several inputs at once, as the dry year does at the mine, the draws have to keep them together. The simplest approach is to draw whole periods from history, so whatever linked the inputs in the past carries through. Drawn separately, a bad period at one step gets offset by a good period at another that could never happen, and the range of outcomes comes out narrower than it should.

The logic matters more than the distributions

A simulation that leaves out the packaging cap gives the same wrong answer as the single number, with a range drawn around it.

Many organisations already run Monte Carlo. They flex each input a few percent either side of plan and report the range that comes back. If the model logic is wrong, the range is wrong with it: varying the inputs cannot reveal a constraint the model does not contain. Had our example assumed packaging could absorb whatever production sent it, the simulation would have centred on the same 1,000 units a shift, with a tidy range around it. It would look rigorous, it would be wrong in exactly the same way as the single number, and the range would lend it credibility it has not earned.

So the effort goes into three things: the sources of uncertainty and variability that drive performance, the shape of each, and the caps, queues, buffers and coupled steps that make the system non-linear.

Running the simulation is the easy step. The last of the three is the hardest. Caps, queues and couplings seldom show up as a column in the data. They live in how the operation actually runs: the water carts that cannot keep up in a dry year, the bin that fills at the end of a good shift, the crew shared between two stages. Finding them takes time on the ground, with people who have run operations like it.

Using the forecast

Once the distribution exists, what matters is what the organisation does differently with it. That is the point of our first test.

A point forecast leaves open how the operation will respond when performance varies. That decision gets made later, under pressure, shift by shift or in the weekly review meeting. Forecasting with a distribution brings those decisions into planning time, when there is room to think through and assess options while they are still open.

HOW A WEEK TURNS OUT, ACROSS 300,000 SIMULATED WEEKS

Distribution of weekly output across 300,000 simulated weeks.

Each week is 14 shifts drawn independently, with production spread from 800 to 1,200 and packaging at 1,100. Clustered bad shifts would widen the spread further.

The forecast becomes a number with a stated confidence. The factory can expect to average about 987 units per shift, with nine weeks in ten above 950. Roughly two weeks in three will fall short of the original 1,000-unit forecast, which tells the business in advance how often it should expect to explain a miss. That is a commitment the operation can be held to.

One schedule, and a view of where it is fragile

A distribution sits alongside a single schedule. The operation still needs one shipping schedule, one pit sequence and one production schedule, and the people running it need one version to work to. The schedule is the decision. The forecast is a belief about how that decision will play out, expressed as a distribution of outcomes. What the distribution adds is an understanding of where the schedule is fragile: which customer shipments are at risk, which pits are likely to run ahead or behind, and which variability flows through the system and which is absorbed.

REVIEWING A POINT FORECAST

Is the number right?

The meeting argues over the inputs and explains last month’s miss after the event.

REVIEWING A DISTRIBUTION

Do the assumptions still hold?

The meeting checks variability and capacity, asks whether the operation has moved closer to its limits, and looks at what would shift the distribution.

A distribution also supports conversations a single number cannot. We can ask how often a week will average below 950 units per shift, what the worst month is likely to look like on the supply side, and whether halving production variability is worth more than adding 100 units of packaging capacity.

What a single number cannot see

A single-number forecast puts no value on anything that absorbs variability.

At the average input of 1,000 the packaging cap never binds. In the calculation nothing ever runs into a limit, so a buffer, extra headroom or a steadier process has nothing to fix.

Average packed a shift

Single-number forecast

The system

As it stands

1,000

987

Halve the spread of production

1,000

1,000

Add room for 100 units between stages

1,000

998

Lift packaging to 1,200

1,000

1,000

The forecast’s column never moves, so every lever shows a return of zero.

A derate learned from history does not fix this. The 1.3% gap belongs to the factory as it stands. Lift production to average 1,050 units, with the same 400-unit spread, and the system packs about 1,022, a gap of 2.7%. Last year’s derate would forecast 1,037, so the miss grows exactly when the plan asks for more. Add the buffer or extra headroom and the right derate changes again, so a derated forecast still values every lever at zero. It moves the centre of the forecast and still says nothing about how often the target will be missed.

This is how the factory lost its storage. Removing it saved working capital, and the forecast showed no cost, because in the forecast storage did nothing. The same blind spot covers stockpiles, surge bins, standby equipment and spare shifts. Anything whose job is to absorb variability looks like cost with no return in a calculation that has no variability in it. A distribution puts a value on each one, so the business can choose which lever is worth most before the capital is spent.

How we see it

The schedule is the decision. The forecast is the range of expected outcomes.

The operation needs one version to work to. The forecast says how it is likely to play out, and where it is fragile.

The shape of the system matters more than the precision of the inputs.

Leave out the packaging cap and a perfect estimate of production still gives the wrong answer.

Near a limit, an average stops behaving like an average.

When output bends at a capacity, the average of what the system produces falls below what it produces at the average input.

A forecast review should test the assumptions behind the number.

A miss the distribution expected needs no explanation. A change in the system’s limits or variability does.

Test your own forecast first

Four checks you can run this week, on a forecast you already have, using your own data.

1

Look for a ceiling

Sort a year of daily actuals from best to worst. If the best days bunch at nearly the same figure, something is capping the upside. A long tail of bad days can come from breakdowns alone; a ceiling is the sign of a cap. In our factory, one day in eleven lands within 1% of the best.

2

Ask what a buffer is worth

Ask the forecast what an extra stockpile, surge bin or hour of spare capacity would add. If the answer is nothing, or nobody can work it out, the forecast cannot see the cost of variability.

3

Hold the high case up to nameplate

Check whether the high case asks any stage to run above its rated capacity. If it does, it is a result the system cannot deliver, as the 1,160-unit high case could not.

4

Ask how often you will miss

Before the period starts, can anyone say how often the target will be missed? If not, the forecast has no stated confidence, and every miss gets explained after the event.

If your forecast passes all four, keep it. A single number is cheaper and easier to communicate, and the questions at the start of this paper set out when it earns its place. If your actuals show a ceiling and the forecast fails the second or third check, it is built in a way that cannot see the shape of your system, and more review, better inputs and tighter accountability will leave the gap where it is. If it fails only the fourth, the calculation may be sound, but every miss will still arrive as a surprise.

OVER TO YOU

Run the four checks on your last forecast

If the answers surprise you, we’d like to hear what you found.

References

Accenture, 2025. The mining industry’s $64 billion blind spot. https://www.accenture.com/us-en/blogs/mining-industry-64-billion-dollar-blind-spot (accessed September 2026).

Flyvbjerg, B. and Gardner, D., 2023. How Big Things Get Done: The Surprising Factors Behind Every Successful Project, from Home Renovations to Space Exploration. Macmillan.

Savage, S., 2009. The Flaw of Averages: Why We Underestimate Risk in the Face of Uncertainty. John Wiley & Sons.

Notes

The manufacturing example is illustrative. Figures for the spread case assume production is equally likely to land anywhere between 800 and 1,200 units a shift, with shifts independent of each other and two shifts a day. Weekly figures come from 300,000 simulated 14-shift weeks, the buffer figure from 200,000 simulated shifts and the daily ceiling from 20,000 simulated years. Nothing here is advice.