Free lesson · Markets & returns
Discounted cash flow and the price of capital
Open interactive lessonPractice calculationsExplore labs
Start with the idea
Discounting asks how much cash today would grow into a future payment at the required rate. A terminal value is a compact representation of a long sequence of payments; it is often the most assumption-sensitive part of a valuation.
Symbols, units & horizon
- PV or V₀: value today in currency
- CFₜ: cash flow at period t
- k: required decimal return per period
- g: perpetual decimal growth per period
- T: explicit forecast horizon
- TV_T: terminal value measured at time T
- A: first discounted perpetuity payment
- q: geometric-series ratio, below 1
- EV: operating enterprise value
- E: equity value
- FCFF: cash flow to all capital providers
- WACC: weighted average cost of capital
When and why to use this
Use discounted cash flow for fundamental forecasts, merger consideration and long-horizon price scenarios. Use the enterprise-to-equity bridge to avoid comparing the value of an entire business with only its equity claim.
Valuation relates a price today to uncertain future cash flows. Separate the cash-flow forecast from the discount rate: changing both to express the same risk can double count it. A model is useful when its assumptions and sensitivities are visible.
Reverse compounding; sum a growing perpetuity
- From , divide by . Add the discounted payments because values in today’s currency are additive.
- At T, let and . Then . Subtract qTV from TV to obtain .
- Substitute q and simplify: . The geometric series converges only when , or k>g. Discount TV from T to today separately.
Next year’s perpetuity payment $10, k=8%, g=2% gives 10/(.08−.02)=$166.67 at the valuation date.
Cash flow , annual discount rate , and growth must use consistent nominal or real conventions. The terminal-value formula assumes perpetual constant growth. Its sensitivity becomes extreme when approaches .
Bridge enterprise value to the equity claim
- With excess cash separated from operating assets, .
- Subtract debt from both sides and add excess cash: . EV is obtained by discounting FCFF at the appropriate capital-provider rate.
Operating value $150m, debt $40m, excess cash $10m implies equity $120m; with 6m shares that is $20 per share.
Free cash flow to the firm belongs to debt and equity providers and is discounted at a weighted cost of capital. Cash flow to equity is discounted at the cost of equity. Here EV means enterprise value; in the probability lessons EV means expected value. Always read the units and context.
Python implementation
Self-contained teaching example. Python 3.10+; dependencies and input conventions are shown in the code and notation. Run in your own Python environment.
def dcf(cashflows, discount_rate, terminal_growth):
"""End-of-year cash flows; last grows once to form next year's payment."""
if discount_rate <= terminal_growth or discount_rate <= -1:
raise ValueError("Need k > g and k > -1")
horizon = len(cashflows)
terminal = cashflows[-1]*(1+terminal_growth)/(discount_rate-terminal_growth)
pv = sum(cf/(1+discount_rate)**t for t, cf in enumerate(cashflows, 1))
return pv + terminal/(1+discount_rate)**horizon
def equity_value(enterprise_value, debt, excess_cash):
return enterprise_value - debt + excess_cash
print(equity_value(150e6, 40e6, 10e6))Continue learning
Markets, Returns & Capital — all lessons- Measure the return before modelling it
- Cash securities, derivatives, and financing
- Discounted cash flow and the price of capital
- Translate an investment idea into a mandate
Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations