Quant Sandbox
DerivativesPortfolio & RiskFixed IncomeCorporate FinanceProbability & MeasureStochastic ModelsMarket MicrostructureGuide
Guide
Derivatives pricing0 / 17
01Forwards, calls and puts02Combining positions03Arbitrage and the forward price04Put–call parity05The one-step binomial model06Risk-neutral probabilities07Multi-step trees and backward induction08American options and early exercise09Delta and hedging10Geometric Brownian motion11The Black–Scholes formula12The Greeks: gamma, vega, theta and rho13Options on dividend-paying stocks, indices, currencies and futures14Implied volatility and the volatility smile15Stochastic volatility and the Heston model16Static replication: Breeden–Litzenberger and Carr–Madan17Exotic options: barriers, Asians and digitals
Portfolio & risk0 / 12
01Returns and volatility02Diversification and correlation03The efficient frontier and the capital market line04Risk aversion and the optimal complete portfolio05CAPM, beta and the security market line06Performance measures: Sharpe, Treynor, Jensen and information ratio07Factor models and systematic risk08The Fama–French factor models09Value at Risk and expected shortfall10Systemic risk and contagion11Portfolio constraints and the no-short-sales frontier12Estimating expected returns and covariances
Fixed income0 / 10
01Bond prices and yields02Duration and convexity03Immunization and duration matching04Spot rates, forward rates and the yield curve05Non-parallel curve moves and key-rate durations06Bond futures and the cheapest-to-deliver07Interest rate swaps08Callable bonds and negative convexity09Credit risk: default probabilities and credit spreads10Real rates, inflation and inflation-linked bonds
Corporate finance0 / 10
01Interest, compounding and discounting02Annuities, perpetuities and loan amortization03Net present value and internal rate of return04Project risk: sensitivity, scenarios and Monte Carlo NPV05The weighted average cost of capital06Capital structure and the Modigliani–Miller theorems07Dividends, payout policy and the dividend discount model08Discounted cash flow valuation09Relative valuation with multiples10Real options: the value of flexibility
Probability and measure0 / 13
01Measuring the size of sets02σ-algebras and Borel sets03Lebesgue measure and null sets04Measurable functions05The Lebesgue integral06Convergence theorems07Probability spaces and Kolmogorov's axioms08Random variables and their distributions09Expectation, variance and inequalities10Independence and product measures11Modes of convergence and the law of large numbers12Conditional probability and conditional expectation13Measure theory in option pricing
Stochastic models0 / 17
01Random walks and Brownian motion02The law of large numbers and the central limit theorem03Probability spaces, σ-algebras and random variables04Filtrations, adapted processes and stopping times05Conditional expectation and martingales06Properties of Brownian motion07The reflection principle and first passage times08The Brownian bridge09The Itô integral10Itô's lemma11Kolmogorov equations and the Feynman–Kac formula12Change of measure and Girsanov's theorem13Monte Carlo option pricing14Simulating SDEs: the Euler–Maruyama scheme15Correlated Brownian motions and multi-asset models16Mean reversion: Ornstein–Uhlenbeck and Vasicek17Jumps and the Merton jump-diffusion model
Market microstructure0 / 11
01Market makers and liquidity02The limit order book03Queue position and fill probability04Adverse selection and informed trading05The Glosten–Milgrom model06Measuring and decomposing the bid–ask spread07Informed trading and Kyle's lambda08Price impact and optimal execution09Inventory risk and quote skewing10Optimal quoting: the Avellaneda–Stoikov model11Market making profit and loss attribution
Knowledge graph

© 2026 Quant Sandbox · A study aid for quantitative finance

Privacy & dataNo cookies

This site does not use cookies and asks for no personal data. It keeps a few small settings in your browser's local storage — your chosen theme and language, the sidebar layout, and your progress and answers in the Guides — so it remembers them on your next visit. This data never leaves your device; clearing your browser storage removes it. Inputs you change can also be captured in the page URL, so you can share or bookmark a specific setup. The site uses Vercel Web Analytics, a privacy-friendly, cookieless service that records only anonymous, aggregated usage (such as page views) without identifying you or tracking you across other sites.

Guides/Corporate finance/04

Project risk: sensitivity, scenarios and Monte Carlo NPV

Lesson 4 of 10 · 1 min read

"Net present value and internal rate of return" turned a project into one number: discount the cash flows at the rate rrr, subtract the investment, accept if the result is positive. Every input to that calculation, though, is a forecast. This lesson asks how much the NPV moves when the forecasts are wrong, and turns the single number into a range and then a distribution. The level cash flows are valued with the annuity factor from "Annuities, perpetuities and loan amortization".

One number hides the risk

Take a project that costs 1,000 today and runs for 5 years. Each year it sells 100 units at a price of 15, with a variable cost of 8 per unit and a fixed cost of 200. The discount rate is 8%. The annual cash flow is

CF=Q (P−c)−F=100×(15−8)−200=500,CF = Q\,(P - c) - F = 100 \times (15 - 8) - 200 = 500,CF=Q(P−c)−F=100×(15−8)−200=500,

and since it is the same every year, its present value is the cash flow times the 5-year annuity factor:

NPV=CF⋅1−(1+r)−Tr−I=500×3.9927−1,000=996.36.NPV = CF \cdot \frac{1 - (1+r)^{-T}}{r} - I = 500 \times 3.9927 - 1{,}000 = 996.36.NPV=CF⋅r1−(1+r)−T​−I=500×3.9927−1,000=996.36.

A positive NPV of almost 1,000 looks comfortable. But the 100 units and the price of 15 are guesses about a market that does not exist yet. Two projects with the same NPV can differ greatly in how likely they are to lose money, and the single number says nothing about that. The tools below, in increasing order of effort, describe that uncertainty.

Sensitivity analysis

Sensitivity analysis changes one input at a time, holding all the others at their base values, and records the NPV. A common convention is ±10% for every input, so the results are comparable. For the project above:

  • Units sold (90 / 110): NPV 716.87 / 1,275.84.
  • Price (13.50 / 16.50): NPV 397.45 / 1,595.26.
  • Unit cost (7.20 / 8.80): NPV 1,315.77 / 676.94.
  • Fixed cost (180 / 220): NPV 1,076.21 / 916.50.
  • Investment (900 / 1,100): NPV 1,096.36 / 896.36.
  • Discount rate (7.2% / 8.8%): NPV 1,039.17 / 954.96.

The price is by far the most important input: a 10% change in price moves the margin per unit from 7 to 5.50 or 8.50, which is a 21% change in the margin, and the NPV moves by about 600 either way. The discount rate matters least here. Sorting the inputs by the width of their range, often drawn as a tornado chart, tells you where to spend effort on better forecasts.

Worked example

Base NPV and a 10% change in units sold

  1. The annual cash flow at the base case.

    100×(15−8)−200\displaystyle 100 \times (15 - 8) - 200100×(15−8)−200=500
  2. The 5-year annuity factor at 8%.

    1−1.08−50.08\displaystyle \frac{1 - 1.08^{-5}}{0.08}0.081−1.08−5​=3.9927
  3. The base NPV.

    500×3.9927−1,000\displaystyle 500 \times 3.9927 - 1{,}000500×3.9927−1,000=996.36
  4. The cash flow with 10% fewer units (90).

    90×7−200\displaystyle 90 \times 7 - 20090×7−200=430
  5. The NPV with 90 units.

    430×3.9927−1,000\displaystyle 430 \times 3.9927 - 1{,}000430×3.9927−1,000=716.87
  6. The NPV with 110 units.

    570×3.9927−1,000\displaystyle 570 \times 3.9927 - 1{,}000570×3.9927−1,000=1,275.84

Break-even analysis

Sensitivity asks how much the NPV moves; break-even analysis asks how far an input can move before the NPV reaches zero. Because the NPV is linear in units sold here, the break-even can be found by hand: the project needs an annual cash flow of 1,000/3.9927=250.461{,}000 / 3.9927 = 250.461,000/3.9927=250.46, so

Q∗ (15−8)−200=250.46⇒Q∗=450.467=64.35.Q^{*}\,(15 - 8) - 200 = 250.46 \quad\Rightarrow\quad Q^{*} = \frac{450.46}{7} = 64.35.Q∗(15−8)−200=250.46⇒Q∗=7450.46​=64.35.

Sales can fall by more than a third before the project destroys value. The same reasoning gives a break-even price of 12.50 (17% below the base) and a break-even unit cost of 10.50 (31% above). For inputs that enter non-linearly, such as the discount rate, the break-even is found numerically; for the rate it is the IRR. A break-even close to the base value is a warning that a modest forecast error will flip the decision.

Scenario analysis

Inputs rarely move one at a time. A weak market usually means both fewer units and a lower price. Scenario analysis moves several inputs together into a consistent story. With a best case of 120 units at 16.50 and a worst case of 80 units at 13.50 (all else at base), the NPV is 2,274.02 in the best case, 996.36 in the base case and −41.75 in the worst case. The joint move is much larger than either one-input range, and the worst case is now a loss.

Scenarios are easy to explain to a decision maker, but they show only three points. They do not say how likely the worst case is, and the choice of 'worst' is itself a judgement.

Monte Carlo simulation

Monte Carlo simulation replaces each uncertain input by a probability distribution, draws many joint samples, and computes the NPV for each one. The result is a whole distribution of NPVs. In the figure, units sold are normal with mean 100 and standard deviation 20, the price is normal with mean 15 and standard deviation 1.5 (both truncated at zero), and the other inputs are fixed. The standard deviation is the same measure of spread as in "Returns and volatility"; here it measures how far a forecast is likely to be off.

Distribution of project NPVOpen in NPV / IRR
20
040
1.5
03
NPV at the base case
996.36
Mean simulated NPV
993.77
P(NPV < 0)
11.0%
5th percentile of NPV
-271.85

With 5,000 seeded draws at the default settings, the base-case NPV is 996.36, the mean of the simulated NPVs is 993.77 (the inputs enter almost linearly, so the mean stays close to the base case, apart from sampling noise), the probability of a negative NPV is 11.0% and the 5th percentile is −271.85. Set both standard deviations to zero and the histogram collapses to a single bar at 996.36; widen them and the mass left of the zero marker grows.

The simulation is only as good as its input distributions. Units and price are drawn independently here; in practice they are often correlated (a high price may cut sales), and ignoring that correlation can make the spread too wide or too narrow.

What to do with the distribution

The mean simulated NPV is still the number to compare with zero when the firm is diversified and the rate rrr already prices the project's risk. Discounting at rrr and then penalising the spread again would count the risk twice. The distribution adds information that the mean does not: the probability of a loss, the size of a bad outcome (the 5th percentile, the same idea as value at risk), and which inputs drive the downside. That information guides practical decisions: whether to run a pilot to learn about demand before investing in full, whether to sign a fixed-price contract to remove price risk, or whether the firm can survive the bad tail at all.

Some of those decisions are themselves valuable: the right to wait, expand or abandon once the uncertainty resolves is worth more the wider the distribution. That is the subject of the real options lesson later in this track.

Summary

  • A single NPV hides how uncertain its inputs are; the same NPV can carry very different risk.
  • Sensitivity analysis moves one input at a time (for example ±10%) and ranks the inputs by their effect on NPV.
  • Break-even analysis finds the value of an input at which NPV is zero; for the default project, 64.35 units a year.
  • Scenario analysis moves several inputs together into best, base and worst cases.
  • Monte Carlo simulation gives the whole NPV distribution: its mean, the probability of a loss and percentiles of the downside.
Try itOpen the NPV & IRR Lab to run sensitivities and scenarios on your own cash flows
2 questions on this lesson at the end of the series
Previous · 03Net present value and internal rate of returnNext · 05The weighted average cost of capital
Connections

Project risk: sensitivity, scenarios and Monte Carlo NPV

Open the full graph
Builds on
04.03Net present value and internal rate of return04.02Annuities, perpetuities and loan amortization02.01Returns and volatility
Leads to
04.05The weighted average cost of capital
See it in the knowledge graph
Labs for this lesson
NPV / IRRMonte Carlo