biz-dcf
Installation
SKILL.md
Discounted Cash Flow (DCF) Valuation
Overview
DCF estimates a company's intrinsic value by projecting future free cash flows and discounting them to present value using WACC. It answers "what is this business worth based on its future cash generation ability?"
When to Use
Trigger conditions:
- User needs to value a company or business unit
- User evaluating M&A targets or investment opportunities
- User asks "what's the fair price?" or "build a valuation model"
When NOT to use:
- For early-stage startups with no revenue → use comparables or venture method
- For quick relative valuation → use multiples (P/E, EV/EBITDA)
- For portfolio-level decisions → use BCG Matrix
Framework
IRON LAW: Garbage In, Garbage Out
DCF output is ONLY as good as its assumptions. Every assumption (growth rate,
margin, WACC, terminal growth) must be explicitly stated with justification.
A DCF without an assumptions table is worthless.
IRON LAW: Terminal Value Dominates — Handle with Care
Terminal value typically represents 60-80% of total DCF value. If your
terminal growth rate exceeds long-term GDP growth (~2-3%), you're implying
the company will eventually become larger than the economy. Cap terminal
growth at the risk-free rate or GDP growth.
Step 1: Project Free Cash Flows (5-10 years)
FCF = EBIT × (1 - Tax Rate) + Depreciation - CapEx - ΔWorking Capital
Build projections from:
- Revenue growth assumptions (top-down or bottom-up)
- Operating margin trajectory
- Capital expenditure requirements
- Working capital changes
Step 2: Calculate WACC
WACC = (E/V × Re) + (D/V × Rd × (1 - Tax))
Where:
- Re = Cost of equity (use CAPM: Rf + β × Market Risk Premium)
- Rd = Cost of debt (interest rate on borrowings)
- E/V = Equity weight, D/V = Debt weight
Step 3: Calculate Terminal Value
Gordon Growth Model (preferred):
TV = FCF_final × (1 + g) / (WACC - g)
Where g = terminal growth rate (cap at 2-3%)
Exit Multiple Method (alternative):
TV = EBITDA_final × EV/EBITDA multiple
Step 4: Discount to Present Value
Enterprise Value = Σ FCFt / (1 + WACC)^t + TV / (1 + WACC)^n
Equity Value = Enterprise Value - Net Debt
Per Share Value = Equity Value / Shares Outstanding
Step 5: Sensitivity Analysis
Test key assumptions: WACC (±1%), terminal growth (±0.5%), revenue growth (±2%). Present as a sensitivity table.
Output Format
# DCF Valuation: {Company}
## Key Assumptions
| Assumption | Value | Justification |
|-----------|-------|---------------|
| Revenue growth (Y1-5) | X% | {basis} |
| Operating margin (terminal) | X% | {basis} |
| WACC | X% | {calculation} |
| Terminal growth | X% | {basis} |
## Projected Free Cash Flows
| Year | Revenue | EBIT | FCF |
|------|---------|------|-----|
| Y1 | ... | ... | ... |
## Valuation Summary
- PV of FCFs: $X
- PV of Terminal Value: $X (X% of total)
- Enterprise Value: $X
- Less: Net Debt: $X
- Equity Value: $X
- Per Share: $X
## Sensitivity Table
| WACC \ Terminal g | 1.5% | 2.0% | 2.5% |
|-------------------|------|------|------|
| 8% | $X | $X | $X |
| 9% | $X | $X | $X |
| 10% | $X | $X | $X |
Examples
Correct Application
Scenario: DCF for a Taiwanese SaaS company (ARR NT$500M, growing 25%)
- Projected 5 years of FCF with declining growth (25% → 15%)
- WACC 10.5% (justified: Rf 1.5%, β 1.2, ERP 6%, debt cost 4%)
- Terminal growth 2.5% (Taiwan GDP growth proxy)
- TV = 72% of enterprise value — within normal range ✓
- Sensitivity table shows $X range across ±1% WACC
Incorrect Application
- Terminal growth rate of 8% → Implies the company outgrows the economy forever. Violates Iron Law.
- No assumptions table — just "Enterprise Value = NT$2.5B" → No way to validate. Violates Iron Law.
Gotchas
- Terminal value sensitivity: Small changes in terminal growth or WACC swing valuation 20-30%. Always present a range, not a point estimate.
- Circular reference in WACC: WACC needs equity value (market cap), but DCF calculates equity value. Iterate or use target capital structure.
- FCF vs Net Income: DCF uses Free Cash Flow, not earnings. Companies with high capex or working capital needs can have positive earnings but negative FCF.
- Country risk premium: For Taiwan/emerging market companies, add a country risk premium to WACC (typically 1-3%).
- Negative FCF in early years: Growth companies may have negative FCF initially. This is fine — the value comes from later years and terminal value.
Scripts
| Script | Description | Usage |
|---|---|---|
scripts/dcf.py |
Compute DCF enterprise value with terminal value | python scripts/dcf.py --help |
Run python scripts/dcf.py --verify to execute built-in sanity tests.
References
- For WACC calculation details, see
references/wacc-calculation.md - For comparable company multiples approach, see
references/comparables.md
Weekly Installs
15
Repository
asgard-ai-platf…m/skillsGitHub Stars
125
First Seen
6 days ago
Security Audits