Today, fast computers have made possible many complex computations that were seemingly intractable in past years. For scientists, engineers, statisticians, managers, business analysts, and others, computers have made it possible to create models that simulate reality and aid in making predictions, one of which is used in simulating real systems by accounting for randomness and future uncertainties through investigating hundreds and even thousands of different scenarios. The results are then compiled and used to make decisions. This is what Monte Carlo simulation is all about. Monte Carlo simulation in its simplest form is a random number generator that is useful for forecasting, estimation, and risk analysis. A simulation calculates numerous scenarios of a model by repeatedly picking values from a user-predefined probability distribution for the uncertain variables and using those values for the model. As all those scenarios produce associated results in a model, each scenario can have a forecast. Forecasts are events (usually with formulas or functions) that you define as important outputs of the model.
Think of the Monte Carlo simulation approach as picking golf balls out of a large basket repeatedly with replacement. The size and shape of the basket depend on the distributional Input Assumption (e.g., a normal distribution with a mean of 100 and a standard deviation of 10, versus a uniform distribution or a triangular distribution) where some baskets are deeper or more symmetrical than others, allowing certain balls to be pulled out more frequently than others. The number of balls pulled repeatedly depends on the number of Trials simulated. For a large model with multiple related assumptions, imagine the large model as a very large basket, where many baby baskets reside. Each baby basket has its own set of colored golf balls that are bouncing around. Sometimes these baby baskets are linked with each other (if there is a Correlation between the variables), forcing the golf balls to bounce in tandem whereas in other uncorrelated cases, the balls are bouncing independently of one another. The balls that are picked each time from these interactions within the model (the large basket) are tabulated and recorded, providing a Forecast Output result of the simulation.