How accurate are DCF models?

How accurate are DCF models?

The Discounted Cash Flow model is one of the most useful and commonly used valuation methods for businesses. It gives the investor a Net Present Value (NPV) of all future free cash flows expected into a company.

Investors will commonly make assumptions to produce the model, such as a company will grow at 10% for 5 years then 5% for another 5 years before flat-lining based on the historical growth rates of the company. But of course, anyone that has analysed even a handful of companies knows that growth of this stability is incredibly rare, and even if you are correct that growth will average 10% over the next 5 years, if that growth is weighted towards the later years your DCF model will give you an overestimate of the companies value.

Take a look at this tearsheet of Oracle for example. Highlighted in yellow are the earnings growth rates each year, which in total equate to a 16% compound annual growth rate, yet you can see range from +1% to +39% and have only actually equaled 16% in 1 out of 10 years!

Many investors will try to mitigate this by computing DCF models with a range of growth rates, so for example they will calculate the NPV based on 8% compound annual growth and 12% compound annual growth to give a range of values. This gives a fairer idea of the intrinsic value as it gives a range, but it has always bothered me that this still does not address how the volatility of earnings can affect the NPV.

I have pondered this problem for a while and decided to put the hypothesis to the test. Does this crude estimation attempt actually give a realistic picture for how the volatility of earnings can affect intrinsic value? The best way that I came up with to test this was to actually simulate random earnings for a company and then calculate the NPV. If this is repeated thousands of times with different random growth rates each time then I will get a range of possible values and can compare this to a more crude estimated range.

Simulation Results

For my simulation I have chosen to model an average growth rate of 10% which halves every 5 years until finally reaching 0% growth after 15 years. Assuming we start with $100m of cash flow, the standard DCF model gives a valuation of $1,815m at a 10% discount rate.

If we use the usual approach of accounting for volatility of earnings by calculating the DCF valuation on a range of growth say from 8% to 12%, this example gives a valuation range of $1,609m to $2,048m.

The simulation will use a random generator to produce a different growth rate for each year, that will roughly average my chosen percentages (10% in first 5 years, 5% in next 5…etc). [For the more statistically minded the random generator takes a value from a normal distribution with mean 10%].

Here is an example of some growth rates chosen randomly for one year.

Year 1 2 3 4 5 6 7 8 9 10
Random 4.6% 10.9% 8.7% 11.1% 14.7% 5.6% 3.3% 3.8% 6.5% 5.4%

The earnings are then calculated, discounted and summed to give a NPV for that set of random numbers, and the process is repeated 30,000 times, to give 30,000 unique NPVs for the same company. These results are shown graphically below.

DCF simulation results

The average value is $1,815m, unsurprisingly it is the same as the theoretical DCF model as the random numbers were chosen so that they average the growth rates.

The 5th percentile is $1,627m (which means 95% of the values were above this) and I think represents a reasonable lower bound as it excludes the most unlikely outliers.

The 95th percentile is $2,014m (which means 95% of the values were below this) and again I think it represents a reasonable upper bound.


The range of ($1,609m to $2,048m) given by the crude estimator of +/-2% is remarkably close to the 5th and 95th percentiles found in the simulated results ($1,627m to $2,014m). Hence the crude estimation seems to be an adequate proxy for the possible volatility of earnings.

However it should be noted that this range is still giving valuations for growth rates averaging 10% (over 5 years..etc) and is not a “bear case versus best case”. Even though 8% was used in the DCF model for the lower bound it is only accounting for possible volatility. If actual growth averages 8% the intrinsic value could in fact be even lower than this range. So it is imperative that conservative growth estimates are used from the outset, and “bear/bull” cases are calculated with their own individual ranges.

I have included the simulation in the Excel workbook below for anyone that wants to further test it themselves, or vary some of the parameters such as the variance of the random numbers.

Excel Icon

Simulating DCF.xls

Disclosure: ORCL – long

If you found this post useful, please subscribe to receive new posts for free by email.
Or subscribe to the RSS feed.


Investing Sidekick

Founder of Investing Sidekick. Works as a research analyst and is an avid value investor, always searching for undervalued shares. An SA certified writer.

Leave a reply

Disclaimer | Copyright Notice | Terms and Conditions | Privacy Policy | Contact Us

© Copyright 2016 Investing Sidekick. All Rights Reserved.