Account
Workbooks / finance / dcf-3stage

3-Stage DCF Model

A DCF that doesn't hide its assumptions in seven nested IFs.

finance v3.1 2026-04-21 3 sheets 6 λ
DCF.Model.v3.xlsx

Two-tab valuation with sensitivity table and built-in scenario flips. Drop in your projections; the model walks revenue → unlevered FCF → enterprise value across three growth stages and prints a two-way sensitivity grid against WACC and terminal growth.

In the box

  • One .xlsx file — three sheets (Inputs, Model, Sensitivity) plus a README tab.
  • Six named LAMBDAs in the Name Manager: DCF.PV, DCF.STAGE, DCF.WACC, DCF.TERMINAL, DCF.GROWTH, DCF.STUB.
  • Color-coded inputs (blue), formulas (black), outputs (green) — auditable end-to-end.
  • A two-way sensitivity grid against WACC × terminal growth, regenerated on every input change.
  • Compatibility notes in README for Sheets and pre-365 Excel.

Assumptions

VariableDefaultNotes
WACC 11.0% Cell C14 — change in the Inputs sheet
Terminal growth (g) 2.5% Cell C15 — bounded ≤ WACC − 100bps
Forecast horizon 5 years Three growth stages: hyper, fade, terminal
Tax rate 21.0% Statutory US federal — overridable
Working-capital % of revenue 12.0% Applied to ΔRevenue, not Revenue
Stub period mid-year Half-year discounting convention

Compatibility

TargetStatusNotes
Excel 365 (Windows) ok Full support
Excel 365 (Mac) ok Full support
Excel 2021 ok Full support
Excel 2019 warn No LAMBDA — falls back to helper columns
Google Sheets warn LAMBDA syntax differs slightly — README notes
LibreOffice Calc err Not supported

Changelog

v@c.V 2026-04-21 patch
  • Fixed off-by-one in terminal-period discount factor.
  • README clarifies stub-period convention.
v@c.V 2026-02-08 major
  • Rewrote engine on `LAMBDA` + `REDUCE` — model now ~40% smaller.
  • Sensitivity grid is now a single dynamic array.
  • Breaking: renamed `wacc_rate` → `WACC`.
v@c.V 2025-11-14 minor
  • Added mid-year discounting toggle.
  • New Inputs validation: WACC ≥ g + 100bps.
v@c.V 2025-09-02 patch
  • Fix: working-capital delta used wrong sign in Year 1.