Simulation methods, explained.

Plain-English introductions to the methods behind our models, no jargon required. Here are the core techniques we use in simulation work.

Simulation

Discrete-event simulation

Discrete-event simulation models a system as a sequence of events over time, things arriving, being processed, waiting and leaving. As the clock advances you watch queues form, resources get busy and bottlenecks emerge exactly as they would in reality.

Where we use it: operations where timing, randomness and competition for shared resources drive performance, terminals, hospitals, production lines, mine-to-port chains.

Simulation

Agent-based models

Rather than describing a system from the top down, agent-based modelling captures the individual "agents", vehicles, people, machines, and the simple rules each one follows. Realistic, system-wide behaviour then emerges from all those interactions.

Where we use it: problems where local decisions and interactions matter, such as traffic, crowds, fleets and markets.

Simulation

Monte Carlo

A Monte Carlo model runs many times, often thousands, each time drawing random samples from the uncertainty in your inputs. Instead of one answer it produces a full distribution of outcomes, answering "how likely?" and "what's the range?".

Where we use it: any decision under uncertainty, so you can plan to a P90, not a hopeful average.

Simulation

Queueing theory

Queueing theory is the mathematics of waiting lines: how arrival rates, service rates and variability combine to determine queue lengths and delays. It offers fast, analytical insight into capacity and congestion, often without needing a full simulation.

Where we use it: quick capacity checks and to sanity-check and complement detailed simulations.

Simulation

System dynamics

System dynamics models the feedback loops, stocks and flows that drive how a system changes over time. It's built for the big picture, where reinforcing and balancing feedback, plus delays, produce behaviour that's hard to predict by intuition alone.

Where we use it: strategic, long-horizon questions about how a whole system will evolve.

Simulation

Bottleneck analysis

Bottleneck analysis finds the single constraint that limits the throughput of an entire system. Because that constraint sets the pace for everything else, improving any other step rarely helps, so finding it tells you precisely where effort and capital will pay off.

Where we use it: debottlenecking studies across production, logistics and resources.

Simulation

Theory of Constraints

The Theory of Constraints (ToC) builds on bottleneck analysis: every system has one binding constraint, and the way to improve the whole is to focus relentlessly on it, exploit it, subordinate everything else to it, then elevate it, and repeat. It turns "find the bottleneck" into a continuous improvement cycle.

Where we use it: framing improvement programs so investment targets the step that actually limits output.

Simulation

Sensitivity analysis

Sensitivity analysis systematically varies inputs and assumptions to see which ones actually move the result. It separates the handful of drivers that matter from the noise, and shows how robust a decision is to the things you're least sure about.

Where we use it: pressure-testing a model's conclusions before a big decision rests on them.

Simulation

Digital twins

A digital twin is a living, data-connected model of a real operation that mirrors its behaviour and stays in sync over time. Unlike a one-off study, it becomes an ongoing tool for testing changes, monitoring performance and answering new questions as they arise.

Where we use it: operations that want a permanent "what-if" capability, not just a single report.