Unit 10 · Unit 10: Outputs & Troubleshooting
Turn a finished model into a decision: read the outputs that matter, stress-test the answer, and find the bug before someone else does.
A model earns its keep through a few headline outputs, not a wall of numbers.
After nine units of plumbing, the model finally has to say something. The temptation is to present everything — every line of every statement for every year. Resist it. A decision-maker needs a small set of outputs: where revenue, EPS, and free cash flow are heading; how profitable and capital-efficient the business is over the forecast; and a single, defensible valuation conclusion. Everything else is supporting evidence.
FCFF = EBIT x (1 - tax rate) + D&A - CapEx - ΔNet working capitalFCFF is the cash the business throws off before financing choices. It is the raw material of an intrinsic valuation, and the trajectory of FCFF is usually the single most important output.
Lead with the conclusion On a desk, the first line of any output is the answer: 'We value the shares at $X, implying Y% upside.' The supporting detail comes after. If a reader has to dig for the conclusion, the model has failed as a communication tool.
In the workspace these outputs live on dedicated tabs. The Income Statement, Cash Flow, and Balance Sheet tabs hold the full statements; the Ratios tab carries margins, returns, and the DuPont decomposition; the Capital Returns tab shows dividends and buybacks; and the Valuation tab pulls it together into a per-share conclusion. You read the story across these tabs rather than rebuilding a summary by hand.
A valuation is a range, not a point — sensitivity shows how the answer breathes.
No single valuation is correct, because no set of assumptions is certain. Sensitivity analysis is how you turn one number into an honest range: you flex the two or three assumptions that matter most and watch the conclusion move. It answers the question every reader actually has — 'how wrong could this be, and what would have to be true for it to be wrong?'
The classic format is a two-way data table: one key driver on the rows, another on the columns, the valuation in the cells. The most common pairing for an intrinsic valuation is the discount rate against the terminal (long-run) growth rate, because the conclusion is usually most sensitive to those two. For an operating story you might instead flex revenue growth against operating margin.
| Discount rate ↓ / Terminal g → | 2.0% | 2.5% | 3.0% |
|---|---|---|---|
| 8.0% | $182 | $201 | $226 |
| 9.0% | $150 | $162 | $178 |
| 10.0% | $127 | $136 | $147 |
Sensitivity vs. scenario A sensitivity flexes one or two assumptions in isolation to map the slope of the answer. A scenario (Base / Bull / Bear, from Unit 2) flexes a whole coherent set of assumptions at once. You need both: scenarios tell a story, sensitivities tell you which assumption to argue about.
Live, not stale The Sensitivity tab recomputes the whole grid from the live engine whenever an assumption changes, so it never drifts out of sync with the model — unlike an Excel data table you build once and forget to refresh.
Five classic errors account for the overwhelming majority of broken models.
Most modelling errors are not exotic. A handful of recurring mistakes account for the vast majority of broken models, and learning to recognise their fingerprints saves hours. The worst of them is the balance sheet that won't balance — which is precisely the bug this tool makes impossible.
| Error | What it is | Fingerprint |
|---|---|---|
| Hard-code | A number typed inside a formula instead of referenced from assumptions | An output won't move when you change the assumption that should drive it |
| Broken link | A formula pointing at the wrong cell, row, or period | A line jumps, flatlines, or references the wrong year |
| Sign error | A cost added instead of subtracted, or cash flow with the wrong sign | Totals are off by roughly twice the offending item |
| Out-of-balance BS | Assets ≠ liabilities + equity | A non-zero balance check; usually a missed cash-flow link |
| Circular reference | Interest depends on debt, which depends on cash, which depends on interest | The model errors, oscillates, or needs iterative calculation |
Circularity is the sneaky one Interest expense depends on the debt balance, which depends on the cash position, which depends on... interest expense. This loop is real finance, not a mistake — but handled carelessly in Excel it forces iterative calculation that can silently diverge or zero out. A revolver that funds shortfalls and sweeps surpluses is the textbook trigger.
The hardest Excel bug can't happen here Because the engine links the three statements automatically and uses a balance-sheet plug and a cash-flow plug, assets always equal liabilities plus equity by construction. The capital-allocation engine's revolver resolves the interest/cash/debt loop deterministically, so the out-of-balance balance sheet and the runaway circular reference — the two bugs that consume the most analyst time in Excel — are designed out.
Isolate a bug to one statement, one period, and one line — then fix it.
When something looks wrong, don't stare at the whole model. Debugging is a search problem: each step should cut the space of possible causes roughly in half. Start broad and narrow until the bug has nowhere to hide — a statement, a period, a line.
Balance check = Total assets - (Total liabilities + Shareholders' equity)This should be exactly zero in every period. The first non-zero period is the single most valuable clue in any debugging session. In this tool it is always zero by construction.
Reverse solvers: debugging in the other direction Sometimes the question isn't 'what does this assumption produce?' but 'what assumption would produce this result?'. The ROE and ROA reverse solvers work backwards from a target return to the implied driver, which is also a powerful sanity check: if hitting a plausible ROE requires an implausible margin or turnover, the story doesn't hold together.
Finish by writing the executive summary: lead with the valuation conclusion and the case it came from, show the two or three assumptions the answer is most sensitive to, and flag any fragility the sensitivity grid revealed. A reader should be able to challenge your number without opening a single statement tab.