Quantifying the unknown

What a QRA is, and why the model matters more than the simulation

A quantitative risk analysis turns a single-point estimate into a range of possible outturn costs, with a probability attached to each. It replaces a flat-percentage contingency with one that is tied to the risks of your project.

INPUT

Base estimate and ranges

The most likely cost of the defined scope, in base-date dollars, with no contingency and no escalation. Uncertainty in quantities, rates and shared causes is expressed as ranges.

INPUT

Risk register

Discrete events that may or may not happen, each with a likelihood and a cost range, before and after controls, and an owner: principal, shared or contractor.

SIMULATION

Monte Carlo

Thousands of iterations (typically 5,000 to 10,000, the range DITRDCA asks for), each sampling every range and event together, with correlation applied.

OUTPUT

S-curve, P-table and drivers

The cost at each confidence level, the contingency at P50 and P90, a tornado showing what drives the spread, and a run log so a reviewer can re-run it.

The point

Running the simulation is the easy part. What makes a QRA defensible is the model: what is ranged and what is a risk event, how things move together, and how precisely the result is known. The rest of this page sets out how we handle each of those.

Confidence levels

P50, P90 and contingency

P-values are read off the S-curve. Pnn is the cost with an nn% chance of not being exceeded. P50 is the median: it is not the mean, and we report both.

Contingency at Pnn = Pnn − base estimate
  • Base estimate: the most likely cost of the defined scope, in base-date dollars.
  • Contingency: the allowance for inherent and contingent risk to reach the chosen confidence level.
  • Escalation sits outside contingency. The base, P50 and P90 are each taken from base-date to outturn dollars with a spend profile and escalation rates by financial year (except where an authority, such as Victoria's DTF, defines it otherwise).

See P50 & P90 Explained in our Risk & Contingency Guide for a plain-English walk through the S-curve.

Illustrative example

A $54.1M highway test model (56 BOQ items, 25 register lines, 86-week programme), risk-driver method. Bars not to scale.

Which P-level is funded depends on the authority

AuthorityFunded level and who holds contingency
Commonwealth (DITRDCA)Probabilistic P50 and P90 outturn for projects over $25M. Funding is approved on the P50 outturn; P90 is held against the project.
Queensland (TMR PCEM)Funded at P90 (QTRIP budget).
NSW (INSW Cost Control Framework)Tier 1 at P90, Tier 2 at P50. The Project Director holds the P50 contingency; P90 − P50 is managed by the agency's senior executive.
Victoria (DTF RTCC)Total estimated investment (TEI) = base cost estimate + base risk estimate (to P50, including escalation) + excess risk estimate. The TEI is usually set at P90; confirm the level with DTF for each project.
From the authorities' published guidance as reviewed in October 2026. Confirm the current requirement for your project and funding program.
Two kinds of uncertainty

Inherent and contingent risk

Keeping the two apart is how a model avoids counting the same thing twice. Both are simulated together in one run, and percentiles are never added up across components.

Inherent riskContingent risk
What it isUncertainty in what is already in the estimate: quantities and rates for the defined scope.Events that may or may not happen: rock in cut, a service clash, an approval delay.
Probability100%: the work will be done; only its cost is uncertain.Below 100%: a likelihood, then a cost if it happens.
Where it livesRanges on the estimate, or risk drivers on its sections.The risk register, organised by who carries the risk.

Who carries each risk

  • Principal's risks, retained by the client;
  • shared risks, where the principal carries a stated share;
  • contractor's risks, transferred and priced in the tender;
  • opportunities, which reduce cost when they occur.

Each line records likelihood and cost before and after controls, so the model can be run on residual risk (controls in place, with their cost added) or unmitigated, and from the principal's view or for the whole project.

Double counting

If the earthworks range already allows for poor ground, a "rock in cut" risk on top counts it twice. Every register line carries a basis and a double-count note. No tool can detect overlap on its own, so it is a review point in every QRA we prepare.

Things move together

Correlation, and why it matters

When a total is the sum of many independent items, highs and lows cancel out. That is good arithmetic and poor risk analysis: on a real project, the things that push one rate up (a tight market, poor ground, a slow contractor) tend to push others up too. Ignoring that makes the P90 look tighter than it is.

Correlation only within groups is not enough. On the test model, applying correlation inside each of eight cost sections, but leaving the sections independent, added less than one point of contingency even at ρ = 0.9: the sections still averaged each other out.

We therefore model correlation between groups as well (a default of 0.3, the DoD/NASA default cited by the US GAO), and report the correlation actually achieved in each run.

The GN3A correlation test

DITRDCA's Guidance Note 3A asks for the model to be run at zero and full correlation, the gap compared, and the chosen level documented. We run this test on the same random numbers for every QRA.

Test model, 10,000 iterationsρ = 0As modelledρ = 1
P90$58.40M$61.29M$65.22M
P90 contingency7.9%13.3%20.5%
Gap at P90 (ρ = 1 less ρ = 0): $6.82M. The model sits 42% of the way across it.
Reading the test

A large gap with the model sitting close to ρ = 0 means the P90 rests on an assumption that is pulling it down. The answer is usually risk drivers, not a bigger ρ.

Model the cause, not the line item

Risk drivers

A risk driver (or risk factor) is a shared cause, such as ground conditions or the market, applied as a multiplier to every cost it affects. Correlation then comes from shared causes instead of a guessed coefficient.

DITRDCA's GN3A (v2) lists the risk-factor method first, then risk drivers, then hybrid approaches. A driver that always applies acts as a risk factor; one with a probability below 1 applies only when it occurs, as in Hulett's risk-driver method.

For road and civil work we typically start from six drivers and tailor them in the workshop:

  • ground conditions;
  • design development and scope growth;
  • market conditions;
  • productivity;
  • services and interfaces;
  • client costs.

Each driver is given a most likely value of 1.00, so the base estimate stays the most likely case.

METHOD A

Line-item ranging

A range on every quantity and rate. Familiar, but AACE and GN3A both caution that on its own it tends to understate the spread.

METHOD B

Risk drivers

Item ranges off; cost sections multiplied by the drivers that affect them. The tornado ranks causes, not line items.

METHOD C

Hybrid

Both, with an explicit check for double counting. Used where some items need their own range.

Rare but costly

Low-probability, high-consequence risks and screening

A 5% chance of a $3M failure adds only $150k to the expected cost, but it can dominate a P95 and barely touch a P90. GN3A suggests large low-probability, high-consequence (LPHC) risks are better held as a stand-alone allowance than weighted into contingency, and that minor risks are combined rather than modelled one by one.

ScreenDefault settingWhat happens
LPHCProbability at or below 10% and principal's high cost at or above 2.5% of baseFlagged "hold outside contingency (GN3A)". The risk can be left out of the simulation and its high cost reported separately, below the contingent total.
Screening thresholdExpected cost below 0.5% of baseFlagged "below screening threshold: combine or note".
Defaults are starting points. We agree the thresholds with you and record them in the method statement.
Time is money

Schedule-linked costs and joint confidence

Preliminaries, supervision, traffic management and site facilities cost more the longer the job runs. We simulate the construction duration alongside cost, so time-related costs move with it, and delay risks are not also priced as weeks × rate.

Programme86 wkBase construction duration
Duration P5088.4 wkTest model
Duration P9094.1 wkTest model
Joint confidence81%Cost and duration both at or below P90
Joint confidence (JCL)

The share of iterations in which cost and duration both come in at or under their targets. P90 cost and P90 duration together are not 90% likely; on the test model they are 81% likely. NSW's Cost Control Framework requires a schedule QRA, and Victoria requires integrated cost and schedule risk analysis for HVHR projects in delivery.

Know how precise the answer is

Precision you can state

A simulated P90 is itself an estimate with sampling error. We report it as "P90 ± $X (95%)", and run until the P90 is known to within a set share of the contingency (2.5% by default), not of the total.

"Within 0.25% of the total" sounds precise, but on a $54M job that is ±$135k against a contingency of a few million. Stating precision against the contingency is the honest test. On the test model the P90 was known to about ±$104k at 10,000 iterations.

Does the result fit the estimate?

Maturity and the outside view

Every QRA is checked against the estimate's class and the quality of the data behind it: AACE expected-accuracy ranges, an indicative contingency band, and a reference-class (optimism bias) cross-check that is used as an outside view, never added on top.

A P90 well below what its class would suggest is a prompt to revisit ranges, correlation or method, not a result to report as is.

How we check estimate maturity →
One method, each authority's language

Alignment with Australian guidance

We report each QRA the way the funding authority asks. Our templates are aligned with the authorities' published documents; they help meet the requirements and do not replace an authority's own forms (for example, the Commonwealth's PCB workbook).

GuidanceWhat the QRA provides
DITRDCA GN3A v2 (probabilistic estimation)Risk-factor and risk-driver methods; 5,000–10,000 iterations; correlation test at 0 and 1; P5–P95 at 5% steps, unescalated; tornado with regression and rank table; LPHC flagging; inputs sufficient to re-run.
DITRDCA GN2 / GN4Base estimate by PCB category (mapping to confirm against the issued PCB workbook); escalation outside contingency, P50 and P90 outturn by financial year.
TMR PCEM, 9th edition (Nov 2025)Annexure L (Form M4755) layout summary; planned (line-item) and unplanned (register) risk; estimate category check against Table 3.3.7; contingency monitoring; run log for replication.
INSW Cost Control Framework (Mar 2025)Tier and funded P-level; P50 and P90 − P50 contingency split; schedule QRA and joint confidence; escalation sensitivity and deferral.
DTF RTCC and HVHR guidelines (Victoria)Base cost estimate, base risk (with escalation) and excess risk to TEI; allocation table; contingency tracking.
AS ISO 31000 / IEC 31010Criteria and risk matrix, treatment owners and dates, review dates, workshop record, method statement and sign-off.
AACE 40R-08, 41R-08, 44R-08, 18R-97Contingency as Pnn − base; range estimating; expected-value risk events; estimate class and maturity checks.

For a side-by-side reading of the frameworks themselves, see Australian Risk Frameworks Compared and Commonwealth (DITRDCA) Cost Estimation.

How we deliver

A QRA engagement with Cenex

We build the model in Quantik, the Excel add-in developed by our sister company Synthetik, or in @RISK where the client or authority requires it. Either way you receive a workbook that re-runs, not just a report.

Frame

Confirm the funding authority, stage, funded P-level and estimate class, and agree method, range convention and thresholds.

Review the base

Check the base estimate is most-likely, in base-date dollars, and free of hidden contingency and escalation.

Workshop

Facilitate risk identification and ranging with your team: drivers, register, owners, controls and the double-count review.

Model and test

Build and run the model, then test it: correlation at 0 and 1, precision, LPHC screening and the maturity checks.

Report

S-curve, P-table, contingency split, tornado, escalation to outturn, and the authority's summary format, with a method statement and run log.

Update

Re-run at each stage or on change. A revision bridge explains what moved the P90 and why.

What you receive

The model

A Quantik workbook (or an @RISK workbook where required) with the base estimate, drivers, register and programme, which re-runs on the same seed. Quantik also runs common @RISK formulas, so a reviewer using @RISK can open the logic.

The report

Results, contingency at the funded level, sensitivity, the correlation test and precision, and the authority summary sheet.

The record

Method statement, workshop record, assumptions and exclusions, run log and sign-off, ready for an independent review.

Quantik by SynthetikQuantik by Synthetik

Want to run the models yourself? Quantik is available to estimating teams as a product from Synthetik. This page is about Cenex's service; the software has its own site.

About Quantik
Common questions

Frequently asked questions

Is P90 always the right level to fund?

No. It depends on the authority and, in NSW, the project tier. The Commonwealth approves funding on the P50 outturn and holds the P90; Queensland budgets at P90 in QTRIP; NSW funds Tier 1 at P90 and Tier 2 at P50. We report every level each authority asks for.

Should our workshop ranges be read as minimum and maximum, or as P10 and P90?

It is the biggest single assumption in a line-item model. On the test model, reading the same ranges as P10/P90 instead of hard limits took the P90 contingency from 13.3% to 28.9%. Workshop ranges are usually closer to P10/P90. We make the choice explicit and record it in the method statement.

Can you add an optimism-bias uplift on top of the QRA?

We don't recommend it. Reference-class uplifts are designed for estimates with no project-specific risk analysis; stacking one on a full QRA counts the same risk twice. We use the reference class as a cross-check on the result instead.

Our reviewer uses @RISK. Is that a problem?

No. Where a client or authority requires @RISK, we build and deliver the model in @RISK. Otherwise we use Quantik, which runs common @RISK distribution and output functions, and stands aside when @RISK is loaded. @RISK correlation matrices (RiskCorrmat) are not yet supported, so correlation is documented in the method statement.

Need a contingency that will survive review?

Tell us which authority your project is funded under and where it is in its lifecycle. We will scope the QRA it needs.