Sweeps
Stop arguing about the number. Run all of them
A sweep takes one lever, walks it across a range, and puts the whole Monte Carlo behind every single point. What comes back is a response curve with a best point on it, rather than three people defending three numbers in a meeting.
Build a twinWhat the engine does per point
Twenty five settings at eighty replications is two thousand full simulations.
The shape of the curve tells you more than the peak does.
A flat top means the exact number does not matter much and you should stop optimising it. A sharp peak with a cliff on one side means the number matters enormously and you should find out which side of it you are on before you commit. A curve that never turns over means the lever is not the constraint and you are pulling the wrong one.
One lever
A range, a number of steps, and a full simulation at every step
Choose a lever, a starting value, an ending value and how many steps to take between them. Choose how many replications each point gets. The sweep walks the range evenly and runs the engine at every setting.
Every point is a real run with the assumption bands drawn fresh, the agents acting, management reacting if the underlying scenario allows it, and the books closing month by month. A point on this curve is not an interpolation between two other points.
A sweep can sit on top of an existing scenario. If it does, that scenario's other levers stay exactly where they are and only the swept one moves, so you are asking how far to push one thing given everything else you have already decided.
Per point
What happens at every setting on the curve
- 1
The lever is set to this step's value
If the swept lever is already in the base scenario, its value is replaced. If it is not, it is added starting in month one.
- 2
The engine runs in fast mode
Same equations, same nine stages per month, fewer replications, no separate baseline per point and no dialogue log. A sweep and a run cannot disagree about the same point, because they are the same code.
- 3
The objective is measured
By default that is cumulative operating profit across the whole horizon, which is what stops a short term win and a long term loss from cancelling out. You can measure the ending value of another metric instead.
- 4
The point is stored with its band
The value, and where available the tenth and the ninetieth, plus the ending revenue, operating profit, customer count and cash, so you can see what else moved while the objective was improving.
Two levers
A grid, when the two things interact
Some questions do not decompose. Price and marketing spend interact, because a price rise needs more pipeline to stand still. Headcount and price interact, because capacity constrains what a demand increase is worth. Sweeping either on its own gives you a curve that is only true at one value of the other.
A two lever sweep walks both, producing a grid. The arithmetic is unforgiving and worth doing before you press start: steps on the first lever times steps on the second times replications per point is the number of full simulations you are asking for. A modest looking grid is easily tens of thousands of runs.
The software will refuse a grid larger than the site allows and tell you what to reduce, rather than starting something it cannot finish.
How it survives shared hosting
Time boxed slices, not one long request
A sweep is created as a queued job, not run inside the request that made it. Work then proceeds in slices: the job advances for a few seconds at a time, writes down how many points it has completed, and stops cleanly.
That is why a sweep can be thousands of simulations and still run on ordinary hosting with an ordinary request timeout. Nothing is lost when a slice ends, because the completed points are already stored.
You can watch the count climb, leave the page and come back, and the sweep carries on from where it was. A sweep has a status of queued, running or done, and how many of how many points are finished.
- Every slice writes its results before it stops
- Closing the tab does not lose the work already done
- The stored total of runs behind a finished curve is points times replications, and it is shown with the result
The output
Profit against price, computed rather than drawn
The warning
A peak under these assumptions is not the same as the right decision
A sweep optimises against one objective, inside one horizon, under one ledger. All three of those are choices, and all three can be wrong.
Cumulative operating profit over twelve months will happily recommend a price that is quietly shrinking your customer base, because the base has not finished shrinking yet. The best point on a marketing sweep may be a number your cash cannot fund in the month it would need funding. A peak that sits two steps from a cliff is a worse decision than a slightly lower point on flat ground, and the curve shows you that if you look at its shape rather than its maximum.
The habit worth building: find the peak, then look at what else moved at that point, then check whether the assumption the sensitivity analysis flagged is the one holding the peak up. If it is, the curve is telling you to go and get evidence, not to go and change the price.
- Check the customer count and the cash line at the best point, not only the objective
- Check the band on the objective. A peak inside the noise is not a peak
- Re-run the sweep with a longer horizon if the lever has a slow effect
- Re-run it with adaptive management off, and see whether the peak survives your executives not reacting
Which assumption is carrying the answerWhat it cannot tell you
Setting one up
The choices you make before you press start
| Choice | What it does | What to think about |
|---|---|---|
| Which lever | The thing that moves along the horizontal axis | Sweep the one you were arguing about, not the one that is easiest to explain |
| From and to | The range walked | Go wider than you think. The useful information is often outside the range everybody assumed |
| Steps | How many settings inside that range | More steps give a smoother curve and cost proportionally more |
| Replications | How many simulations behind each point | Too few and the curve is noisy enough to invent a peak that is not there |
| Horizon | How many months each simulation runs | A slow lever inside a short horizon will look worse than it is |
| Objective | What is being maximised | Cumulative operating profit by default. Change it when the decision is about customers or cash rather than profit |
| Base scenario | Other levers held fixed underneath | Use one when the question is how far to push this given what you have already decided |
Run the range instead of defending a number
The first sweep most people run is price, and it is usually the one that changes the conversation, because the peak is rarely where anybody in the room had put it.