Skip to main content

Monte Carlo Simulation in DCF

A point-estimate valuation gives you one answer. A Monte Carlo simulation gives you a probability distribution of answers—helping you quantify how likely your base case is and what downside risk you face if your assumptions are wrong.

Quick Definition

Monte Carlo simulation is a computational technique that runs thousands of scenarios by randomly sampling from specified probability distributions for key inputs (revenue growth, margins, discount rate, terminal growth) and calculating the resulting intrinsic value for each iteration. The output is a distribution of possible values rather than a single number, revealing the range of outcomes and the probability of achieving your investment thesis.

Key Takeaways

  • Monte Carlo transforms point estimates into probability distributions, quantifying valuation uncertainty
  • Running 10,000–50,000 iterations captures tail risks and reveals which assumptions drive the widest outcome spreads
  • Asymmetric distributions (skewness) often emerge when downside is capped but upside is open-ended
  • Correlating inputs (e.g., high growth typically accompanies higher margins) makes simulations more realistic than independent assumptions
  • Sensitivity analysis on steroids: see how often each scenario makes your investment case work

Setting Up a Monte Carlo Model

Begin with your three-statement DCF, but instead of plugging in fixed numbers, define probability distributions for key drivers. Common choices:

Revenue Growth (Year 1–5)

  • Normal distribution: mean 8%, standard deviation 3%
  • Reflects analyst consensus but acknowledges natural variance
  • Truncated at 0% floor (no negative growth assumed) and 15% ceiling (industry realistic)

Operating Margin

  • Beta distribution: mode at historical average, bounds set by peer range
  • Better than normal for variables constrained between min/max

Terminal Growth Rate

  • Tight distribution: mean 2.5%, std dev 0.3%
  • Represents long-run GDP growth with modest uncertainty

Discount Rate (WACC)

  • Components vary: cost of equity shifts with beta assumptions, debt costs with credit spreads
  • Consider 75–125 basis point ranges

Terminal Multiple or FCF Growth

  • If using exit multiple: empirical distribution from historical trading ranges
  • If perpetual growth: constrained near nominal GDP growth

Once defined, a Monte Carlo engine randomly samples from each distribution, calculates free cash flows, discounts them, and records the intrinsic value. Repeat 10,000–50,000 times.

Understanding the Output Distribution

The result is a histogram of intrinsic values. Key metrics:

Mean (Expected Value)

  • Often close to your base case, but not always if distributions are skewed

Median

  • Preferred measure if distribution is non-normal; the 50/50 probability split

Percentiles

  • 10th percentile: downside outcome (1 in 10 chance of being lower)
  • 90th percentile: upside outcome (1 in 10 chance of exceeding)
  • 25th / 75th: interquartile range, middle 50% of outcomes

Standard Deviation

  • Volatility of outcomes; higher std dev = higher valuation uncertainty
  • Informs position sizing and conviction level

Skewness

  • Right-skewed: tail of worst-case scenarios is short; upside is open-ended
  • Left-skewed: downside tail is long; capped upside
  • Perfectly symmetric: unlikely in real valuations

Practical Example: SaaS Company Valuation

Assume a $50M ARR SaaS company with 10-year projection:

InputDistributionRationale
Revenue Growth Yr 1–5Normal(28%, 6%)Analyst consensus range, truncated 5%–45%
Revenue Growth Yr 6–10Normal(18%, 4%)Slowdown, tighter range
EBIT Margin (mature)Normal(25%, 3%)Historical SaaS margins, some variance
WACCNormal(9%, 0.8%)Small shifts in cost of capital
Terminal GrowthNormal(3%, 0.4%)Constrained to realistic range

Monte Carlo: 25,000 iterations

StatisticValue
Mean Intrinsic Value$2,150M
Median$2,090M
10th Percentile$1,240M
90th Percentile$3,180M
Std Deviation$615M

Interpretation:

  • Base case ≈ $2.1B
  • 80% confidence: valuation lies between $1.24B–$3.18B
  • Wide spread reflects sensitivity to growth assumptions
  • Skew: right-tailed (few catastrophe outcomes, some moonshots)

Input Correlation: Making It Realistic

Independent distributions ignore real-world dependencies. For example:

  • High growth + high margin: often correlated (scaling advantages, market power)
  • Rising interest rates + higher WACC: mechanical correlation
  • Recession scenario + lower growth + multiple compression: triple hit

Use correlation matrices to inject realism. In a recession scenario, assume:

  • Growth drops 40%, margins compress 15%, WACC rises 200 bps, all simultaneously
  • This catches tail risks better than treating each as independent

Many tools (Excel with data tables, Python scipy, specialized valuation software) allow you to specify pairwise correlations or define discrete scenarios (Bull/Base/Bear) with specified correlation structures.

Common Mistakes

Overly Wide Distributions Running scenarios where growth could be anywhere from 0% to 50% isn't useful—it's not a simulation, it's surrendering analysis. Anchor your ranges in peer data, management guidance, and historical precedent.

Ignoring Correlation Structure If high growth scenarios don't come with margin improvement (as they do in real competition), your sim is too pessimistic on upside and missing tail risk.

Treating 10th Percentile as "Worst Case" The 10th percentile is a 1-in-10 outcome. True worst-case (bankruptcy, existential competition) may lie further left. Monte Carlo captures volatility, not black swans.

Under-Running Iterations Fewer than 5,000 iterations leaves gaps in your distribution; fewer than 10,000 and tail percentiles bounce around. Aim for 25,000–50,000 unless computational constraints bite.

Assuming Distribution Shapes Without Validation Normal distribution is convenient but not always realistic. Check historical data—margins, growth, valuations—to pick empirically grounded shapes (beta, lognormal, etc.).

Visualizing and Acting on Results

A well-designed Monte Carlo output answers:

  1. "What's my fair value range with 80% confidence?" → 10th/90th percentiles
  2. "How often does my investment case work?" → Probability that intrinsic value exceeds purchase price
  3. "Which assumptions move the needle most?" → Compare std dev of outcomes when varying one input at a time
  4. "What if a key assumption is 1 std dev worse?" → Rerun with tighter distributions around pessimistic values

In practice:

  • If 90th percentile < purchase price, pass or negotiate harder
  • If 10th percentile > purchase price and margin of safety is wide, high conviction
  • If median is 30% above purchase price but std dev is huge, position size smaller

FAQ

Q: Is Monte Carlo better than sensitivity tables? A: Complementary. Sensitivity tables show you which single input matters most. Monte Carlo shows you realistic multivariate outcomes and tail risk. Use both.

Q: What if I don't have good distribution data? A: Start with historical analyst estimates (showing natural dispersion) or ranges from management guidance. Widen conservatively. Refine over time.

Q: Can I run scenarios by hand? A: Yes, but tediously. 10 hand-calculated scenarios is feasible; 10,000 demands software (Excel VBA, Python, Bloomberg, FactSet).

Q: Does Monte Carlo account for unknown unknowns? A: No. It quantifies known uncertainty (parameter variance). Black swans, regulatory shock, CEO death—those stay outside the model.

Q: How do I interpret a bimodal distribution (two peaks)? A: Suggests two distinct regimes in your scenarios (e.g., industry disruption vs. steady-state). Consider splitting into explicit Bull/Base/Bear cases for clarity.

Q: Should I adjust WACC for scenario risk? A: In a formal DCF, WACC is your baseline cost of capital. Monte Carlo variance comes from operational assumptions, not discount-rate tweaking. However, if a scenario materially changes firm risk (e.g., hostile M&A, high leverage), adjust the discount rate for that scenario.

  • Sensitivity Analysis: Single-variable "what-if" testing; foundation for defining Monte Carlo input ranges
  • Scenario Analysis: Discrete Bull/Base/Bear cases; often input into Monte Carlo as correlation structures
  • Value at Risk (VaR): Finance risk measure; percentile-based, mirrors Monte Carlo percentiles
  • Real Options Valuation: Extensions that value management flexibility; can be combined with Monte Carlo
  • Stochastic Modeling: General framework; Monte Carlo is one stochastic approach

Summary

Monte Carlo simulation transforms a point-estimate DCF into a probability distribution, turning "I think this stock is worth $X" into "There's an 80% chance it's worth between $A and $B." This shift from false precision to honest uncertainty lets you size positions, understand tail risk, and distinguish high-conviction bets from guesses.

The power lies in revealing which combinations of assumptions are most likely to drive outcomes, where your downside truly sits, and how sensitive your conclusion is to input error. For investors managing concentrated positions or making large allocation decisions, this layer of rigor separates disciplined process from coin flips.

Next Steps

Ready to translate your valuation assumptions into a decision framework? Creating Sensitivity Tables walks you through heat maps that make trade-offs visual and actionable.