What it does
The core DCF engine. Takes all prior outputs — including the four 10-year forecast schedules from growth-and-profitability — and runs the full FCFF valuation, producing an estimated value per share.The three stages
Stage 1: 10-year FCFF projection
The engine consumes four pre-computed schedules (each a list of 10 values, one per year) generated by the curve shapes library:
For each year 1–10, the engine computes:
Because the schedules are curve-shaped rather than linearly interpolated, the projection captures realistic convergence patterns — e.g., exponential growth deceleration or S-curve margin expansion.
Stage 2: Terminal value
- FCFF(11) = year 11 free cash flow (at stable growth)
- WACC(stable) = cost of capital at maturity (risk-free rate + base ERP, or user override)
- g(stable) = stable growth rate (typically ≤ risk-free rate)
Stage 3: Equity bridge
Default assumption overrides
Beyond the four forecast schedules, the model accepts 9 toggles for structural assumptions (terminal cost of capital, terminal ROIC, failure probability, reinvestment lag, tax convergence, NOL carryforward, risk-free rate override, growth rate override, trapped cash). In Expert mode, all 9 are presented for user override. In Novice and Lucky modes, Damodaran’s standard defaults are used.Python engine
The math is implemented inlib/dcf_engine.py — a pure Python module with no AI dependencies. It accepts both pre-computed schedules (from the curve library) and legacy scalar inputs (for backward compatibility). Every intermediate value is logged to the run transcript for auditability.