When you evaluate a project’s feasibility, the headline numbers (NPV, IRR, payback) are only as good as the assumptions behind them. Scenario and sensitivity analysis help you understand which assumptions matter most, how risk propagates through your model, and what to plan for.
Below is a practical workflow I use, the variables that typically have the largest impact, and the tools/methods to simulate outcomes.
1) Define the core model outputs
Decide what you care about (examples):
NPV (Net Present Value)
IRR (Internal Rate of Return)
Cash-flow shortfalls / debt service coverage
Payback period
All analysis will measure how these outputs change as inputs vary.
2) Identify high-impact variables
Start with a brainstorming session and historical data (if available). Common high-impact inputs for real-estate / development projects:
Acquisition/Land Cost — single biggest upfront U/O change.
Construction / Capex Costs — material & labor escalation.
Schedule / Time to Completion — delays push costs and defer revenue.
Financing Costs — interest rates, margins, loan terms.
Sales or Rental Prices — market demand changes.
Occupancy / Lease-up Rates — affects cash flow timing.
Operating Costs & Taxes — recurring drains on cash flow.
Contingency & Escalation Assumptions — buffers that can be exceeded.
If you must prioritize three: construction costs, schedule delays, and financing costs almost always move the needle the most.
3) Sensitivity analysis (one-variable at a time)
Purpose: find the inputs your outputs are most sensitive to.
How to do it (Excel quick method):
Pick an input (e.g., construction cost).
Create a table with output values for a range (-20%, -10%, 0%, +10%, +20%).
Plot results (line chart) — steeper slope = higher sensitivity.
Use a Tornado chart to rank variables:
For each variable, record output at low and high values (e.g., -10% / +10%).
Compute the range impact on the output.
Sort and display as horizontal bars — longest bars at top = highest impact.
Tornado charts are fast and very communicable to stakeholders.
4) Scenario analysis (multi-variable assumptions)
Purpose: create coherent storylines (Best, Base, Worst).
Common approach:
Base Case: most likely assumptions.
Upside: optimistic price growth, on-time completion, lower financing costs.
Downside: cost overruns, 6–12 month delay, interest rate shock.
Build full-model scenarios (either separate copies or scenario manager) and report key outputs for each. Present probabilities if you can (e.g., 60% base, 25% downside, 15% upside).
5) Monte Carlo simulation (probabilistic approach)
Purpose: capture joint uncertainty across multiple inputs and produce distributions (e.g., NPV P90/P50/P10).
Steps:
Assign probability distributions to key variables (normal, triangular, or uniform).
Run thousands of random draws, calculating outputs each iteration.
Examine output distribution: mean, median, standard deviation, and percentiles.
Present probability of meeting thresholds (e.g., P(NPV>0) = 72%).
Monte Carlo is powerful but requires careful selection of distributions and attention to correlations (e.g., construction cost inflation often correlates with schedule delays).
6) Tools & methods
Excel: data tables, scenario manager, tornado charts (good for quick analysis).
Add-ins: @RISK, Crystal Ball — Monte Carlo and distribution fitting.
Python / R: numpy, pandas, scipy, and libraries for simulation (good for automation and reproducibility).
Specialized platforms: purpose-built feasibility/modeling tools that integrate scenario testing and reporting (useful for repeatable workflows across projects).
Choose tools based on repeatability, auditability, and stakeholder familiarity.
7) Practical tips & communication
Be transparent: show assumptions and ranges.
Use visuals: tornado charts, box plots, probability curves.
Document correlations: independent sampling gives unrealistic risk profiles.
Stress test the downside: show tail risk (what knocks you below critical covenants).
Actionable outputs: link results to mitigation (e.g., increase contingency, change financing structure, stage investments).
Closing / Discussion
What approaches have you used for scenario/sensitivity analysis in your projects?
Which variables surprised you with their impact, and which tools did you find most reliable for Monte Carlo or tornado analyses?
Would love to hear real examples or templates you’ve found useful. 👇