I have been using Monte Carlo simulation in my DCF models for several years. I limit myself to lognormal, normal and uniform distributions so to avoid overcomplicating things (do I really have enough data to know whether a lognormal distribution is better or worse than a Weibull distribution? Weibull is typically just a more calibratable approximation to a lognormal or normal or exponential anyway, etc.) The more variables required to set the distribution up, the more uncertainty I will have that the distribution is a good fit. There is always a risk of "analysis paralysis" - having so many numbers you don't know how to use then, or how to ensure they are ACTUALLY making your estimation better. Are you back-testing your model to check it's predictive accuracy? If not, keep it simple and based on fundamentals.
For this reason, I also don't check correlation of revenue growth and earnings (is the correlation statistically significant?). I used to treat revenue and earnings growth independently, but now I link them via gross margin and EBIT margin, less interest and tax expenses (all of which I consider to be independent).
I also just do some relatively simple models in Excel / Google Sheets to ensure I don't need much programming capability or extra software. What do you use?
Great input, thanks. I agree you shouldn't use too many variables, which is why the sensitivity testing aspect is important. If a variable doesn't significantly impact the outcome, why bother in the first place?
For this post, I used Crystal Ball, which is an Oracle extension for Excel. It's really expensive which is why it's a temporary software for me. We're currently working to build a Monte Carlo valuation into our website: https://summitsanalytics.com/
I've used Crystal Ball before in my job, not for a long time, though. It was a nice tool, but I can get by just fine with RAND, NORM, LOGNORM functions (.DIST and .INV)! Although I'll admit, I don't run tens of thousands of combinations, I stick to 500 for file size reasons.
If I ever actually code this up properly, rather than using the live spreadsheet functions, I would run more iterations
I have been using Monte Carlo simulation in my DCF models for several years. I limit myself to lognormal, normal and uniform distributions so to avoid overcomplicating things (do I really have enough data to know whether a lognormal distribution is better or worse than a Weibull distribution? Weibull is typically just a more calibratable approximation to a lognormal or normal or exponential anyway, etc.) The more variables required to set the distribution up, the more uncertainty I will have that the distribution is a good fit. There is always a risk of "analysis paralysis" - having so many numbers you don't know how to use then, or how to ensure they are ACTUALLY making your estimation better. Are you back-testing your model to check it's predictive accuracy? If not, keep it simple and based on fundamentals.
For this reason, I also don't check correlation of revenue growth and earnings (is the correlation statistically significant?). I used to treat revenue and earnings growth independently, but now I link them via gross margin and EBIT margin, less interest and tax expenses (all of which I consider to be independent).
I also just do some relatively simple models in Excel / Google Sheets to ensure I don't need much programming capability or extra software. What do you use?
Great input, thanks. I agree you shouldn't use too many variables, which is why the sensitivity testing aspect is important. If a variable doesn't significantly impact the outcome, why bother in the first place?
For this post, I used Crystal Ball, which is an Oracle extension for Excel. It's really expensive which is why it's a temporary software for me. We're currently working to build a Monte Carlo valuation into our website: https://summitsanalytics.com/
I've used Crystal Ball before in my job, not for a long time, though. It was a nice tool, but I can get by just fine with RAND, NORM, LOGNORM functions (.DIST and .INV)! Although I'll admit, I don't run tens of thousands of combinations, I stick to 500 for file size reasons.
If I ever actually code this up properly, rather than using the live spreadsheet functions, I would run more iterations
Yeah, you're probably fine by not using thousands of combinations. And I agree Crystal Ball isn't a necessity.
Monte Carlo will always result in the mean.