Risk Modelling & P90 Contingency
A contingency that stands up to a funding review. Cenex builds the quantitative risk analysis (QRA) behind your P50 and P90: what is ranged, what is a risk event, how costs move together, and how precisely the answer is known. We report it in the format your funding authority asks for.
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.
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.
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.
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.
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.
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.
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.
- 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
| Authority | Funded 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. |
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 risk | Contingent risk | |
|---|---|---|
| What it is | Uncertainty 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. |
| Probability | 100%: the work will be done; only its cost is uncertain. | Below 100%: a likelihood, then a cost if it happens. |
| Where it lives | Ranges 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.
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.
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 | ρ = 0 | As modelled | ρ = 1 |
|---|---|---|---|
| P90 | $58.40M | $61.29M | $65.22M |
| P90 contingency | 7.9% | 13.3% | 20.5% |
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 ρ.
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.
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.
Risk drivers
Item ranges off; cost sections multiplied by the drivers that affect them. The tornado ranks causes, not line items.
Hybrid
Both, with an explicit check for double counting. Used where some items need their own range.
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.
| Screen | Default setting | What happens |
|---|---|---|
| LPHC | Probability at or below 10% and principal's high cost at or above 2.5% of base | Flagged "hold outside contingency (GN3A)". The risk can be left out of the simulation and its high cost reported separately, below the contingent total. |
| Screening threshold | Expected cost below 0.5% of base | Flagged "below screening threshold: combine or note". |
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.
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.
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.
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 →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).
| Guidance | What 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 / GN4 | Base 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 31010 | Criteria and risk matrix, treatment owners and dates, review dates, workshop record, method statement and sign-off. |
| AACE 40R-08, 41R-08, 44R-08, 18R-97 | Contingency 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.
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.
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 QuantikFrequently 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.