How this DCF calculator works
The model discounts five years of projected free cash flow back to today, then adds a terminal value using the Gordon Growth method:
where r is the discount rate (WACC) and g is the perpetual growth rate. Adding net cash (or subtracting net debt) converts enterprise value to equity value, divided by shares outstanding for the per-share figure.
Choosing sensible inputs
- Free cash flow: use trailing twelve months from the cash flow statement. Average 2–3 years if it is volatile.
- Growth (years 1–5): be conservative. Revenue growth minus margin pressure usually beats optimistic forecasts.
- Discount rate: 9–10% suits most large caps; use 12%+ for small caps or cyclicals.
- Terminal growth: never exceed long-run nominal GDP growth (~2–3%).
Choosing inputs that do not flatter you
A DCF will return a number for any input you give it, including inputs that make no sense. The discipline is in choosing assumptions you can defend to someone who disagrees with you.
For the growth rate, start from what the business has actually done over a full cycle rather than its best recent year, then adjust for what you know is changing. For the discount rate, use a cost of capital you would accept as an owner — for a large, stable, profitable company in a developed market, that usually lands between 7% and 10%. For terminal growth, the honest ceiling is roughly the long-run rate of nominal GDP growth, around 2-4%. A terminal growth rate above your discount rate produces a mathematically infinite value and is always wrong.
Why the terminal value dominates
In a typical five-year DCF, the terminal value accounts for 60-80% of the total. That is uncomfortable but not a flaw — it reflects the fact that a going concern generates most of its cash after year five. It does mean the model is far more sensitive to your terminal assumptions than to your near-year forecasts, so spend your time there rather than fine-tuning year three.
Run the calculation three times: pessimistic, base and optimistic. If the three results span a range wider than the gap between the price and your base case, the model has not told you anything actionable, and the honest conclusion is that you do not know.
How to convert enterprise value to equity value
The DCF discounts free cash flow before any claim by debt holders and produces an enterprise value, not a per-share figure. To get the per-share number, subtract net debt (total debt minus cash and short-term investments), add any minority interest at market value, and divide by shares outstanding. Dilution from stock options and unvested restricted stock should also be counted; many calculators ignore them, which produces a per-share figure that is quietly optimistic.
Where the discount rate comes from
The discount rate is supposed to represent the opportunity cost of capital — what an investor could earn elsewhere at equivalent risk. In practice it is built from three components: the risk-free rate, an equity risk premium and beta. Each is contested. Risk-free rates change daily; equity risk premiums range from 4% to 6% depending on the survey; beta depends on the index, the lookback window and the regression method. Two analysts using "the same" inputs can produce fair values 30% apart purely from the discount rate choice.
Frequently asked questions
Is DCF reliable?
It is highly sensitive to the discount and terminal growth rates. Run the calculation with a range of inputs — if fair value stays above the market price across the range, the margin of safety is stronger.
Why does the DCF say a popular growth stock is overvalued?
A single-stage DCF assumes growth fades to the terminal rate after year 5. Stocks trading at 30×+ earnings embed years of high growth the model doesn't capture — so a "overvalued" verdict on such names is expected output, not an error. Widen the growth/discount range and focus on whether fair value is defensible across it.
What if the company has negative free cash flow?
A single-stage DCF like this one cannot handle negative starting FCF. Companies in that situation are better valued with revenue multiples or scenario models.
Does my data leave my browser?
No. Every calculation runs locally in JavaScript. Nothing is sent to any server.