Financial analysis

Investment Risk Simulation

A Monte Carlo simulation of an investment appraisal. Give a range for each cash flow instead of a single figure, and see the spread of outcomes rather than one number — including the probability the project loses money. Answers the question that follows every appraisal: how confident should I be?

Cash flows

Period 0 is the investment and is normally negative in all three columns. Most likely must sit between worst and best.

PeriodLabelWorstMost likelyBest
0
1
2
3

Held fixed across every trial — a hurdle rate is a policy, not a forecast.

Period basis

100 to 50,000. More trials steady the percentiles; they do not make the ranges more right.

The same seed and the same inputs always give the same report. Send someone the seed and they can reproduce it exactly.

The answer

Probability the net present value is below zero

6.0%

596 of 10,000 trials came out negative.

Base case — every input at most likely

227.65

Base case IRR 21.65%. This is the figure you can rebuild with a calculator; everything below it is that figure put under pressure.

Where the answer lands

Net present valueIRR
Worst trial-203.57-1.01%
P10 — one in ten is worse30.3011.58%
P50 — the middle173.0718.86%
P90 — one in ten is better309.5825.45%
Best trial510.0934.80%
Mean170.9818.66%

The net present value column covers all 10,000 trials. The IRR column covers 10,000.

The spread of outcomes

Each bar is a band of net present value; height is how many trials landed in it. Bars left of zero are trials that lost money.

The same figures as a table
FromToTrials
-204-1863
-186-1682
-168-1509
-150-1326
-132-11411
-114-9732
-97-7932
-79-6156
-61-4383
-43-25115
-25-7175
-711188
1128258
2846285
4664375
6482415
82100495
100118535
118135603
135153641
153171616
171189606
189207657
207225638
225242617
242260498
260278414
278296411
296314293
314332292
332350204
350367146
367385107
38540373
40342147
42143933
43945716
4574748
4744923
4925102
Total10,000

10,000 trials · seed 20260903 · Monte Carlo, triangular sampling · percentiles by PERCENTILE.INC

Reuse the analysis

Download every trial's net present value and check any NPV percentile yourself with PERCENTILE.INC.

Methodology — and where this tool’s trace is weaker than the others

What it does

This is a Monte Carlo simulation. Each trial draws one value per period from a triangular distribution defined by your worst, most likely and best, then discounts those cash flows exactly as the Investment Appraisal tool does. The distribution you see is those trials sorted.

The sampling

Triangular, by inverse transform. With worst a, most likely c, best b and a uniform draw u: below (c−a)/(b−a) the sample is a + √(u(b−a)(c−a)), and at or above it b − √((1−u)(b−a)(b−c)). Periods are drawn independently of each other.

Why the seed is on the page

The generator is mulberry32, seeded by the number in the Seed box. The same inputs and the same seed produce an identical report on any machine, permanently — so two people can disagree about a project rather than about the tool.

Percentiles

Linear interpolation between neighbouring ranks on the sorted trials — the method Excel implements as PERCENTILE.INC. That is deliberate: download the trials and =PERCENTILE.INC(B:B, 0.1) returns the P10 shown here. Column A is the trial number; column B is the net present value.

Where the trace is weaker, said plainly

Every other tool on this site shows figures you can rebuild by hand from this panel. Nobody rebuilds a P50 of ten thousand trials by hand. What stands in its place: the base case above is fully hand-checkable, the seed makes the run reproducible exactly, and the CSV export lets you recompute any percentile in a spreadsheet. You verify a percentile by re-running or in Excel — not by mental arithmetic.

What it will not tell you

Whether the project is a good idea. A distribution is only as good as the ranges you put in: a narrow range produces false confidence, and no amount of simulation fixes that. Periods are also drawn independently, so if a bad year one would really mean a bad year two, the true spread is wider than this shows. It samples the cash flows you enter; it does not simulate market or asset returns.

Your figures are processed locally in your browser and are not uploaded to Consilium.

Keep this analysis for later. Saving is optional.

Feedback

Save this analysis

We will store the name and this tool’s supported calculation inputs, assumptions, labels, currency and number format, plus its identifier, save dates and your account ID. Outputs are recalculated when you open it.

Chart export styling, materiality filters, monthly review datasets and connected supporting analyses are not included in account saves.

No source workbook or chart file is uploaded. Your inputs stay in the browser until you sign in and confirm saving. A temporary draft stays in this tab for up to 30 minutes while you sign in.

Saved inputs are stored on Cloudflare in Western Europe until you delete them or your account. Deleted data may remain in restricted, encrypted backups in Asia-Pacific until their 30-day expiry. A separate encrypted recovery log keeps record IDs, protected email fingerprints and deletion or unsubscribe times for 35 days so a restore does not bring deleted data back. It contains no financial inputs. Expiry runs automatically and may not remove records at the exact deadline.