Chapter Field Guide · DCF Valuation
What Would You Have to Believe?
A DCF sensitivity table doesn't give you the right price — it maps every combination of assumptions to a different answer, and your job is to figure out which combinations are realistic.
The sensitivity table isn't an output. It's a lie detector for your own assumptions.
Try it first
Enter four numbers from your DCF. The table will show which assumption combinations justify the stock — and which don't.
Why a single DCF number is almost always wrong
A DCF that returns one number is a model that finished too early. Two competent analysts working from the same 10-K can produce intrinsic value estimates that differ by 40% — not because one made an error, but because each chose slightly different values for WACC and terminal growth rate. Those two inputs, varied within a defensible range, are enough to span a $24 gap on a $60 stock.
The math is direct. A stock priced at $60 might be fairly valued at a 9% discount rate and 2.5% terminal growth — or worth $43 if you use 11% and 1.5%, or $89 if you use 8.5% and 3%. All three combinations are defensible for a typical large-cap industrial. None is obviously wrong. The fact that three honest models point in three directions isn't a failure of the methodology. It's what the methodology is telling you: this output is entirely a function of your assumptions, and you'd better understand which ones move the needle before acting on any particular number.
A point estimate hides the decisions the modeler made when they chose a single WACC and a single terminal growth rate. It also creates a false anchor — once you've written "$47.32" in a cell, that number starts to feel like a fact. Sensitivity analysis undoes that. A table that shows 25 combinations of WACC and TGR, with a different implied value in each cell, is more honest about what the model actually does than a single headline figure dressed up to look like a conclusion.
The other reason sensitivity analysis is the actual point of the exercise: it forces you to choose ranges deliberately. Picking a WACC of 9.5% and never questioning it is easy when the model runs to one number. Building a table requires you to decide what 9.5% ± 150bps means — which requires you to think about why your discount rate is where it is, and what would have to be different for it to move. That's the discipline the single-output model lets you skip.
The two variables that control almost everything
In a standard 10-year DCF, terminal value accounts for 60–80% of total estimated intrinsic value. This isn't a modeling quirk. It follows from the math of discounting. The first ten years of free cash flow — even if you forecast them with precision — represent a minority of what you're paying for when you buy most established companies. The majority of the value sits in the terminal period, where a single assumption about perpetual growth determines everything.
That's why WACC and terminal growth rate (TGR) control most of the output variance. Both inputs flow through the terminal value formula — TV = FCF × (1+g) / (r−g) — where their combined effect is amplified by the (r−g) denominator. At WACC=10% and TGR=2%, that denominator is 8%. At WACC=9% and TGR=3%, it's 6% — a 25% smaller denominator, which means a 33% larger terminal value, which means a substantially higher per-share estimate. From two one-point moves.
Near-term revenue forecasts have much smaller leverage. Getting year-3 revenue exactly right changes your year-3 free cash flow estimate, which you then discount by roughly 0.75 on a 10% discount rate. Even a 10% error in year-3 FCF moves total intrinsic value by 2–3%. A one-point error in TGR moves it by 15–25%. The two errors are not in the same neighborhood. A sensitivity table makes this asymmetry visible in a way that a single output never does.
How to build a two-variable sensitivity table
The mechanics are simpler than they look. You need a base case: a WACC, a TGR, and an implied equity value at those assumptions. Then you build a grid — WACC across one axis, TGR across the other — and recalculate intrinsic value for each combination. Twenty-five cells in a 5×5 table, each one a different answer.
Setting the WACC range. Center your WACC axis on your base case and extend ±150bps in 50bps increments. So if your base is 9.5%, the axis runs 8.0%, 8.5%, 9.0%, 9.5%, 10.0%, 10.5%, 11.0%. The 150bps range isn't arbitrary — it reflects the genuine uncertainty in cost of equity estimation. The equity risk premium has been estimated at anywhere from 3% to 7% depending on methodology and time period. A 300bps range on WACC captures most of the defensible variation without going to extremes that require specific macro views.
For high-beta or highly leveraged businesses, consider extending to ±200bps. For regulated utilities or long-term contracted assets, ±100bps may be all the variation that's realistic — their capital costs are more tightly bounded. The range should reflect what's plausible for this specific business, not what fits neatly in a spreadsheet.
Setting the TGR range. Center on your base case and run ±100bps in 50bps steps. If your base TGR is 2.5%, the axis runs 1.5%, 2.0%, 2.5%, 3.0%, 3.5%. One sanity check on your entire axis: TGR should not exceed long-run nominal GDP growth. The US economy has grown roughly 5–6% nominally over recent decades. A company that grows faster than the whole economy forever eventually becomes the whole economy. For most stable businesses, a TGR above 4% requires explicit justification, and above 4.5% it's almost never supportable as a perpetuity assumption.
For early-stage businesses or sectors with genuinely unclear long-run competitive dynamics — think certain biotech platforms, or businesses that depend on a single expiring patent — widen the TGR range and don't pretend the lower end is unlikely. For a regulated utility with 25-year contracts, a range of 1.5%–3.5% probably covers 95% of realistic outcomes.
The recalculation shortcut. You don't need to rerun the full DCF for each of the 25 cells. Because terminal value dominates, you can approximate it by holding the explicit forecast period constant and recalculating only the terminal value at each WACC/TGR combination, then re-discounting it back. The error this introduces — from not also adjusting the discount factors on years 1–10 — is small relative to the range you're trying to illustrate. For a production-grade model, recalculate fully. For a quick stress-test, the shortcut is honest enough.
- Expand the range when the business is early-stage, highly cyclical, operates in a sector undergoing structural change, or carries significant debt that could alter cost of capital.
- Keep the range tight when the business has stable, recurring revenue (utilities, long-term contracted infrastructure), well-understood unit economics, and low financial leverage.
- Always check the corners. The bottom-left cell (lowest WACC, highest TGR) and top-right cell (highest WACC, lowest TGR) are your bull and bear cases expressed in pure assumption space. If the corner-to-corner range is 2× or more, the model is telling you that this stock's valuation is genuinely uncertain — and that margin of safety matters more than usual.
Reading the table from the stock price backward
Most investors use a sensitivity table to find the range of values their model produces, then compare that range to the stock price. That approach is fine. But the more powerful use is the reverse: start with the stock price and find where it sits on the table. The cell that matches the current price tells you exactly which combination of WACC and TGR the market is pricing in. Your job is then to decide whether that combination is realistic.
Take a hypothetical: a specialty manufacturer trades at $52. Your sensitivity table shows that $52 sits in the cell where WACC = 9.0% and TGR = 3.0%. Every cell above and to the right — higher WACC, lower TGR — implies a value below $52. Every cell below and to the left implies a value above $52. The market, in other words, is betting on 9% cost of capital and 3% perpetual growth. Is that bet reasonable?
If 10-year Treasuries are at 4.5% and the company carries meaningful operating leverage, a 9% WACC is probably optimistic. Your own base WACC is 10.5%. And the industry's long-run nominal growth has averaged 2.1% for the past 20 years. The stock only pencils out under assumptions you don't believe — a lower discount rate and a higher terminal growth rate than you can justify. That's your answer. You don't need to say the stock is overvalued by a precise percentage. You need to say: the market is pricing in assumptions I think are too generous, and I can name them specifically.
The same logic works when the stock looks cheap. If the current price sits in the top-right corner of your table — implying the highest WACC and lowest TGR — and you think those assumptions are too conservative, you've identified where the market is being pessimistic. Combined with a margin of safety requirement, that's a cleaner investment thesis than "my DCF says it's worth $X."
One practical note: if the current price falls between cells, interpolate. A price between the $48 cell and the $55 cell corresponds to assumptions between those two combinations. Close enough to identify the general region of the table where the market lives — which is all you need for the belief audit to work.
Common mistakes that make sensitivity tables useless
A sensitivity table is only as useful as its range is honest. These are the specific ways they get corrupted:
- Ranges that are too narrow. A WACC range of ±25bps is not stress-testing — it's illustrating rounding error. If all 25 cells in your table show values within 5% of each other, you've built a table that confirms your point estimate with extra steps. The range should be wide enough that the cells in opposite corners tell genuinely different stories about the investment.
- Anchoring both variables on consensus. If your base WACC comes from a sell-side model and your base TGR comes from the same model's assumptions, your sensitivity table is a perturbation around consensus — not an independent view. The range will look like due diligence while actually validating whatever the street already thinks. Build your own base first, then range around it.
- Ignoring operating leverage. A sensitivity table that moves WACC and TGR while holding FCF margins fixed understates true variance for businesses with high operating leverage. If a company converts 8% of revenue to FCF at current volumes but covering fixed costs requires 65% capacity utilization, a revenue miss doesn't miss the FCF estimate by the same percentage — it misses by more. The table you build should account for that asymmetry, or at least note that margin assumptions are themselves uncertain.
- TGR above nominal GDP without justification. Using 4% or 5% terminal growth in a table centered on a mature business isn't stress-testing upside — it's assuming the company eventually outgrows the economy it operates in. If those cells show attractive values, they're not telling you the stock is cheap. They're telling you that heroic assumptions are required to make it look cheap. Label them accordingly.
- Not reading the table alongside the business cycle. A sensitivity table built at the peak of a cycle — when current FCF is the highest it's ever been — will systematically overstate value if you're projecting from that peak. The base FCF that flows into your terminal value calculation should be normalized, not cyclical peak. This applies especially to commodity-linked businesses, semiconductors, and anything tied to housing or consumer durables.
Each of these mistakes produces the same bad outcome in a different way: a table that looks rigorous but doesn't actually test anything. The tell is a sensitivity table where no cell produces a value that would change your conclusion. If every cell says "buy" regardless of the WACC and TGR combo, either the stock is genuinely cheap across a realistic range of assumptions — or the range isn't realistic.
Questions worth asking
Which variables should I always include in a DCF sensitivity analysis?
Start with WACC and terminal growth rate — they drive the most variance in any standard DCF because terminal value typically represents 60–80% of the total. After those two, the next most useful variable depends on the business: for high-margin software, it's revenue growth; for capital-intensive industrials, it's reinvestment rate or margin assumptions. Don't add variables just to look thorough — every extra dimension makes the table harder to interpret.
How wide should my sensitivity ranges be?
A useful rule of thumb: WACC range should reflect genuine uncertainty about cost of capital, typically ±100–200bps from your base. For TGR, ±75–125bps is reasonable for most businesses, but widen it for early-stage companies or industries with unclear long-run economics. If your range is so narrow that all 25 cells show roughly the same value, you haven't tested anything — you've just confirmed your point estimate with extra steps.
My sensitivity table shows a huge range — does that mean DCF is useless for this stock?
Not useless, just honest. A wide output range means the valuation is highly sensitive to assumptions that are genuinely hard to forecast — that's a real signal about the stock, not a failure of the model. The right takeaway is that you shouldn't buy this stock unless you have a well-grounded view on the inputs that move the needle most, and that view is differentiated from what the market is pricing in.
How is sensitivity analysis different from scenario analysis?
Sensitivity analysis moves one or two variables at a time, holding everything else constant, to isolate what matters most. Scenario analysis builds coherent alternative stories — bull, base, bear — where multiple variables shift together in ways that actually make sense (a recession scenario drops revenue AND expands WACC AND cuts margins simultaneously). Both are useful. Sensitivity tells you what's fragile; scenario analysis tells you how bad the bad outcomes actually are.
Can I do DCF sensitivity analysis without building a full DCF model?
Yes. If you have an implied equity value from a source you trust — a sell-side model, a back-of-envelope calculation — you can use that as your base and stress-test just the terminal value component. Since terminal value dominates most DCFs, this gets you 80% of the insight with a fraction of the work. The interactive table on this page is built exactly for that use case.