Discounted cash flow
Question
What is the present value of the cash a business is expected to generate?
Inputs
| Input | Source |
|---|---|
| Historical financials (3–5 years) | Filings, audited statements, on-chain reports |
| Revenue growth assumptions | Management guidance, peer growth, industry data |
| Margin trajectory | Historical margins, scale curve, peer benchmarks |
| Tax rate | Effective tax rate from filings, statutory rate |
| Reinvestment intensity | Historical capital expenditure and working capital as percent of revenue |
| Cost of equity components | Risk-free rate (10-year benchmark yield), beta (five-year monthly), equity risk premium |
| Cost of debt | Credit rating, current yield on the firm's bonds, interest expense divided by debt |
| Capital structure weights | Market value of equity, net debt, enterprise value |
| Terminal growth rate | Long-run economic growth, never above the cost of capital |
| Shares outstanding (diluted) | Latest filing, adjusted for buybacks and issuances |
Every hardcoded input needs a written source and a date. Inputs without a source rot.
Procedure
Build in this order. Verify each step before the next.
- Analyze the history. Compute revenue compound annual growth, margin progression, capital intensity, and working capital efficiency over three to five years. Patterns from the past are the prior for the future.
- Project revenue. Apply year-by-year growth rates that connect history to terminal growth. Faster early, slowing into year five. Build three scenarios — bear, base, bull. Each scenario gets its own assumption block, laid out horizontally across the projection years.
- Build the operating model. Expense ratios apply to revenue, not gross profit. Model operating leverage explicitly — margins should expand on a defensible thesis, not by assumption.
- Calculate free cash flow. Start from earnings before interest and taxes. Subtract taxes to get net operating profit after tax. Add depreciation and amortization. Subtract capital expenditure. Subtract the change in net working capital. The result is unlevered free cash flow.
- Calculate the cost of capital. Cost of equity uses the capital asset pricing model — risk-free rate plus beta times the equity risk premium. Cost of debt is the pre-tax yield times one minus the tax rate. Weight by the market value of equity and net debt, divided by enterprise value. The weighted average is the discount rate.
- Discount the cash flows. Use the mid-year convention — cash arrives in the middle of each year, not the end. The discount factor for period t is one divided by one plus the discount rate, raised to the power of t.
- Calculate the terminal value. The perpetuity growth method divides the final-year free cash flow times one plus terminal growth by the discount rate minus terminal growth. Terminal growth must stay below the discount rate. Discount the terminal value back to today.
- Bridge to equity. Sum the present values to get enterprise value. Subtract net debt (or add net cash). Divide by diluted shares to get implied price per share. Compare to the current market price.
- Sensitize. Build three sensitivity grids — discount rate against terminal growth, revenue growth against operating margin, beta against risk-free rate. Each grid uses an odd number of rows and columns so the base case sits in the center. The center cell must equal the model's headline output.
Gates
Any one of these failing invalidates the output.
- Terminal growth is at or above the discount rate (infinite value, mathematically broken)
- Terminal value is above 75% of enterprise value (model is mostly terminal assumption, not cash flow)
- Operating expense ratios reference gross profit instead of revenue (unrealistic margin behavior)
- Working capital change is not modeled against the change in revenue (cash flow drifts)
- Discount period for the terminal value is inconsistent with the mid-year convention used in the projection
- Tax rate jumps year to year without a stated reason
- Sensitivity grid center cell does not equal the model's headline output (the table is wired wrong)
- An input has no source comment (audit-fail at handover)
Output
A model that flexes when an assumption changes. The headline result is a single number — implied price per share — anchored to the current market price and bounded by three scenarios. The model stages for review by a qualified professional before it binds any decision.
Common Mistakes
- Computing a value in code and pasting it as a number instead of writing a live formula
- Using book values instead of market values in the capital structure weights
- Choosing terminal growth above the long-run economic growth rate
- Modelling margin expansion with no operational basis
- Ignoring net cash position and treating debt as always positive
- Mixing book and market values for equity in the weighted average cost of capital
- Producing a sensitivity table by linear approximation rather than full recalculation
Adjacent Methods
- Comparable company analysis — what the market pays for similar things today
- Leveraged buyout model — what a sponsor can pay and still earn the required return
- Three-statement model — the engine underneath every DCF
Questions
Is the terminal value below 75% of total enterprise value?
- Does the sensitivity grid center cell equal the headline model output?
- Is every input sourced with a date, not hardcoded?