DCF Calculator
Educational discounted cash flow model driven entirely by your own assumptions.
This calculator is for educational and informational purposes only. It is not financial, investment, tax, accounting, or legal advice. Verify all inputs and calculations independently.
What this calculator actually does
A discounted cash flow model turns one sentence into arithmetic: a business is worth the cash it will hand its owners in the future, and cash arriving later is worth less than cash arriving today. This page does that arithmetic and shows every intermediate step, so the result can be checked rather than believed.
Nothing is fetched. There is no market-data provider, no API key and no price feed anywhere in this product. Every figure in the output comes from a number you typed into the form above, which is why the results are always described here as being based on your assumptions.
The model runs in four moves: project free cash flow forward, discount each year back to today, estimate the value of everything beyond the forecast window, then bridge from the value of the whole business to the value of one share.
The formula, in full
The complete set of formulas this tool evaluates is printed on this page, under "The formulas this tool uses". They are shown in plain text so a screen reader can read them and so you can reproduce any figure with a pocket calculator.
In summary: each forecast year is the previous year grown by your growth rate, FCF(t) = FCF(t−1) × (1 + g(t)). Each year is discounted by PV(t) = FCF(t) ÷ (1 + r)^t. The perpetuity terminal value is TV = FCF(N) × (1 + g) ÷ (r − g), discounted by (1 + r)^N. Enterprise value is the sum of those present values; equity value is enterprise value minus debt plus cash; value per share is equity value divided by the diluted share count.
The (1 + g) step-up in the terminal value is there because the perpetuity begins the year after the forecast ends. Omitting it understates the terminal value by one year of growth, and it is one of the most common errors in a hand-built model.
The assumptions are yours, and they decide the answer
Six inputs carry almost all of the weight: the starting free cash flow, the growth path, the forecast length, the discount rate, the terminal method, and the terminal growth rate or exit multiple. Everything else is arithmetic around them.
The discount rate is doing two jobs at once. It represents the return you require, and it represents the risk that the cash never arrives. There is no objectively correct value for it. The WACC helper on this page is a convenience, not an authority: it produces an estimate from further estimates, and nothing is applied to the model unless you choose to apply it.
The terminal growth rate is an assumption about the rest of time. A rate above long-run economic growth describes a company that eventually becomes the entire economy, which is why this tool refuses to compute a terminal value when the growth rate reaches or passes the discount rate instead of printing an enormous number.
What the sensitivity grid means here
The grid varies the discount rate against the terminal growth rate and re-runs the whole model for each combination. Every cell is a complete valuation, not an approximation, and a dash means that pairing cannot be computed because the discount rate is not above the terminal growth rate.
Read the spread, not the middle. Both of those inputs feed a denominator, r − g, that can approach zero, so a change of half a percentage point can move the output by a large multiple. That is a property of the method itself rather than a defect in this implementation.
If the plausible cells span a factor of two or three, the honest conclusion is that a DCF cannot answer the question precisely for this business with these assumptions. That is a real finding. The bear, base and bull table above makes the same point from a different angle by moving several assumptions together.
The output is a way to make your own assumptions explicit and testable. It is not a measurement, and the model cannot know anything you did not tell it.
Where this model breaks down
A DCF is the wrong instrument for several kinds of business, and knowing which is more useful than any single number it produces.
- Companies with negative free cash flow cannot be valued this way at all, which rules out most early-stage businesses.
- Banks and insurers need a different framework, because for them debt is raw material rather than financing.
- Cyclical businesses are misrepresented by a single trailing cash-flow figure taken at the top or the bottom of a cycle.
- The model assumes one discount rate and one capital structure for the entire period, while real companies refinance and change risk profile.
- Most of the answer typically comes from the terminal value, which is the part you did not forecast in detail. The tool warns you when that share passes three quarters.
A calculation is not advice
This page is educational. It performs arithmetic on figures you supply and shows its working. It has no view on whether your inputs are reasonable, it does not know anything about any particular company, and it deliberately does not label any result as cheap, expensive, undervalued or overvalued.
Nothing here is financial, investment, tax, accounting or legal advice, and nothing here predicts or guarantees any return. The comparison against a share price is the arithmetic difference between your own estimate and a price you typed, and the margin of safety is a cushion you chose. Neither is a signal, a rating or a recommendation.
Valuing a real business involves reading its accounts, understanding its industry and forming a view about its future. Treat the output as one input to your own thinking, verify every figure independently, and consider talking to a qualified professional who is regulated to give advice.
The formulas this tool uses
Every step is shown so the numbers above can be checked by hand. Nothing is hidden behind a black box.
Projecting free cash flow
FCF(t) = FCF(t−1) × (1 + g(t))
Each year grows from the PREVIOUS projected year, not from the starting figure, so growth compounds. With a two-stage or per-year pattern, g(t) simply changes from year to year.
Discounting each year
PV(t) = FCF(t) ÷ (1 + r)^t
The exponent is the year number itself, starting at 1. This is the end-of-year convention: it assumes each year’s cash arrives on the final day. The mid-year option uses t − 0.5 instead, which assumes cash arrives evenly through the year.
Terminal value — perpetuity growth
TV = FCF(N) × (1 + g) ÷ (r − g)
The (1 + g) step-up matters: the perpetuity begins the year AFTER the forecast ends, so it starts from next year’s cash flow rather than the final forecast year. This requires r to be greater than g; otherwise the result is infinite or negative, and the tool refuses to compute it.
Terminal value — exit multiple
TV = FCF(N) × multiple
A multiple is applied to the final forecast year itself, with no (1 + g) step-up. This method ignores the terminal growth rate entirely, and is the usual cross-check against the perpetuity method, which is very sensitive to g.
Discounting the terminal value
PV(TV) = TV ÷ (1 + r)^N
The exponent is N, the same as the final forecast year, because the terminal value is expressed in end-of-year-N money. Discounting it by N + 1 would double-count a year.
Enterprise value to equity value
Equity = Enterprise value − (debt − cash)
The cash flows above are before interest, so they belong to lenders as well as shareholders. Debt is repaid first and cash is added back. If a company holds more cash than debt, this figure is negative and therefore ADDS to the equity value. Skipping this step is the single most common error in a homemade DCF.
Value per share
Value per share = Equity value ÷ diluted shares
Use a diluted share count so options and convertibles are included. Because money figures and the share count use the same scale, the scale cancels and the result is a plain per-share price.
Margin of safety
Entry price = Value per share × (1 − margin)
A cushion you choose, applied to your own estimate. It reflects how wrong the assumptions could be. It is not a target, a prediction, or a recommendation.