Port Risk Index
Methodology
Full specification of the Narrows PRI: data universe, indicator definitions, normalisation procedures, composite scoring, and known limitations.
Overview
The Narrows Port Risk Index (PRI) is a composite risk score assigned to every port in the World Port Index universe. It is designed to support comparative risk assessment across a global port population: quantifying, in a single number, the relative risk a given port poses to a maritime supply chain.
The index is structured around four dimensions, each capturing a distinct class of port risk: physical accessibility, operational reliability, trade concentration, and geopolitical and institutional stability. Within each dimension, source indicators are normalised to a 0–10 scale and combined into a dimension score. The four dimension scores are then composited into a single PRI via geometric mean.
The geometric mean is standard practice in multi-dimensional risk compositing because it penalises dimensional extremes. A port that scores very well on physical access cannot offset a severe stability deficit: both the dimension weakness and the composite will reflect the exposure. This property is essential in a risk instrument: compensatory arithmetic means systematically understate concentrated risk.
Lower PRI score = lower risk. The empirical range across the 3778-port universe is approximately 0.69 to 3.65. Score distributions are right-skewed: the median port falls below 1.3, and the large majority of ports fall below 2.0.
Data Universe
The PRI covers all ports in the National Geospatial-Intelligence Agency World Port Index (WPI), Publication 150, the standard global port registry used by the maritime industry. The WPI lists 3778 ports across 195 countries, from major transshipment hubs to small coastal facilities.
The WPI provides port-level attributes including controlling depth, terminal count, and vessel class acceptances. These attributes anchor D1 (Accessibility) scoring. Country-level indicators from external sources are matched to each port via ISO-2 country code and geographic coordinates.
Not all ports have complete data across all dimensions. Where source data is unavailable
for a given indicator, the scoring procedure applies a conservative imputation, typically
the global mean or a data-tier-adjusted estimate. Coverage quality is captured in the
data_tier and n_dims fields (see Section 9).
Composite Scoring
Each dimension produces a score on a 0–10 scale. The composite PRI is the geometric mean of the four dimension scores, with a floor of 0.1 applied to each dimension before compositing to prevent zero values from collapsing the result.
where each Dₙ = max(raw_dimension_score, 0.1)
Within each dimension, indicators are normalised and combined. The normalisation approach varies by indicator type:
Continuous indicators (depth, PGA values, dwell time, and similar) are min-max normalised against the empirical range of the full WPI population and rescaled to 0–10. For risk indicators, direction is inverted so higher raw values (higher hazard) map to higher scores (higher risk).
Count indicators (terminal count, vessel class count) are scored via a stepped function mapping discrete counts to risk levels. Higher counts receive lower scores More capacity and redundancy means lower risk.
Ordinal indicators (labour regime, sanctions level, dispute level) are mapped from categorical values to numeric scores via fixed scoring tables, documented in the indicator sections below.
The composite PRI is not rescaled back to 0–10. Because the structural moderation of D1 Most ports have serviceable physical infrastructure, and the empirical maximum is 3.71 rather than 10. This is intentional: the score preserves the absolute signal from individual dimensions rather than normalising it away.
D1: Accessibility
Physical access risk
D1 measures the inherent physical constraints on port access and the natural hazard exposure of the port location. A port scores higher on D1 if it has limited depth, cannot accommodate large vessel classes, has few terminals, or faces elevated cyclone or seismic risk.
Physical access risk is the most structurally stable dimension: it changes only when ports invest in infrastructure or when hazard assessments are updated. It also has the most consistent data coverage across the WPI universe, since the WPI itself captures the core physical attributes.
| Field | Description | Source | Risk direction |
|---|---|---|---|
ctrl_depth_final | Controlling depth in metres. The minimum depth across approach channel, anchorage, and berth. Determines maximum vessel draft. | WPI Pub. 150 | Shallower = higher risk |
vessel_class_count | Number of vessel classes the port explicitly accepts per WPI (general cargo, tankers, bulk carriers, container ships, Ro-Ro, passenger). | WPI Pub. 150 | Fewer classes = higher risk |
terminal_count | Number of distinct terminal facilities. Higher counts indicate operational redundancy and lower single-point concentration within the port. | WPI Pub. 150 | Fewer terminals = higher risk |
cyclone_passes | Count of historical tropical cyclone tracks (Category 3+ Saffir-Simpson) passing within 250 km of the port, drawn from the full IBTrACS record (1842–2023). | IBTrACS v04r01 (NOAA) | More passes = higher risk |
pga_g | Peak ground acceleration at 10% exceedance probability in 50 years, in units of g. From the USGS Global Seismic Hazard model at 0.1-degree resolution. | USGS PSHA (Petersen et al.) | Higher PGA = higher risk |
The five D1 source fields are normalised individually, then combined via unweighted arithmetic mean to produce the D1 dimension score.
D2: Reliability
Operational reliability risk
D2 measures the operational environment at country and port level: how efficiently cargo moves through the port, how reliable the surrounding logistics network is, and whether labour conditions create structural friction. A port scores higher on D2 if it sits in a country with weak logistics performance, has elevated dwell times, or operates under an unstable labour regime.
D2 is the most operationally variable dimension. Dwell time is the primary signal: the hours a vessel sits idle at berth represent charter cost bleeding away in real time. Port-level differentiation is introduced via dwell time and port state control inspection records where port-specific data is available. The World Bank LPI is retained as a stored reference field but is not included in the v1.2 composite, as dwell time is derived from LPI for non-CPPI ports (Spearman rho = -0.94), creating a near-identical collinear signal that would violate the OECD Handbook double-counting rule.
| Field | Description | Source | Risk direction |
|---|---|---|---|
dwell_hours | Estimated average container dwell time in hours. For ports in the World Bank Container Port Performance Index (CPPI), direct port-level dwell data is used. For all other ports, dwell is estimated from the World Bank LPI via a calibrated proxy. Longer dwell time represents charter cost accruing without productive use of the vessel. | World Bank PPPI / CPPI, industry sources | Longer dwell = higher risk |
labour_regime | Categorical assessment of port labour environment. Values: stable, disputed, volatile. Derived from strike history, union concentration, and labour dispute records. Ordinal map: stable = 1.0, disputed = 5.5, volatile = 9.0 (on 0-10 risk scale). | ILO, national labour records | Volatile = highest risk |
psc_flag_tier | Port State Control safety inspection record. Combines flag state PSC detention rate tier (Paris MOU, Tokyo MOU, and regional MOUs), regional detention rate, and historical incident record. Ordinal map aligned to MOU white/grey/black list classifications. Higher detention rates and black-list flag states receive higher risk scores. | Paris MOU, Tokyo MOU, IMO GISIS | Black-list tier = highest risk |
The three D2 indicators (dwell time, labour regime, PSC flag tier) are combined via
unweighted geometric mean to produce the D2 dimension score. The geometric mean is used
so that a severe weakness in any single indicator cannot be offset by strong performance
in the others. The World Bank LPI score is stored in the output as lpi_score
for reference but is not included in the composite.
D3: Concentration
Trade concentration risk
D3 measures how dependent a port's catchment economy is on a narrow set of trades or commodities, and how substitutable the port is if it became unavailable. A port scores higher on D3 if it serves a highly specialised hinterland, if it dominates its catchment with few alternatives nearby, or if trade is concentrated in a small number of commodity categories.
Concentration risk is the dimension most likely to be underestimated in qualitative assessments. Ports that appear operationally sound can carry severe systemic risk if their catchment is a mono-commodity economy with no viable alternative port within a realistic rerouting radius.
| Field | Description | Source | Risk direction |
|---|---|---|---|
catchment_share_pct | Estimated share of the port's national or sub-national hinterland trade volume flowing through this single port. High values indicate gateway concentration: a port outage has outsized national impact. | UN Comtrade, WPI, Narrows catchment model | Higher share = higher risk |
herfindahl | Herfindahl-Hirschman Index calculated across commodity categories in the port's trade flows (range 0–1). A value approaching 1.0 indicates near-total dependence on a single commodity. | UN Comtrade HS-2 aggregation | Higher HHI = higher risk |
alt_distance_km | Great-circle distance in kilometres to the nearest alternative port capable of handling the same vessel classes. Longer distance means fewer viable alternatives and higher concentration risk. | WPI, Narrows routing model | Longer distance = higher risk |
The three D3 indicators are combined via unweighted arithmetic mean. D3 is the dimension most sensitive to trade flow data quality. UN Comtrade data is incomplete or significantly delayed for a non-trivial fraction of the WPI universe, particularly in smaller island economies and parts of Sub-Saharan Africa. These gaps are captured in the data tier system.
D4: Stability
Geopolitical and institutional risk
D4 measures the political and institutional environment in which the port operates. A port scores higher on D4 if it sits in a country with weak rule of law and poor governance, is subject to active international sanctions, or sits within a territory affected by an unresolved maritime or territorial dispute.
D4 has the highest volatility relative to the other dimensions: political conditions can shift rapidly. The PRI D4 score should be read as a structural baseline, not a real-time political risk monitor. Users requiring live sanctions screening should supplement the index with a dedicated screening service.
| Field | Description | Source | Risk direction |
|---|---|---|---|
score_4_wgi | Merged governance score: arithmetic mean of the WGI Political Stability (wgi_ps) and Government Effectiveness (wgi_ge) sub-indices, both rescaled to 0-10. The two sub-indices are merged before compositing because they have Spearman rho = 0.864 across the WPI universe. Combining them separately at equal weight would give the shared governance signal double the effective weight, violating the OECD Handbook double-counting rule. Both source fields are retained in the output for reference. | World Bank WGI 2022 | Higher score = higher risk |
sanctions_level | Active international sanctions exposure affecting the port's country or port directly. Values: none, sdn_adjacent, sectoral, comprehensive. Ordinal map: none = 0, sdn_adjacent = 3.0, sectoral = 6.0, comprehensive = 10.0. Derived from OFAC SDN list, EU Consolidated List, and UN Security Council resolutions. | OFAC, EU OJ, UN SC | Comprehensive = highest risk |
dispute_level | Active territorial or maritime boundary disputes affecting the port's operating jurisdiction. Values: none, historical, active_diplomatic, active_military. Ordinal map: none = 0, historical = 2.0, active_diplomatic = 6.0, active_military = 10.0. Sourced from conflict zone monitoring and ICJ/PCA dockets. | ICJ, PCA, UNCLOS records | Active = highest risk |
The three D4 composite indicators (merged WGI governance score, sanctions level, dispute level) are combined via unweighted geometric mean. The raw wgi_ps and wgi_ge fields are stored in the output as reference columns.
Score Interpretation
The PRI is a relative risk measure, not an absolute probability of disruption. It supports comparison within and across port populations. The following bands reflect the empirical distribution of the 3778-port universe.
Dimension scores should always be read alongside the composite. Two ports with identical composite scores can have very different risk profiles: a port scoring 2.0 evenly across all four dimensions is categorically different from one scoring 0.5/0.5/0.5/9.0. The composite captures the systemic risk level; the dimension breakdown shows where the risk is concentrated.
Data Tiers
The data_tier field (A, B, or C) reflects overall data coverage quality for
each port. It is a summary signal, not an additional risk score.
Tier A: Full primary data across all four dimensions. The composite PRI is based entirely on directly sourced indicators. Approximately 60% of the WPI universe.
Tier B: Partial gaps in one or two dimensions, filled with country-level or imputed estimates. The composite is reliable but carries additional uncertainty in the affected dimensions.
Tier C: Significant gaps in three or more dimensions. The composite should be treated as an indicative estimate. Tier C ports are typically very small facilities for which public source data is sparse.
The n_dims field records how many of the four dimension scores are based on
complete primary data (0–4), providing more granular coverage information than the tier alone.
Known Limitations
The PRI is built on the best publicly available source data. The following limitations are inherent to the current version and should inform how the index is used.
Data Vintage and Update Cadence
The current PRI (v1.2, June 2026) uses the following source vintages.
| Source | Edition | Coverage |
|---|---|---|
| NGA World Port Index (Pub. 150) | 2024 release | Current at time of publication |
| IBTrACS tropical cyclone tracks | v04r01 (NOAA, 2024) | 1842–2023 historical record |
| USGS Global Seismic Hazard | Petersen et al. 2020 | Probabilistic at 50-year exceedance |
| World Bank LPI | 2023 edition | Survey-based, 2022/23 |
| World Bank WGI | 2023 edition | Estimates for 2022 |
| UN Comtrade | HS-2 aggregation | 2022 (latest available at model build) |
| OFAC / EU / UN sanctions lists | Q1 2026 snapshot | Static; not updated continuously |
| ICJ / PCA dispute records | Q1 2026 snapshot | Active cases and unresolved claims |
The PRI is rebuilt annually. Between releases, methodology corrections are noted in the version changelog. Questions about methodology or errors in scoring can be directed to fysh@narrows.io. The full model code and indicator construction notebooks are available on request for institutional users.
Open the Port Risk Index →Charter Bleed: Translating Dwell Into Cost
Dwell time is the most commercially actionable signal in the PRI. Every hour a vessel sits idle at berth, charter cost accrues with no productive output. The charter bleed framework converts the D2 dwell signal into a direct cost estimate per port call, using the vessel class rate schedule from the Narrows live rate module.
total_idle_usd = (dwell_hours / 24) × (charterPerDay + bunkerPerDay)
charterPerDay and bunkerPerDay are drawn from the Narrows rate
module, which carries a trailing average updated by automated feed. Rates are defined per
vessel class: VLCC, Aframax, Suezmax, Capesize, Handymax, LNG Carrier, Container,
Neopanamax, RoRo, and LPG. The total idle cost adds bunker consumption during dwell to
the pure time-charter cost, reflecting the full commercial exposure.
To annualise the bleed across a port call schedule, multiply charter bleed per call by the expected call count for the relevant vessel class. Call count is derived from annual trade volume (tonnes) divided by average parcel size for that vessel class and commodity. This gives a total annual charter exposure attributable to a specific port's dwell performance, comparable across corridors and vessel books.
Illustrative example. A VLCC with a charterPerDay of USD 84,000 sitting at a port with average 72-hour dwell incurs a charter bleed of 3 days × USD 84,000 = USD 252,000 per call. An equivalent vessel at Rotterdam (average dwell 18 hours) incurs USD 63,000 per call. The 54-hour dwell gap costs USD 189,000 per call in pure charter terms, before bunker and port fees.
Charter bleed is available as an interactive calculator within the Narrows CDM and CAPE tools. The calculation uses live rate data and updates automatically when the rate module refreshes. For methodology questions or access to the underlying rate schedule, contact fysh@narrows.io.
Relationship to the World Bank CPPI
The World Bank Container Port Performance Index (CPPI), published annually in partnership with S&P Global Market Intelligence, ranks container ports by vessel time in port. The methodology aggregates arrival and berth hours from AIS position data, controls for ship size (five TEU capacity categories) and call size (ten container move categories) via mean-centering within peer groups, and weights the final score by a Fuel Consumption Index that gives greater influence to larger vessels. Two complementary scoring approaches are published: an administrative approach based on direct time aggregation, and a statistical approach applying factor analysis to the same scaled port time matrix. The resulting index measures how efficiently a port processes container vessels relative to peers handling similar call sizes and vessel sizes.
The CPPI and the PRI measure different things for different purposes. The CPPI is a retrospective efficiency benchmark: it records how long vessels actually spent in port and compares that outcome to peers. The PRI is a risk composite: it asks what conditions make a port likely to cause disruption, delay, or loss. A port with very high call volume may score below peers on the CPPI because berth queuing is a function of demand, not dysfunction. That same port may score well on the PRI because its infrastructure is sound, its labour regime is stable, and its geopolitical environment is benign. The CPPI cannot distinguish a slow port from a risky one. The PRI is designed around that distinction. Scope differs as well: the CPPI covers container operations only, and its Fuel Consumption Index weighting is appropriate for container logistics optimisation but not for a risk index used across vessel types. The PRI covers 3,778 ports across all vessel classes, including bulk, tanker, general cargo, and RoRo facilities for which no CPPI equivalent exists.
The two indices are complementary rather than competitive. The CPPI mean-centered port time data, adjusted for call size and vessel class, is a more precise dwell time signal than raw dwell figures, and where CPPI coverage overlaps with the PRI universe it is a candidate calibration input for the D2 reliability dimension. Users who need to benchmark container port efficiency for logistics planning should consult the CPPI directly. Users assessing port risk across a mixed cargo or vessel book: for underwriting, supply chain stress testing, or trade finance, are working a question the CPPI is not designed to answer.