Planetary-scale answers, unlocked.
A Hands-On Guide for Working with Large-Scale Spatial Data. Learn more.
Authors
Probable maximum loss (PML) is the largest loss an insurer, lender, or investor can reasonably expect from a property or a portfolio. For one building in property underwriting, PML is an engineering estimate of the worst likely fire or explosion. For commercial real estate in earthquake country, PML is a seismic loss estimate built to ASTM International standards. For a portfolio exposed to hurricanes or earthquakes, PML is the loss at a chosen return period, such as the 1-in-100 or 1-in-250 year loss. That loss is read from an exceedance probability (EP) curve, a chart of each loss against its chance of being exceeded in a year. Underwriters, reinsurers, lenders, rating agencies, and regulators use PML to decide how much risk to accept and how much capital to hold. A portfolio PML is one point on that curve. This article makes the case for quoting it with its curve, its basis, and the average loss beyond it.
The term has no single fixed meaning. In a 1969 paper in the Proceedings of the Casualty Actuarial Society, John S. McGuinness called PML "one of the least clear concepts in all insurance." His four-year study collected PML definitions from over one hundred underwriters, and no two fully agreed. Margaret Wilkinson's 1982 paper on estimating PML with order statistics, in the same Proceedings, moved the term toward statistics. She derived six PML estimators. Each starts from the largest sample loss or from a quantile, the loss that a set share of outcomes stays below. Catastrophe models read PML as a quantile today.
The International Risk Management Institute (IRMI) defines PML as a property loss control term for the maximum loss expected at a location in the event of a fire. Marsh describes a PML study as an estimate of the largest physical loss reasonably expected from a single event, including time-related costs.
Property engineers place PML on a ladder of loss estimates for one site:
Some markets use estimated maximum loss (EML) for a similar rung. Its protection assumptions differ between insurers. A PML or EML figure is comparable only when the survey states which systems fail.
Lenders and investors on US commercial property in seismic zones order a seismic risk assessment before closing. ASTM E2026-24, the Standard Guide for Seismic Risk Assessment of Buildings, frames building damage as a probable loss (PL) or scenario loss (SL) assessment. Its companion, ASTM E2557-24, the Standard Practice for Probable Maximum Loss (PML) Evaluations for Earthquake Due-Diligence Assessments, sets the standard of care and reporting for real estate transactions.
For a specified earthquake, the standards replace the single seismic PML with the scenario expected loss (SEL) and the scenario upper loss (SUL). SEL is the mean loss to the building. SUL is the loss with a 90% chance of not being exceeded. The 475-year event is the ground motion with a 10% chance of exceedance in 50 years. For that event, the IRMI guide to seismic risk terms notes that SUL475 matches the traditional PML. Lenders often set limits on SEL475. Under the Fannie Mae Multifamily Guide, Fannie Mae accepts a property with an SEL of 20% or less and requires further analysis between 20% and 40%. It does not buy loans at 40% or more.
In catastrophe modeling, PML is the loss at a stated return period for a peril and a portfolio. A reinsurer quoting a "1-in-250 hurricane PML" means the annual loss with a 0.4% chance of being exceeded.
An exceedance probability curve plots each loss amount against the probability that the loss is exceeded in a year. A catastrophe model builds the curve from a stochastic event set: 10,000 or more simulated years of random events. The model runs each year against a portfolio and ranks the yearly losses. In Catastrophe Modeling: A New Approach to Managing Risk (Springer, 2005), Patricia Grossi and Howard Kunreuther treat the EP curve as the main output of a catastrophe model. Karen Clark's 1986 formal approach to catastrophe risk assessment used simulated hurricanes to estimate the losses behind such a curve.
The return period is the inverse of the annual exceedance probability. Emil Gumbel's 1941 paper The Return Period of Flood Flows formalized the idea for river floods, and C. Allin Cornell's 1968 Engineering Seismic Risk Analysis carried it to ground motion.
A return period states a probability. A 1-in-100 year loss can occur two years running. Over 30 years, a 1% annual chance adds up to about a 26% chance of at least one exceedance.
At any return period, the AEP loss is greater than or equal to the OEP loss. The gap widens for perils with several damaging events a year. The National Oceanic and Atmospheric Administration (NOAA) billion-dollar disasters list records Harvey, Irma, and Maria in the 2017 Atlantic season. An annual aggregate cover adds those three losses together, and a per-occurrence cover responds to each one separately.
Average annual loss is the mean loss per year across all simulated years. It is also the area under the AEP curve when the curve is drawn with probability on one axis and loss on the other. Each of N simulated years carries a probability of 1/N. Summing each year's loss × 1/N gives the area, and the same sum gives the mean. AAL sets the technical premium, the part of the price that covers expected losses. PML comes from the tail of the same distribution, the rare high-loss years. It sets the capital and reinsurance an insurer holds to survive a bad year.
A return-period PML is a quantile. In risk-measure terms, the 1-in-100 loss is value at risk (VaR) at 99%. Tail value at risk (TVaR) is the average of all losses at or beyond that quantile. It is also called tail conditional expectation (TCE), conditional value at risk, or expected shortfall.
Philippe Artzner, Freddy Delbaen, Jean-Marc Eber, and David Heath set out four axioms for a coherent risk measure in Coherent Measures of Risk (Mathematical Finance, 1999). The axioms are monotonicity, translation invariance, positive homogeneity, and subadditivity. Subadditivity says that combining two portfolios never needs more capital than holding them apart. A quantile can fail it. Two portfolios that each have a small chance of a large loss can each have a 1-in-100 PML of zero while the combined portfolio has a positive one. Carlo Acerbi and Dirk Tasche proved in On the coherence of expected shortfall (Journal of Banking and Finance, 2002) that expected shortfall is coherent for general loss distributions. The same year, R. Tyrrell Rockafellar and Stanislav Uryasev showed in Conditional value-at-risk for general loss distributions that it can be minimized with linear programming.
Regulators have moved toward the average. The Swiss Solvency Test (SST) sets target capital as a one-year expected shortfall at 99%. The rule is in the technical document on the SST from FINMA, the Swiss Financial Market Supervisory Authority. For bank trading books, the Basel Committee's minimum capital requirements for market risk replaced 99% VaR with 97.5% expected shortfall.
Hurricane Ike made landfall near Galveston Island, Texas, in September 2008 as a large Category 2 hurricane, per the National Hurricane Center's Tropical Cyclone Report. Galveston County is the exposure for the walkthrough below.
A catastrophe model produces portfolio PML from exposure, hazard, vulnerability, and a ranked table of yearly losses:
Steps 1 and 2 are spatial. Each location must be matched to the hazard footprints that touch it. A large portfolio against a large catalog means billions of location-event pairs.
WherobotsDB runs steps 1 and 2. It geocodes and enriches exposure, then joins it to hazard rasters and footprints for a whole portfolio. It handles raster and vector data in one engine; most stacks pick one. In one project, Wherobots scored every building in Colorado against five perils and the parcels the buildings sit on. That is 2,771,126 Overture buildings, with results published as the Colorado property risk explorer. A spatial join attaches each building to its hazard values. A raster zonal statistic such as RS_ZonalStats samples flood depth or wildfire grids under each footprint.
The walkthrough below runs the whole PML chain in one SQL statement. It is a toy: the exposure is real, and everything else is made up. The query read two Overture tables and generated the rest in SQL:
buildings_building
divisions_division_area
id
sequence()
rand()
rand(7)
rand(11)
rand(14)
EXPLAIN FORMATTED showed broadcast spatial index joins and no Cartesian product, a step that pairs every row with every row.
EXPLAIN FORMATTED
-- Toy illustration: 10,000 seeded years of circular windstorm footprints over Galveston County, TX. -- Exposure is real (Overture buildings). The events, damage curve and loss unit are made up. WITH pois AS ( -- Poisson CDF for a mean of 1 event per year, k = 0 to 9 SELECT k, SUM(EXP(-1.0) / FACTORIAL(k)) OVER (ORDER BY k) AS cdf FROM (SELECT explode(sequence(0, 9)) AS k) ), years AS ( SELECT sim_year, rand(7) AS u FROM (SELECT explode(sequence(0, 9999)) AS sim_year) ), year_n AS ( -- Inverse-CDF draw: the event count is the number of k whose CDF lies below u SELECT /*+ BROADCAST(p) */ y.sim_year, COUNT(p.k) AS n_events FROM years y LEFT JOIN pois p ON p.cdf < y.u GROUP BY y.sim_year ), slots AS ( -- 10 candidate events per year: a uniform center in the county box, a radius of -- 500 m plus an exponential draw with a 2 km mean, and a peak damage ratio of 10% to 60% SELECT event_id DIV 10 AS sim_year, event_id, event_id % 10 AS k, -95.234 + 0.864 * rand(11) AS lon, 29.084 + 0.515 * rand(12) AS lat, 500 - 2000 * LN(1 - rand(13)) AS radius_m, 0.10 + 0.50 * rand(14) AS peak_dr FROM (SELECT explode(sequence(0, 99999)) AS event_id) ), centers AS ( SELECT s.sim_year, s.event_id, s.radius_m, s.peak_dr, ST_Transform(ST_Point(s.lon, s.lat), 'EPSG:4326', '+proj=utm +zone=15 +datum=WGS84 +units=m +no_defs') AS c FROM slots s JOIN year_n y ON s.sim_year = y.sim_year AND s.k < y.n_events ), footprints AS ( SELECT *, ST_Buffer(c, radius_m) AS fp FROM centers ), county AS ( SELECT geometry AS g FROM wherobots_open_data.overture_maps_foundation.divisions_division_area WHERE id = '8936ce65-efd3-4e5a-9917-947f20ff540b' -- Galveston County, Texas (land polygon) ), buildings AS ( -- Exposure: footprint area in m2 stands in for replacement value SELECT /*+ BROADCAST(c) */ b.id, ST_Transform(ST_Centroid(b.geometry), 'EPSG:4326', '+proj=utm +zone=15 +datum=WGS84 +units=m +no_defs') AS pt, ST_Area(ST_Transform(b.geometry, 'EPSG:4326', '+proj=utm +zone=15 +datum=WGS84 +units=m +no_defs')) AS area_m2 FROM wherobots_open_data.overture_maps_foundation.buildings_building b, county c WHERE b.bbox.xmin > -95.235 AND b.bbox.xmax < -94.369 AND b.bbox.ymin > 29.083 AND b.bbox.ymax < 29.600 AND ST_Intersects(c.g, ST_Centroid(b.geometry)) ), event_loss AS ( -- Damage ratio falls linearly from peak_dr at the center to 0 at the edge SELECT f.sim_year, f.event_id, SUM(b.area_m2 * f.peak_dr * (1 - ST_Distance(f.c, b.pt) / f.radius_m)) AS loss FROM footprints f JOIN buildings b ON ST_Contains(f.fp, b.pt) GROUP BY f.sim_year, f.event_id ), annual AS ( SELECT y.sim_year, y.n_events, COALESCE(SUM(e.loss), 0) AS aep_loss, -- total of all events in the year COALESCE(MAX(e.loss), 0) AS oep_loss -- largest single event in the year FROM year_n y LEFT JOIN event_loss e ON y.sim_year = e.sim_year GROUP BY y.sim_year, y.n_events ), exposure AS ( SELECT COUNT(*) AS buildings, ROUND(SUM(area_m2)) AS exposed_m2 FROM buildings ), ranked AS ( SELECT *, ROW_NUMBER() OVER (ORDER BY aep_loss DESC) AS aep_rank, ROW_NUMBER() OVER (ORDER BY oep_loss DESC) AS oep_rank FROM annual ) SELECT /*+ BROADCAST(x) */ FIRST(x.buildings) AS buildings, FIRST(x.exposed_m2) AS exposed_m2, COUNT(*) AS years, SUM(n_events) AS events, SUM(CASE WHEN aep_loss = 0 THEN 1 ELSE 0 END) AS zero_loss_years, ROUND(AVG(aep_loss)) AS aal, ROUND(MAX(CASE WHEN aep_rank = 1000 THEN aep_loss END)) AS aep_10, ROUND(MAX(CASE WHEN oep_rank = 100 THEN oep_loss END)) AS oep_100, ROUND(MAX(CASE WHEN aep_rank = 100 THEN aep_loss END)) AS aep_100, ROUND(MAX(CASE WHEN oep_rank = 50 THEN oep_loss END)) AS oep_200, ROUND(MAX(CASE WHEN aep_rank = 50 THEN aep_loss END)) AS aep_200, ROUND(MAX(CASE WHEN oep_rank = 40 THEN oep_loss END)) AS oep_250, ROUND(MAX(CASE WHEN aep_rank = 40 THEN aep_loss END)) AS aep_250, -- TVaR: the mean of every year at or beyond the return period ROUND(AVG(CASE WHEN oep_rank <= 100 THEN oep_loss END)) AS tvar_oep_100, ROUND(AVG(CASE WHEN aep_rank <= 100 THEN aep_loss END)) AS tvar_aep_100, ROUND(AVG(CASE WHEN oep_rank <= 40 THEN oep_loss END)) AS tvar_oep_250, ROUND(AVG(CASE WHEN aep_rank <= 40 THEN aep_loss END)) AS tvar_aep_250, ROUND(MAX(aep_loss)) AS worst_year FROM ranked r CROSS JOIN exposure x
One engine ran this one statement over those inputs and returned in 31 seconds:
First, OEP and AEP almost coincide at 1-in-100, 752,284 against 754,615 m². They stay close at 1-in-250, 1,324,438 against 1,338,751. With a Poisson mean of one event a year, few years hold a second large event, so the gap stays small. A peril with several damaging events a year, or with clustered arrivals, would pull the curves apart. Second, TVaR at 1-in-100 is 1,420,802 m², almost double the 754,615 PML. The 99 worse years carry much larger losses than the 100th. Third, the worst year, 6,678,861 m², comes from one footprint over the mainland. That 1-in-10,000 year sits far beyond either PML.
To draw the figures, the same named subqueries, called CTEs (common table expressions), feed two other final statements. SELECT sim_year, n_events, aep_loss, oep_loss, aep_rank, oep_rank FROM ranked returns the 10,000-row year loss table behind the curves. The map query lists the footprints of two years, a building count grid, and the county outline:
SELECT sim_year, n_events, aep_loss, oep_loss, aep_rank, oep_rank FROM ranked
-- Same CTEs as above (centers also keeps s.lon and s.lat), then: SELECT 'fp' AS kind, f.sim_year, f.event_id, f.lon, f.lat, f.radius_m, f.peak_dr, e.loss, CAST(NULL AS BIGINT) AS n, CAST(NULL AS STRING) AS wkt FROM footprints f LEFT JOIN event_loss e ON f.event_id = e.event_id WHERE f.sim_year IN (5588, 3471) UNION ALL SELECT /*+ BROADCAST(c) */ 'cell', NULL, NULL, FLOOR(ST_X(ST_Centroid(b.geometry)) / 0.006) * 0.006 + 0.003, FLOOR(ST_Y(ST_Centroid(b.geometry)) / 0.006) * 0.006 + 0.003, NULL, NULL, NULL, COUNT(*), NULL FROM wherobots_open_data.overture_maps_foundation.buildings_building b, county c WHERE b.bbox.xmin > -95.235 AND b.bbox.xmax < -94.369 AND b.bbox.ymin > 29.083 AND b.bbox.ymax < 29.600 AND ST_Intersects(c.g, ST_Centroid(b.geometry)) GROUP BY 4, 5 UNION ALL SELECT 'county', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ST_AsText(ST_SimplifyPreserveTopology(g, 0.002)) FROM county
Year 5588 has three events. One of them, with a 17.7 km radius, causes all 6,678,861 m² of its loss. Year 3471's four events sum to 2,443,060 m², eighth worst by AEP. Its largest event, 1,766,737 m², ranks 16th by OEP.
A production model swaps each toy part for a real one: a stochastic event catalog, hazard rasters joined with RS_ZonalStats, vulnerability curves by construction class, and policy terms. The SQL shape stays the same. The event-to-building join is the step that grows with the portfolio.
PML research grew from underwriting, hazard science, and simulation with risk measures, which met in the 1990s:
A national portfolio has millions of locations, and a stochastic catalog holds many thousands of events. The location-event spatial join is the largest step in the workflow. Jia Yu, Jinxuan Wu, and Mohamed Sarwat's GeoSpark (ACM SIGSPATIAL 2015) introduced spatially partitioned joins on Apache Spark. Yu, Zhang, and Sarwat's Spatial data management in Apache Spark: the GeoSpark perspective and beyond (GeoInformatica, 2019) describes the partitioning and indexing that became Apache Sedona. Sedona is the engine under WherobotsDB.
The models people use every day were trained on text, documents, databases, and the internet. Those sources cover the definition of PML. None of them holds the number of insured buildings inside last night's hurricane wind field from a weather model such as the High-Resolution Rapid Refresh (HRRR). An AI agent connected to exposure and hazard tables through the Wherobots Model Context Protocol (MCP) server can get that number with a spatial query.
The Galveston walkthrough shows that a portfolio PML is one point on an EP curve, and each finding below states what a PML figure needs beside it.
Join exposure to hazard layers with a Wherobots free trial at cloud.wherobots.com.
In insurance, PML stands for probable maximum loss: the largest loss an insurer can reasonably expect from a property or a portfolio. For a single building it is an engineering estimate of the worst likely fire or other event. For a catastrophe portfolio it is the loss at a chosen return period, such as the 1-in-100 year loss. That loss is read from an exceedance probability curve.
For a single site, engineers build a loss scenario, such as a fire with one protection system failed, and price the damage plus business interruption. For a catastrophe portfolio, a model simulates thousands of years of events against the insured locations. It sums the losses in each simulated year, ranks the years, and reads the loss at the chosen return period. With 10,000 simulated years, the 1-in-100 year loss is the 100th worst year.
AAL, average annual loss, is the mean loss per year across all simulated years. It equals the area under the exceedance probability curve. PML is a loss from the tail of the same distribution, such as the 1-in-250 year loss. AAL sets the expected-loss part of the premium. PML sets how much capital and reinsurance an insurer holds for a bad year.
OEP, occurrence exceedance probability, is the probability that the largest single event in a year exceeds a loss. AEP, aggregate exceedance probability, is the probability that the total of all events in a year exceeds it. AEP losses are always at least as large as OEP losses at the same return period, because a year’s total includes its largest event.
A 1-in-100 year PML is the loss with a 1% probability of being exceeded in any one year. It does not mean the loss happens once a century. Over 30 years, a loss with a 1% annual chance has about a 26% chance of being exceeded at least once.
In property underwriting, maximum foreseeable loss (MFL) assumes every protection system fails, so it is the larger figure. PML assumes some protection works, such as fire walls holding while sprinklers fail. Normal loss expectancy (NLE) assumes all protection works as designed.
Yes, under new names. ASTM E2026-24, the guide for seismic risk assessment of buildings, frames building damage as probable loss (PL) and scenario loss (SL) assessments. Its companion, ASTM E2557-24, covers PML evaluations for earthquake due diligence. For the 475-year earthquake, reports give a scenario expected loss (SEL), the mean loss, and a scenario upper loss (SUL), the loss with a 90% chance of not being exceeded. SUL475 matches the traditional seismic PML. Fannie Mae accepts a multifamily property with an SEL of 20% or less, requires further analysis between 20% and 40%, and does not buy loans at 40% or more.
In seismic due diligence, probable loss (PL) is the ASTM E2026 term for a building damage estimate tied to a probability of exceedance over a stated exposure period. It sits beside the scenario loss (SL), which is tied to a specified earthquake. More loosely, a probable loss is any loss estimate stated with the probability that it is exceeded.
MPL, maximum possible loss, is the worst loss that could possibly occur from one event, usually the full value at risk. PML, probable maximum loss, is the largest loss that can reasonably be expected, so it assumes some protection works or uses a stated return period. MPL is always at least as large as PML.
EML, estimated maximum loss, is a single-site loss estimate used in some property markets for a rung close to PML. Its protection assumptions differ between insurers, so EML and PML figures are only comparable when the survey states which systems it assumes will fail.
PML sets the size of the reinsurance program. An insurer buys catastrophe excess-of-loss cover, which pays the part of an event loss above a set amount, up to its 1-in-100 or 1-in-250 occurrence PML. Reinsurers price each layer from the part of the exceedance probability curve it covers. Rating agencies such as AM Best, and regulators under Solvency II and the NAIC, test capital against PMLs at set return periods.
Tail value at risk (TVaR) is the average of all simulated annual losses at or beyond a return period. It is also called tail conditional expectation or expected shortfall. The 1-in-100 TVaR is the mean of the worst 1% of years, so it is always at least the 1-in-100 PML. TVaR is a coherent risk measure in the sense of Artzner et al. (1999): combining two portfolios never raises it above the sum of their separate values. A single quantile can fail that test.
Article 101 of the Solvency II Directive sets the Solvency Capital Requirement at the value at risk of basic own funds at a 99.5% confidence level over one year. A 0.5% annual probability is a 1-in-200 year return period. A European insurer’s catastrophe capital therefore starts from its 1-in-200 aggregate loss.
What is a Geofence? How Geofencing Works, With Examples
A geofence is a virtual boundary that triggers an action when a device enters or leaves it. How geofencing works, its uses and limits, and a test on ship data.
What is Map Matching? GPS Traces, Methods and Examples
Map matching places each GPS record on the road a vehicle drove. How it works, nearest-road snapping vs hidden Markov models, and a test on Ann Arbor drives.
Geospatial Big Data: Why Analytics Is Hard to Scale
Teams struggle to scale geospatial analytics for five reasons: data volume, mixed formats, many coordinate systems, spatial joins and pipeline upkeep.
share this article
Awesome that you’d like to share our articles. Where would you like to share it to: