Skip to content
Module 10 of 1255 min readIntermediate

Sensitivity and scenarios

Data tables, the tornado chart, the Scenario Manager, and the reverse DCF — presenting a range, never a single false point.

83%

Listen along

Read “Sensitivity and scenarios” aloud

Plays in your browser using on-device text-to-speech — nothing leaves the page.

Learning objectives

By the end of this module, you should be able to:

  • 01Explain why a model's output is a range, not a point — and present it that way
  • 02Build one-way and two-way data tables in Excel (Data > What-If Analysis > Data Table), including Sokoni's WACC x terminal-growth grid
  • 03Rank inputs with a tornado chart and store coherent base/bull/bear cases in the Scenario Manager
  • 04Run a reverse DCF — solve for the WACC or growth the current price implies — as the most honest sanity check of all

By the time you reach this module you have a complete, balancing model of Sokoni — three linked statements and a DCF that reads a value per share of about KES 1.10 off the free cash flow. The temptation now is to write that number at the top of a slide and call the work done. Resist it. The 1.10 is the single least interesting thing the model can tell you, because it is the output you are most certain is wrong. Every input that produced it — the discount rate, the terminal growth rate, the revenue path — is an estimate with a range around it, and the honest question is not 'what is Sokoni worth' but 'how much does the answer move when those estimates move, and which of them is carrying the result'.

Why you present a range, never a single point

A point estimate pretends to a precision the inputs do not have. Two of Sokoni's assumptions — the WACC and the perpetual growth rate — can each be shifted a point or two without anyone being able to call you wrong, and between them they swing the value per share by more than half in either direction. A senior analyst does not defend the 1.10; they defend a range and the direction each input pushes the answer. The discipline of this module is to make that range visible, to rank the inputs by how much they matter, and to state plainly what someone would have to believe for the value to be much higher or much lower than the price the market is quoting. The number is where the argument starts, not where it ends.

One-way and two-way data tables

Excel builds these grids for you with a tool most analysts never learn properly: Data > What-If Analysis > Data Table. A one-way data table sweeps a single input down a list of values and records what one output does: you lay the input values down a column, put a formula referencing the output cell one row up and one column to the right, select the block, and point the 'column input cell' at the assumption you are sweeping. Excel substitutes each value in turn and reads the answer back. A two-way data table does the same across two inputs at once — one set of values along the top row, the other down the left column, and the output formula sitting in the corner where the two axes meet. You nominate both a 'row input cell' and a 'column input cell', and Excel fills the whole grid. The one trap that catches everyone: the formula must live in that top-left corner and must reference the model's real output, and the two cells you nominate must be the actual blue assumption cells the model reads from. Point them at a hardcoded copy of an input and the grid will sit there returning the same number in every cell. The interactive model at /dcf-model renders exactly this grid live in the browser, recalculating as you drag WACC and growth.

Sokoni's WACC x terminal-growth grid

  • How to read it: columns are WACC (13% to 17%); rows are the perpetual growth rate g (3.0% to 5.0%); each cell is the value per share, in KES, that the full Sokoni model returns for that pair. The base case (WACC 15%, g 4%) sits in the centre at 1.10.
  • g = 3.0% -> WACC 13%: 1.37 | 14%: 1.16 | 15%: 0.99 | 16%: 0.84 | 17%: 0.72
  • g = 3.5% -> WACC 13%: 1.45 | 14%: 1.23 | 15%: 1.04 | 16%: 0.89 | 17%: 0.76
  • g = 4.0% -> WACC 13%: 1.54 | 14%: 1.30 | 15%: 1.10 (base case) | 16%: 0.93 | 17%: 0.80
  • g = 4.5% -> WACC 13%: 1.64 | 14%: 1.38 | 15%: 1.16 | 16%: 0.99 | 17%: 0.84
  • g = 5.0% -> WACC 13%: 1.76 | 14%: 1.47 | 15%: 1.23 | 16%: 1.04 | 17%: 0.88

Read it the way a decision-maker should. First, the base case is the centre cell by design: you place your single best estimate of each input at the middle of its plausible band so there is equal room for error on both sides. Second, the spread. Value runs from 0.72 in the bottom-right corner (the harshest plausible pair, WACC 17% with g 3%) to 1.76 in the top-left (the kindest, WACC 13% with g 5%) — a range of roughly 2.4 times on inputs none of which is indefensible. That width is the conviction statement: you cannot honestly tell anyone Sokoni is 'worth 1.10', but you can tell them it is worth roughly 0.9 to 1.4 across the core of the grid and 0.7 to 1.8 at the edges. Third, which input matters more. Hold g at 4% and slide WACC from 13% to 17% and the value moves from 1.54 to 0.80 — a swing of 0.74. Hold WACC at 15% and slide g from 3% to 5% and it moves from 0.99 to 1.23 — a swing of only 0.24. Per point of input, WACC moves the answer about half as much again as growth does. WACC is the assumption to defend hardest, and that is no accident: terminal value is about 64% of Sokoni's enterprise value, and the discount rate compounds against that large, distant number the hardest.

Present the range, not the point

The deliverable that leaves your desk is never a single number. It is the base case, clearly labelled; the grid around it; the plausible range read off that grid; and one sentence naming the input the answer is most sensitive to. A reader handed '1.10' has been told less than the model knows and given a false sense of precision. A reader handed 'base case 1.10, plausible range 0.9 to 1.4, most sensitive to WACC' has been told the truth, and can make a decision that respects the uncertainty rather than one that pretends it away.

The tornado chart and the Scenario Manager

Two tools finish the job the data table starts. The tornado chart ranks the inputs. You take each assumption in turn — WACC, terminal growth, revenue growth, gross margin, working-capital days, capex intensity — flex it alone from the low to the high end of its plausible range while holding everything else at base, and record the swing it produces in the value per share. Plot those swings as horizontal bars, longest at the top, and you get the tornado shape: at a glance it shows which two or three assumptions actually carry the valuation and which are rounding error. For Sokoni the tornado puts WACC on top and terminal growth second, with the operating assumptions well below — which is exactly why you spend your preparation on the WACC build and not on the fourth-year gross margin. The Scenario Manager (Data > What-If Analysis > Scenario Manager) does something the data table cannot: it stores named, coherent cases. A data table sweeps one or two inputs mechanically with everything else frozen; a scenario moves many inputs together to tell a consistent story. You define Base, Bull, and Bear as named sets of the blue input cells — the Bull combining faster revenue, a held margin, and a lower WACC because the same benign world delivers all three, the Bear being its mirror — and Excel flips between them and lays them side by side in a summary. The two tools answer different questions: the tornado asks 'which input should I worry about', the Scenario Manager asks 'what does the whole world look like if I am right, or wrong'.

The reverse DCF — the most honest check of all

Every technique so far starts from your assumptions and produces a value. The reverse DCF turns the model around: it starts from the market price and asks what you would have to believe to justify it. Suppose Sokoni trades at KES 0.90 against your base case of 1.10. Point Excel's Goal Seek at the value-per-share cell, set it to 0.90, and let it change the WACC: it returns about 16.2%. Do it again changing the growth rate instead: it returns about 2.1%. Now judge those implied numbers, because that is the entire point. A 16.2% WACC is barely above your 15% base and entirely plausible, so the market's small discount is best read as it wanting a slightly higher risk premium than you do — an argument you can have honestly and might even lose. A 2.1% perpetual growth rate, by contrast, is below Kenyan inflation and implies Sokoni shrinks in real terms forever, which is a hard story to tell about a growing FMCG. The reverse DCF is the most honest sanity check you own because it stops you arguing with the market in the abstract and forces the disagreement into a single number you can either defend or concede. You build the whole thing in the /templates/3-statement-financial-model workbook; when the model and the market disagree, the reverse DCF tells you precisely what the disagreement is about.

The tools that shadow this module

Two LeadAfrik companions make this concrete. The interactive model at /dcf-model renders the WACC x terminal-growth grid live — drag the two inputs and watch every cell, and the value per share, recompute. The downloadable /templates/3-statement-financial-model is where you build the two-way data table and the Scenario Manager yourself, on the model you have constructed over the previous modules, and where Goal Seek — one menu item away — runs the reverse DCF for you.

Check your understanding

In Sokoni's grid, holding g at 4% and moving WACC 13% -> 17% swings value 1.54 -> 0.80 (a spread of 0.74); holding WACC at 15% and moving g 3% -> 5% swings it 0.99 -> 1.23 (a spread of 0.24). What does this tell you?

Check your understanding

Sokoni's base-case value is 1.10 a share and the stock trades at 0.90. What is the margin of safety (%)?

%

Check your understanding

A reverse DCF holds g at 4% and solves for the WACC that justifies the 0.90 market price, returning about 16.2%. How should you read that?

Exercise · try it first

The investment committee wants 'the number' for Sokoni. You hand them the WACC x terminal-growth table instead. Columns are WACC (13/14/15/16/17%); rows are g (3.0/3.5/4.0/4.5/5.0%). The value per share runs from about 0.72 in the WACC 17% / g 3% corner to about 1.76 in the WACC 13% / g 5% corner, with the base case at 1.10 (WACC 15%, g 4%); across the WACC axis at g 4% it moves 1.54 to 0.80, and across the g axis at WACC 15% it moves 0.99 to 1.23. Interpret the table for the committee: (1) which cell is the base case, and why it sits where it does; (2) what the spread says about your conviction; (3) which of the two inputs the answer is more sensitive to, and what that means for what you defend; (4) how you would present this instead of a single point — including one reverse-DCF sentence given the shares trade at KES 0.90.

Stuck? Ask Mwalimu (bottom-right) to check your reasoning.

Key takeaways

  • Present the base case and the range around it, never a single number — the spread is a statement about your conviction
  • The two-way WACC x terminal-growth data table is the standard grid; the tornado tells you which assumption to defend hardest
  • The Scenario Manager stores named, internally-consistent cases so you flip between whole worlds without breaking a formula
  • The reverse DCF flips the question: what must you believe to justify today's price, and is that belief plausible?

Further reading

  1. 01

    Financial Modeling

    Simon Benninga · MIT Press · 2014The data-table and sensitivity chapters are the standard reference for the Excel mechanics.

  2. 02

    Probabilistic Approaches: Scenario Analysis, Decision Trees and Simulations

    Aswath Damodaran · NYU Stern (working paper) · 2009Why a range beats a point, and when a full simulation earns its keep.

  3. 03

    Principles of Financial Modelling: Model Design and Best Practices Using Excel and VBA

    Michael Rees · Wiley · 2018A senior-practitioner treatment of sensitivity, scenarios, and model architecture.

Loading progress…
LeadAfrikPublic Economics Hub