Monte Carlo Simulation Inside a DCF
A standard DCF plugs in one number for growth, one for margin, one for the discount rate, and spits out one value. A Monte Carlo DCF instead treats those inputs as ranges of uncertainty and reruns the whole model thousands of times, producing a distribution of possible values instead of a single misleadingly precise one.
Prerequisites: Discounted Cash Flow Valuation, Monte Carlo Simulation (Coding)
A standard DCF hands you a single number — "this company is worth $4.2 billion" — with a confidence that the underlying assumptions never actually earned. Revenue growth, margins, and the discount rate are each genuinely uncertain, and the model quietly pretends they're known to the decimal point. A Monte Carlo DCF is the same cash-flow machinery, run not once but thousands of times, each time drawing a fresh, randomly sampled set of inputs from a realistic range — turning "the company is worth $4.2 billion" into "the company is most likely worth between $3.1 and $5.6 billion, with a median around $4.2 billion."
Think of forecasting a road trip's arrival time. You could say "we'll arrive at 3:47pm," treating traffic, weather, and rest stops as fixed. Or you could say "based on a thousand simulated trips with realistic variation in each factor, we'll most likely arrive between 3:15 and 4:45pm, with 3:47 the single most probable time." The second answer is more work but tells the truth about what you actually know.
Monte Carlo doesn't add new information to a DCF — it makes visible the uncertainty that was already implicit in every single-point assumption, and reports a distribution of outcomes instead of one number dressed up as certain.
The mechanics
For each of many trials , draw a fresh set of inputs from specified probability distributions, compute the DCF's implied value , and after all trials look at the distribution of results:
In words: instead of fixing revenue growth at exactly 8 percent, margin at exactly 22 percent, and the discount rate at exactly 9 percent, each is drawn randomly on every trial from a normal distribution centered on the analyst's best guess, with a spread reflecting genuine uncertainty. Each trial's draws feed through the ordinary DCF formula to produce one value ; repeating this thousands of times builds up a full distribution of rather than a single point.
Worked example: a tiny three-trial illustration
To see the mechanics stripped down, run just three trials of a simplified one-year model: value equals next year's free cash flow divided by (discount rate minus growth), a single-stage Gordon-growth shortcut.
Trial 1: , : , value . Trial 2: , : , value — negative denominator, model breaks (growth exceeds the discount rate, an impossible perpetuity). A real simulation must constrain draws so on every trial, or such trials are discarded and flagged. Trial 3: , : , value .
Even three trials show the value swinging from roughly 1,750 to 3,567 to an undefined blowup — a preview of how wide and how fragile the full distribution can be.
Worked example: reading percentiles from a full run
Running 10,000 trials of a full multi-year DCF for a real company produces enterprise values with a 10th percentile of $2.9 billion, a median of $4.2 billion, and a 90th percentile of $6.1 billion. An investor comparing this to a $5.5 billion market cap can now say something sharper than "the DCF says it's undervalued": specifically, the market price sits around the 80th percentile of the simulated distribution — the stock is priced for a fairly optimistic, though not extreme, scenario.
What this means in practice
Monte Carlo DCFs are standard in private equity and infrastructure valuation, where a handful of variables (commodity prices, occupancy rates, refinancing spreads) dominate the outcome and their uncertainty is large enough that a single-point answer would be actively misleading. The output — a distribution rather than a number — is also a better match for how investment committees actually think about risk: not "is it worth $4.2 billion" but "what's the chance we lose money at this price."
The classic mistake is sampling each input independently when they are actually correlated in reality — for example, drawing margin and growth as unrelated random variables when a recession scenario would plausibly hit both at once. Ignoring correlation between inputs understates the true tail risk and produces a distribution that is falsely narrow.
Key terms
- Trial — one full run of the DCF using one randomly drawn set of inputs.
- Input distribution — the assumed probability distribution (e.g., normal, triangular) each uncertain input is drawn from.
- Output distribution — the resulting spread of computed values across all trials.
- Correlated inputs — inputs that should be drawn jointly, not independently, when real-world scenarios move them together.
Related concepts
Practice in interviews
Further reading
- Damodaran, The Dark Side of Valuation (ch. 4)
- Glasserman, Monte Carlo Methods in Financial Engineering (ch. 1)