Skip to content

Monte Carlo Simulation for Financial Planning

By Newtown Analytics · · 9 min read

For finance, fp&a & accounting managers

Monte Carlo simulation finance teams use turns a plan with uncertain inputs into a range of outcomes with probabilities. Instead of asking what profit will be if volume is 10,000 units, it asks: given that volume could be anywhere from 8,000 to 11,500 and price from $112 to $128, what is the distribution of profit, and how likely is a loss? The method draws random values for each uncertain input, calculates the result and repeats thousands of times. It does not remove uncertainty, but it quantifies it in a form that boards and lenders can use. This guide explains the steps, shows a small worked example, covers building one in Excel and explains where Monte Carlo helps and where it misleads. It extends scenario planning for finance teams and sensitivity analysis in financial models, and belongs to budgeting and forecasting.

When Monte Carlo is worth the effort

Good fitPoor fit
Many uncertain inputs that combineOne dominant uncertainty, easily handled by scenarios
Decisions where the probability of a bad outcome matters (covenants, cash runway)Situations with no basis for estimating ranges
Capital projects with uncertain cash flowsSimple budgets where precision is not needed
Communicating risk to boards or lendersTeams without time to maintain the model

It is a tool for risk, not a forecasting method that produces a better single number.

The steps

  1. Build a model that calculates the output (profit, cash, NPV) from inputs.
  2. Identify the uncertain inputs and choose a distribution for each.
  3. Set the parameters for each distribution from data and judgment.
  4. Model dependencies between inputs, such as correlation of price and volume.
  5. Run many trials, each drawing random values and recording the output.
  6. Analyze the results: mean, median, percentiles, probability of falling below a threshold.
  7. Act: adjust the plan, set buffers, hedge risks or accept them with open eyes.

Choosing distributions

DistributionWhen to useParameters
NormalSymmetric variation around an average (for example monthly demand for a stable product)Mean, standard deviation
TriangularYou have a minimum, most likely and maximum from expert judgmentMin, mode, max
UniformAny value in a range is equally plausibleMin, max
LognormalValues cannot be negative and skew to the upside (commodity prices, project costs)Mean, standard deviation of the logarithm
DiscreteA few specific outcomes (win or lose a contract)Values and probabilities

The triangular distribution is a good start for finance teams because it needs only three judgments: low, most likely and high. Ask the people who know the input and write down their answers.

A small worked example

Use the same product model as in sensitivity analysis: Profit = Units × (Price - Variable cost) - $400,000 fixed costs. The base case is 10,000 units, $120 price and $72 variable cost, giving a profit of $80,000.

Assume ranges: units 8,000 to 11,500, price $112 to $128, variable cost $70 to $77. The table below shows ten trials with illustrative random draws. A real simulation would run thousands of trials; ten are shown only to demonstrate the mechanics.

TrialUnitsPriceVariable costProfit = Units × (Price - Cost) - 400,000
19,200$118$749,200 × 44 = 404,800 → $4,800
210,400$121$7110,400 × 50 = 520,000 → $120,000
38,600$116$758,600 × 41 = 352,600 → -$47,400
410,900$123$7210,900 × 51 = 555,900 → $155,900
59,700$119$739,700 × 46 = 446,200 → $46,200
610,100$120$7010,100 × 50 = 505,000 → $105,000
78,900$114$778,900 × 37 = 329,300 → -$70,700
811,200$124$7211,200 × 52 = 582,400 → $182,400
99,500$121$749,500 × 47 = 446,500 → $46,500
1010,600$117$7110,600 × 46 = 487,600 → $87,600

Reading the results

  • Total profit across the ten trials = $630,300, so the mean is $63,030, lower than the $80,000 base case. Uncertainty in several inputs at once does not average out to the base case in a model with skewed ranges (here the ranges for price and cost are not symmetric around the base values).
  • Sorted profits: -70,700, -47,400, 4,800, 46,200, 46,500, 87,600, 105,000, 120,000, 155,900, 182,400. The median is (46,500 + 87,600) / 2 = $67,050.
  • Probability of a loss: 2 of 10 trials, or 20 percent. With only ten trials this estimate is rough; a real run of 5,000 or more trials would give a stable figure.
  • Range: from about -$70,700 to $182,400.

The key output is the probability distribution, not any single trial: the chance of a loss, the 10th and 90th percentiles (a range within which results fall 80 percent of the time) and which inputs drive the spread. A board can then ask: is a one-in-five chance of a loss acceptable, and what would reduce it?

Building it in Excel

Generate random draws

Uniform between a and b:     =a+(b-a)*RAND()
Normal (mean m, sd s):       =NORM.INV(RAND(), m, s)
Triangular (min a, mode c, max b), with u in a helper cell =RAND():
   =IF(u<(c-a)/(b-a),
       a+SQRT(u*(b-a)*(c-a)),
       b-SQRT((1-u)*(b-a)*(b-c)))

The triangular draw must use a single random number in both branches. Put one RAND() in a helper cell (call it u) next to each input, then use: if u is less than (c-a)/(b-a), the draw is a + SQRT(u*(b-a)(c-a)); otherwise it is b - SQRT((1-u)(b-a)*(b-c)). Calling RAND() separately inside the IF would mix two different random numbers and distort the distribution, so the helper cell matters.

Run thousands of trials

Excel does not natively repeat a model. Two common methods:

  1. Data Table trick. Put the output in a cell, list trial numbers 1 to 5,000 down a column, and use a one-way Data Table with a blank column input cell. Each recalculation redraws the random numbers, so each row has a different result.
  2. Macro or add-in. A short macro or a commercial add-in loops the model and stores results.

Press F9 to redraw; fix results by copying and pasting values before analysis so they do not change.

Summarize

=AVERAGE(results)
=MEDIAN(results)
=PERCENTILE.INC(results, 0.1)       (P10)
=PERCENTILE.INC(results, 0.9)       (P90)
=COUNTIF(results,"<0")/COUNT(results)   (probability of loss)

Create a histogram of the results to show the distribution.

How many trials, and how much noise is left

A probability estimated from n trials has a sampling error of roughly the square root of p × (1 - p) / n. For a true loss probability of 20 percent:

TrialsStandard errorApproximate 95% range around 20%
1012.6 pointsabout -5 to 45 percent (the estimate is nearly useless)
1,0001.3 pointsabout 17.5 to 22.5 percent
5,0000.57 pointsabout 18.9 to 21.1 percent

(Check: 0.2 × 0.8 = 0.16; 0.16 / 10 = 0.016, square root 0.126; 0.16 / 5,000 = 0.000032, square root 0.00566.) This is why the ten-trial table above is a demonstration of mechanics only. For board reporting, run thousands of trials, and round the answer to the nearest five points so the precision matches the evidence.

Using the result to make a decision

Return to the ten trials. Two of them lost money (-$47,400 and -$70,700). Suppose the board will tolerate a loss in at most one year in ten. What would change the picture?

  • A fixed-cost reduction of $40,000 shifts every outcome up by $40,000. The two losing trials become -$7,400 and -$30,700, still losses.
  • A reduction of $80,000 (or an equivalent mix of cost and margin actions) shifts them to $32,600 and $9,300, and every one of the ten trials is positive.

In a full run some losing trials would remain, but the exercise shows the board the size of action needed to move the probability of loss from roughly one in five to a level it can accept, and it lets management compare that action with its cost. The same logic applies to cash: replace profit with the lowest month-end balance and ask how often it falls below the minimum.

Dependencies matter

Inputs are rarely independent. Price and volume tend to move in opposite directions; input costs and inflation move together. If you draw them independently, you may understate or overstate risk. Options:

  • Model correlation with a simple rule, such as making volume depend on price through an elasticity assumption.
  • Combine inputs into a driver, such as general market demand, that influences several.
  • Run scenario-based Monte Carlo, where each scenario has its own distributions.

Validation

  • Check the model without randomness first. With inputs at their base values, it should reproduce the base case.
  • Look at the input draws. Do the simulated means and ranges match what you specified?
  • Stress with extreme assumptions to confirm the output moves as expected.
  • Compare with sensitivity analysis. The inputs that matter in the tornado should be the ones driving variance in the simulation.
  • Document everything: the distributions, sources and judgments.

Limits and cautions

LimitImplication
Garbage in, garbage outThe result is only as good as the ranges you choose
False precisionA probability of 17.3 percent sounds exact but rests on judgments
Missing risksThe model includes only the risks you thought of
Fat tailsExtreme events are more common than a normal distribution suggests
Correlation errorsIgnoring dependencies can distort results
CommunicationBoards may over-trust the numbers

Present ranges and percentiles, not decimal-place probabilities, and emphasize the decisions the analysis supports.

Uses in finance

UseOutput
Annual plan riskProbability of missing the profit target
Cash runwayProbability of falling below a minimum balance by month
Covenant complianceProbability of breaching a ratio
Capital projectsDistribution of NPV and probability NPV is negative. See net present value
PricingRange of margin outcomes
Inventory and supplyService level vs. inventory cost under demand variability. See demand planning and inventory optimization

The model inputs in this example (price, variable cost per unit, volume) are the elements of unit economics. Accurate ranges for each improve the simulation. See unit economics.

Common mistakes

  • Using too few trials.
  • Choosing ranges without evidence.
  • Ignoring correlation.
  • Presenting a single trial as a forecast.
  • Over-engineering when scenarios would do.
  • Not documenting assumptions.

For ways to judge whether your forecasts have been accurate, read how to measure financial forecast accuracy and forecast bias in financial planning.

FAQs

What is a Monte Carlo simulation in finance?

A method that repeatedly draws random values for uncertain inputs, calculates the outcome each time and summarizes the results as a probability distribution.

How many trials do I need?

Typically thousands, often 5,000 or 10,000, until the results stabilize.

Can I run Monte Carlo in Excel?

Yes, using RAND and distribution functions with a Data Table or a macro to repeat trials.

What distributions should I use?

Triangular for expert ranges, normal for symmetric variation, lognormal for skewed positive values and discrete for yes-or-no events.

When is Monte Carlo better than scenarios?

When many uncertain inputs combine and you need probabilities, such as the chance of a covenant breach.

This article is for general information. It is not accounting, tax, legal or investment advice, and examples use illustrative numbers rather than client data. Confirm decisions that carry financial or legal consequences with a qualified professional.

Better forecasts. Healthier inventory. More working capital.

Newtown Analytics advises growing consumer-product companies on demand planning and inventory optimization.