Join our Newsletter — 33% off our NHI Course
Home› Guides› Monte Carlo Simulation for Cyber Risk: Building and…
Guide Risk Management

Monte Carlo Simulation for Cyber Risk: Building and Reading Loss Range Models

PDF for newsletter subscribers · free to read online

← All guides
By NHI Mgmt Group, edited by Lalit Choda Updated 8 November 2026 14 min read
On this page

A cyber risk number such as "annualised loss of £1.2 million" hides the question boards actually ask: how bad could a year get, and how likely is that? Monte Carlo simulation answers it by sampling thousands of plausible years from ranges of frequency and loss, and turning them into a distribution of annual loss. This guide is the method detail behind the Cyber Risk Quantification Guide: how to structure a frequency and severity model, choose and fit distributions, decide how many iterations are enough, handle dependencies between scenarios, read loss exceedance curves and sensitivity charts, and validate the model so its output survives challenge. It is for risk analysts, security architects building their first quantitative model, and executives who need to judge whether a simulated number deserves trust.

Key takeaways

  • The model is frequency times severity, sampled. Each iteration draws how many loss events happen in a year and what each costs, then records the annual total; the collection of totals is the answer.
  • Inputs are ranges, not points. The Open Group's O-RA standard asks for estimates that are accurate 90% of the time and warns that results cannot be more precise than the inputs.
  • Distribution choice shapes the tail. A log-normal fitted to a 90% interval produces far larger extreme losses than a symmetric distribution over the same range; choose deliberately and record why.
  • Check convergence, do not guess it. Means stabilise quickly; the 95th and 99th percentiles that boards care about need many more iterations.
  • Report a curve and a question. A loss exceedance curve with two or three named percentiles, tied to a decision such as an insurance limit or a control investment, beats a single expected loss.

What a Monte Carlo cyber risk model does

O-RA (Version 2.0.1, section 3.1) states that Open FAIR analysts use Monte Carlo or other stochastic methods to calculate results, and describes Monte Carlo simulation (section 4.4) as a method for modelling the future in the face of significant uncertainty that "models thousands of outcomes consistent with those parameters and their distributions". The output is not a forecast of next year; it is a picture of the range of years the organisation could plausibly experience, given what its experts and data say.

Use simulation when at least one of these is true: inputs are uncertain enough that a single estimate would mislead; several scenarios must be combined into one exposure figure; the decision depends on the tail (insurance limits, capital, risk appetite thresholds); or you need to compare the effect of a control on the whole distribution, not just the average. For a quick ranking of a dozen scenarios, a simpler qualitative or expected-loss method may be enough.

Monte Carlo compared with other approaches

ApproachOutputStrengthsWeaknesses
Heat map (qualitative likelihood and impact)Ordinal ratingFast, familiarCannot be added or compared with costs; ranges hidden
Annualised loss expectancy (frequency x single loss)One numberSimple arithmeticNo tail, no uncertainty; same ALE can hide very different risks
Analytical distributions (closed form)Exact distribution for simple casesNo sampling errorBreaks down when scenarios, controls and dependencies are combined
Monte Carlo simulationFull distribution of annual loss, percentiles, exceedance curveHandles mixed distributions, many scenarios, controls and correlationGarbage in, garbage out; false precision if inputs are poor; needs convergence checks

Structuring the model

Almost every cyber Monte Carlo model is a frequency and severity model (actuaries call it a compound or aggregate loss model). Using FAIR terms, each iteration does this:

  1. Sample a loss event frequency for the year, either directly or as Threat Event Frequency multiplied by Vulnerability (the probability a threat event becomes a loss event).
  2. Sample a count of events from that rate, usually with a Poisson distribution, so some years have zero events and some have two or more.
  3. Sample a loss for each event from the severity distribution, optionally split into primary loss (response, replacement, productivity) and secondary loss (fines, litigation, reputation) with its own probability of occurring.
  4. Sum the year. Record the annual total, and the per-event losses if you want event-level statistics.
  5. Repeat for tens of thousands of iterations and summarise the totals.

Decide early whether the scenario unit is an event type ("ransomware on the ERP estate") or an asset class, and keep scenarios mutually exclusive so you do not count the same loss twice. A Cyber Risk Scenario Library keeps scoping consistent across analyses. Where the scenario involves identity abuse, such as a stolen CI/CD token or a compromised service account, model Vulnerability from evidence such as the share of non-human identities with long-lived secrets or without MFA-equivalent controls, rather than from opinion alone.

Choosing and fitting distributions

O-RA (section 4.2.3) is explicitly agnostic on which distribution is right, suggesting a uniform distribution when only a minimum and maximum are known. In practice a handful of choices cover most cyber models.

InputCommon distributionHow it is parameterisedWatch out for
Annual event rate (TEF, LEF)PERT (beta-PERT) or modified PERTMinimum, most likely, maximum; optional shape (lambda, default 4) for confidence in the most likely valueBounded, so it cannot produce a rate above the stated maximum
Event count in a simulated yearPoissonMean equal to the sampled annual rateAssumes events are independent; clustered campaigns need a negative binomial or explicit dependency
Vulnerability (probability of loss given an attempt)PERT or betaPercentage range from control testingMust stay between 0 and 1
Loss per eventLog-normalFitted so a 90% interval (low, high) sits at the 5th and 95th percentilesUnbounded right tail; very wide ranges produce extreme maxima that may exceed any credible loss
Secondary loss occurrenceBernoulliProbability that fines or litigation follow a primary lossOften set by gut feel; tie to legal advice and notification rules
Losses with a known cap (contract penalty, policy limit)Truncated distribution or explicit capUpper bound applied after samplingForgetting the cap inflates the tail

The open-source riskquant library published by Netflix shows the common pattern: its SimpleLoss class uses a Poisson frequency with a log-normal magnitude fitted so that the low and high estimates fall at the 5% and 95% cumulative probability points, and its PERTLoss class swaps in a modified PERT frequency with a kurtosis setting that FAIR practitioners call "belief in the most likely". Whatever tool you use, write down the fitting rule: a range treated as a 90% interval and the same range treated as an absolute minimum and maximum give very different tails.

Inputs should come from calibrated estimators (O-RA section 4.3 describes calibration, starting from absurd estimates and narrowing, and the equivalent bet test) combined with data: incident history, control test results, business impact analysis for downtime costs, and legal advice for secondary loss.

Iterations, convergence and reproducibility

O-RA does not set an iteration count, referring only to thousands of outcomes. The right number depends on which statistic you report. The mean converges fastest; tail percentiles converge slowest because few iterations land there.

An illustrative single scenario, run by NHI Mgmt Group for this guide (loss event frequency PERT 0.2 / 0.6 / 2.0 a year, Poisson counts, log-normal loss per event with a 90% interval of £200,000 to £5 million, fixed seed), gave these 95th percentile annual losses as iterations increased:

Iterations95th percentile annual lossChange from 50,000-iteration value
1,000£6.40 million+16%
5,000£5.46 million-1%
10,000£5.53 million+0.4%
50,000£5.51 millionreference
  • Convergence test: run the model with several seeds or in batches and confirm the percentiles you report move by less than an agreed tolerance (for example 2%). If they do not, add iterations.
  • Tail statistics: a 99th percentile from 10,000 iterations rests on about 100 samples; use 50,000 or more if the 99th percentile drives a decision.
  • Seeds and versions: record the random seed, tool version and input file for every published result so it can be reproduced and audited.
  • Sampling methods: Latin hypercube sampling, offered by many spreadsheet add-ins, spreads samples across each input's range and can reach stable results with fewer iterations than simple random sampling.

Combining scenarios and handling dependencies

An enterprise view sums scenarios. Within each iteration, sample every scenario and add the annual totals, then build percentiles from the combined totals. Never add scenario percentiles together: the 95th percentile of the sum is not the sum of the 95th percentiles, and adding them overstates exposure when scenarios are independent.

  • Independence is an assumption: many tools sample scenarios independently. That understates the tail when one root cause (a compromised identity provider, a shared managed service provider, a widespread outage) drives several scenarios at once.
  • Model common causes explicitly: add a shared driver, such as a "supplier compromise" event that, when sampled, triggers losses in several scenarios in the same iteration. This is easier to explain than a correlation coefficient. See the Third-Party Concentration Risk Guide.
  • Rank correlation: where a common cause cannot be modelled, apply rank correlation between scenario frequencies or losses, and test results with and without it.
  • Controls: model a control by changing the inputs it affects (Vulnerability, frequency, or loss magnitude), run before and after with the same seed, and compare distributions. The FAIR-CAM Controls Analytics Model Guide covers how controls affect each factor.

Reading the outputs

O-RA (section 5.4) says analysts should provide data useful for the decision the stakeholder is trying to make, and lists presentation formats including the loss exceedance curve, a distribution curve and a tornado chart. It defines a loss exceedance result as a percentile threshold: if 10% of simulated years exceed £1 million, the 90th percentile threshold is £1 million.

OutputIllustrative value (scenario above, 50,000 iterations)How to read it
Probability of no loss in a year48%About half of simulated years have no loss event
Median annual loss£0.19 millionA typical year; skewed low by the zero years
Mean annual loss£1.23 millionPulled up by the tail; useful for budgeting comparisons, not for worst cases
90th percentile£3.66 millionOne year in ten is expected to be worse than this
95th percentile£5.51 millionOne year in twenty is expected to be worse
99th percentile£10.45 millionOne year in a hundred; often compared with insurance limits or appetite
P(annual loss above £2 million)21%A point on the loss exceedance curve
  • Loss exceedance curve: plots the probability (y axis) that annual loss exceeds each amount (x axis). Overlay a risk tolerance curve from the appetite statement to show where exposure is unacceptable. See the Cyber Risk Appetite Statement Template.
  • Tornado or sensitivity chart: vary each input across its range while holding others at their central values and rank the effect on the mean or a chosen percentile. It tells you where better data or a control buys the most reduction.
  • Before and after curves: the cleanest way to show a control's value is two curves on one chart, with the reduction at the percentile the board cares about.
  • Language: say "in our model, one year in twenty exceeds £5.5 million", not "we will lose £5.5 million". Round results to two significant figures, consistent with O-RA's warning that results cannot be more precise than inputs.

Using results in decisions

  • Control investment: compare the reduction in mean annual loss with the annual cost of the control, and show the change at the 95th percentile for tail-focused decisions.
  • Insurance: compare the 95th and 99th percentile annual loss with retention and limit options; check which loss forms the policy covers before netting them. See the Cyber Insurance Guide.
  • Risk appetite: express tolerance as a point or curve ("no more than a 5% chance of losses over £10 million in a year") and test the simulated curve against it.
  • Board reporting: show the top scenarios by contribution to the 95th percentile, the trend since last quarter and what changed. See the Board Cyber Risk Reporting Guide.
  • Small versus large organisations: a small organisation can run three to five scenarios in a spreadsheet with a simulation add-in; a large one with dozens of scenarios, controls and dependencies benefits from code under version control or a platform with an audit trail.

Tooling options

OptionSuitsTrade-offs
Spreadsheet with random functions or a simulation add-inFirst models, a few scenarios, teachingHard to audit, slow at high iteration counts, easy to break formulas
Code (Python with NumPy and SciPy, R, or libraries such as riskquant)Analysts who need transparency, version control and custom dependenciesNeeds programming skill and code review
Commercial CRQ platformsProgrammes running many analyses with governance, benchmarks and reportingCost; check that distributions, fitting rules and correlation handling are documented. See the Cyber Risk Quantification Platform Buyers Guide

Validating the model and measuring the programme

  1. Peer review inputs: have someone outside the analysis challenge every range and its source before running.
  2. Sanity-check outputs: compare the simulated maximum and 99th percentile with the organisation's revenue, insurance limits and any published losses for comparable incidents; an unbounded log-normal can produce losses larger than the company.
  3. Back-test: each year, compare actual incidents and losses with the frequencies and ranges used. Repeated surprises in one direction mean the estimators need recalibration.
  4. Stress test: rerun with wider ranges, different distributions and dependency on, and report how conclusions change.
  5. Govern changes: version inputs and code, record seeds, and keep an analysis log for audit.

Metrics: percentage of reported percentiles that pass the convergence test; calibration score of estimators (share of actual values falling inside their 90% ranges, target near 90%); share of inputs backed by internal data rather than opinion alone; number of risk decisions per quarter informed by a simulation; and year-on-year drift between modelled and actual incident frequency.

Framework mapping

FrameworkReferenceWhat the simulation supports
NIST CSF 2.0GV.RM-02, GV.RM-06, ID.RA-04, ID.RA-05, ID.RA-06Appetite and tolerance, a standardised calculation method, likelihood and impact, prioritisation and risk response
NIST SP 800-53 Rev. 5RA-3 Risk Assessment, RA-7 Risk Response, PM-9 Risk Management Strategy, PM-28 Risk FramingAssessment method, response choices and strategy
NIST IR 8286A Rev. 1Risk identification, estimation and risk registers for ERMFeeding simulated likelihood and impact into the enterprise risk register
The Open Group O-RA 2.0.1Sections 3.1, 4.1 to 4.4, 5.4Stochastic method, accuracy over precision, calibration, presentation of results

Common failure patterns

  • False precision: reporting "£1,230,451" from inputs that were rough ranges. Round, and show the range.
  • Adding percentiles: summing each scenario's 95th percentile to get an enterprise figure, which overstates independent risks and hides the method error.
  • Ignoring common causes: treating scenarios as independent when one identity provider or supplier compromise would trigger several at once, understating the tail.
  • Unbounded tails: log-normal ranges so wide that simulated maxima exceed any credible loss, then presenting the maximum as meaningful.
  • Too few iterations: quoting a 99th percentile from 1,000 iterations, which rests on about ten samples.
  • Uncalibrated inputs: ranges from a single overconfident expert, which narrow the distribution and make the risk look smaller and more certain than it is.

Practitioner checklist

  • Define each scenario so scenarios are mutually exclusive and tied to a decision.
  • Collect inputs as calibrated 90% ranges, with the data source or estimator recorded for each.
  • Choose distributions deliberately (PERT for rates, Poisson for counts, log-normal for losses) and document the fitting rule.
  • Cap losses where contracts, policy limits or company size bound them.
  • Run enough iterations for the reported percentiles to converge within an agreed tolerance, and record seeds and versions.
  • Combine scenarios within each iteration and model common causes explicitly.
  • Present a loss exceedance curve, two or three named percentiles and a sensitivity chart, rounded to two significant figures.
  • Compare before and after control curves with the same seed to show value.
  • Back-test annually against real incidents and recalibrate estimators.
  • Keep inputs, code and results under version control with peer review.

Standards and references

Related NHI Mgmt Group resources: Cyber Risk Quantification Guide · FAIR Model and Open FAIR Standard Guide · FAIR-CAM Controls Analytics Model Guide · Cyber Risk Quantification Platform Buyers Guide · Board Cyber Risk Reporting Guide

PDF for subscribers

Take this guide with you

Every section, table and checklist in one PDF, with links to the sources and related guides. Subscribe to our weekly NHI & AI Identity Journal and we’ll email you a download link.

Free weekly newsletter

Subscribe to the NHI & AI Identity Journal

The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.

Bonus 33% off our NHI Course when you subscribe.

NHIMG Editorial Note
Researched and written by the NHI Mgmt Group editorial team using AI tools, under the editorial direction of Lalit Choda. Facts are drawn from the sources listed on this page and checked by our automated quality process. Last updated 8 November 2026. Spotted an error? Use our contact page.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM and Agentic AI security. nhimg.org

PDF Downloads for Newsletter Subscribers

Get the guide

Enter your details and we’ll email you a download link.

The full guide is free to read online. The PDF is a thank you for subscribing.

Fill in all fields marked * and tick the PDF box to continue.