Monte Carlo Analysis (without macros) Excel Model
Originally published: 28/03/2019 08:15
Last version published: 08/04/2021 16:22
Publication number: ELQ-33616-6
View all versions & Certificate

Monte Carlo Analysis (without macros) Excel Model

This post explains how to run full Monte Carlo analysis in Excel without macros

A traditional sensitivity analysis involves testing a limited number of scenarios (e.g. base, upside and downside). Each scenario is a set of predefined inputs. This approach shows the outcomes of the model at various perspectives, but does not give a precise likelihood of a particular result to happen.

In contrast, the Monte Carlo method tests a large number (several hundreds or thousands) of ‘scenarios’ in which the inputs are drawn as random numbers. The distributions of those numbers follow the statistical patterns determined by the analyst (ranges, distribution types, target mean, median, mode, correlations between the inputs).

The results of the model (gross profit, ,margins, IRR etc.) are also represented by ranges of numbers. Analyzing statistical patterns of those ranges the analyst can determine mathematically the chances of an output being within a specific range or being higher or lower than a certain threshold.

In this publication I am sharing a technique of Monte Carlo analysis in Excel. My approach is based on standard Excel functions and data tables without macros. The accompanying file performs essential Monte Carlo simulation and covers drawing random numbers under certain distribution types and characteristics, making correlations and interpreting the outcomes. The file includes statistical charts (histograms, scatter plot) to illustrate the results.

This Best Practice includes
1 Excel file, 1 PDF file

Andrei Okhlopkov offers you this Best Practice for free!

download for free

Add to bookmarks


Further information

Perform sensitivity analysis in situations of uncertainty or limited input data

Financial modelling in situations involving uncertainty



keyboard_arrow_downShow all


More Best Practices from Andrei Okhlopkov

See all

Discussion feed for Monte Carlo Analysis (without Macros) Excel Model

The user community and author are here to help. Go ahead!

  • Alexei Kapkin
    Andrei, how do you deal with correlations among inputs without VBA? I understand that one need e.g. Cholesky decomposition to transform uncorrelated to correlated inputs? Alexei
    1arrow_drop_uparrow_drop_downReply reply
    • Andrei Okhlopkov
      Hi Alexei -
      If you look at "Indexation and interest" of the file, to make two correlated arrays I take numbers from an array and "mix" it with random numbers from an independent array. This "mixing" take place in column H (titled "Correlated") and the formula is:

      Random_number x Corr_coeff + New_random_number x SqRoot(1 - Corr_coeff^2)

      This formula essentially "decomposes" the definition of linear correlation. No need for VBA or complex matrices...

      arrow_drop_uparrow_drop_downReply reply
      • Alexei Kapkin
        Thank you Andrei. It seems to me that it is possible to have only two correlated inputs w/out VBA. For 3 and more one needs Cholesky decomp or copulas?
        arrow_drop_uparrow_drop_downReply reply
        • Andrei Okhlopkov
          Hi Alexei,
          I think we can decompose the covariance matrix in Excel as generate multiple correlations without VBA but the formulas will be more complex. By the way, the correlation formula I am using is a special case of Cholesky decomposition for two elements.
          arrow_drop_uparrow_drop_downReply reply

    4.8 / 5 (81 votes)

    please wait...