> ## Documentation Index
> Fetch the complete documentation index at: https://valuation-101.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# FCFF Model

> Run the core DCF engine — 10-year FCFF projection, terminal value, and equity bridge — producing estimated value per share.

## What it does

The core DCF engine. Takes all prior outputs — including the four 10-year forecast schedules from [growth-and-profitability](/docs/skills/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](/docs/lib/curve-shapes):

| Schedule          | Controls                        | Source                                              |
| ----------------- | ------------------------------- | --------------------------------------------------- |
| `growth_schedule` | Revenue growth rate per year    | Start → end via selected curve type                 |
| `margin_schedule` | Operating margin per year       | Start → end via selected curve type                 |
| `s2c_schedule`    | Sales-to-capital ratio per year | Start → end via selected curve type                 |
| `coc_schedule`    | Cost of capital per year        | Initial WACC → terminal CoC via selected curve type |

For each year 1–10, the engine computes:

| Line item        | Computation                                               |
| ---------------- | --------------------------------------------------------- |
| Revenue          | Prior year × (1 + growth\_schedule\[t])                   |
| Operating margin | margin\_schedule\[t]                                      |
| EBIT             | Revenue × operating margin                                |
| Tax rate         | Effective tax rate, converging to terminal tax by year 10 |
| After-tax EBIT   | EBIT × (1 − tax rate), with NOL shielding if applicable   |
| Reinvestment     | Δ Revenue / s2c\_schedule\[t]                             |
| **FCFF**         | **After-tax EBIT − reinvestment**                         |
| PV(FCFF)         | FCFF / cumulative discount factor at coc\_schedule\[t]    |

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

```
TV = FCFF(11) / (WACC(stable) − g(stable))
```

Where:

* **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

```
  PV of year 1–10 FCFFs
+ PV of terminal value
= Operating value of the firm
− Debt
− Minority interests
+ Cash
+ Non-operating assets
− Employee stock options value
× (1 − probability of failure)
÷ Shares outstanding
= Estimated value per share
```

## 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 in [`lib/dcf_engine.py`](/docs/lib/dcf-engine) — 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.
