Monte-Carlo analysis
/ MON-tee CAR-loh /
No two resistors off the reel are identical, a 10 kilohm 5 percent part might really be 9.7 or 10.3 kilohm. The question that haunts every production run is: if every component drifts within its tolerance, will the circuit still meet spec? Monte-Carlo analysis answers it by building the circuit many times over with random component values and seeing the spread of results.
Named after the casino, the method runs the same simulation, say a hundred or a thousand times, each time picking every component's value at random from within its tolerance band. SPICE then shows you a histogram or overlaid traces of the outcome, the spread of a filter's cutoff frequency, or how many runs fall outside your limits. In LTspice you write tolerances using functions like mc(10k, 0.05) for a 5 percent part, then set the number of runs. It turns a single ideal answer into a realistic cloud of what mass production will actually deliver.
This is how you find out whether a design is robust or merely lucky with ideal parts. A circuit that hits its target dead-on with nominal values can fail a quarter of the time once real tolerances bite, telling you to tighten a key component or redesign so the result depends less on exact values, exactly the discipline behind good biasing. The catch: the answer is only as meaningful as the tolerance and distribution you assume, and it still ignores layout and temperature unless you model those too.
Run 200 Monte-Carlo trials of an RC filter with 5 percent parts and the cutoff frequency, nominally 1 kHz, spreads into a bell-shaped histogram from roughly 0.93 to 1.08 kHz, telling you at a glance whether that spread is acceptable for your application.
Many runs with randomized component values, revealing the production spread rather than one ideal answer.
Monte-Carlo is only as trustworthy as the tolerance ranges and distributions you feed it. Assuming a tidy bell curve when a vendor actually sorts and ships the extremes can badly mislead you.