Skip to main content
The CONDITIONS that let a shock travel, 0-1. All five sub-factors are OBSERVED present properties of the event as reported — never a forecast of specific follow-on events. In one sentence: average how open the channels are, how tight the coupling, whether a barrier broke, how primed the ground is, and how little damping is already in place — and score 0 if no live channel exists at all.

What it is for

  • Asking whether a disruption is likely to travel beyond where it happened, rather than how bad it is where it happened.
  • Early warning: a high reading with a low magnitude is the classic small-event-big-consequence shape.
  • Filtering out self-contained incidents — a 0 means no live transmission channel was found, which is a strong negative signal.
  • Reading the containment sub-factor as a damper: a high value SUPPRESSES the score, so a falling containment on a live story is itself the signal.

Filter on it

propagation_potential_min and propagation_potential_max on GET /api/v2/events, range 01. Published only for the cameoplus family — filtering on it excludes every event outside that family.

Formula

propagation_potential={0c0.05c+k+b+p+(1m)5c>0.05\text{propagation\_potential} = \begin{cases} 0 & c \le 0.05 \\[4pt] \dfrac{c + k + b + p + (1 - m)}{5} & c > 0.05 \end{cases} Every sub-factor is clamped to its stated range before it enters the equation, and the result is rounded to 2 decimal places. Reproducing a served value needs both.

What the coder scores

The coder reads these off the article and records a reason for each. The scaler above turns them into the value — nothing else feeds it.

channel

Gate — at or below 0.05 the whole metric is 0 regardless of the other sub-factors. GATE (0-1): do LIVE transmission channels exist from this event to other actors or systems? Score the count and breadth of channel TYPES that exist NOW: operational dependency, common exposure, confidence/belief, physical/geographic. 0 = genuinely self-contained.

coupling

(0-1) How tight and fast is the connection? Score the ABSENCE of slack: buffers, spare capacity, substitutes, rerouting, time to respond.

breach

(0-1) Did this cross a threshold or DEGRADE A BARRIER that was holding? The signal is breach of a previously observed restraint (“first time”, “first since”, “unprecedented”), not absolute size.

primed

(0-1) Is the receiving system already stressed, crowded, or near a tipping point (existing crisis, deadline, election, market open)?

containment

Inverted — high values SUPPRESS the score; it enters as (1 − value). SUBTRACTIVE (0-1): are credible dampers ALREADY acting in the description? mediator, backstop, failover, circuit-breaker, reserve release, service restored.

The frameworks it adapts

ESRB systemic cyber-risk model

What we take from it. The shape built explicitly for shocks with NO historical precedent to fit against — a channel gate, an amplifier core and a subtractive damper — which is why this metric scores present conditions instead of estimating a probability. In current use by the ESRB, whose recommendation established the pan-European systemic cyber incident coordination framework (EU-SCICF); its terms of reference took effect on 17 January 2025.

Rinaldi, Peerenboom & Kelly — infrastructure interdependency and coupling

What we take from it. The dependency taxonomy and the tight-versus-loose coupling distinction that channel and coupling score — coupling is read as the ABSENCE of slack, which is that literature’s framing. We publish no current third-party application for this one — we adapt the scale, not a live programme.

The full citation trail

Transmission-condition assessment, built from four bodies that independently converge on the same three-part shape (a channel gate, an amplifier core, a subtractive damper) — the ERCS barrier model (Commission Delegated Reg. (EU) 2020/2034, binding EU law since Jan 2023), the ESRB systemic cyber-risk conceptual model (2022-24, built explicitly for when historical precedent is absent), RAND’s escalation-risk framework (RR-A2215-1, 2025; RR-A972-1, 2022), and Rinaldi-Peerenboom-Kelly dependency and coupling analysis as operationalised by Argonne for DHS/CISA, plus the EC JRC Natech checklist. We ADAPT the structure and vocabulary of these frameworks. None of the bodies named endorses, reviews, or is connected to this metric, and their use does not make our values empirical measurements.

Worked examples

Real events from the corpus, scored by the coder and frozen here on 2026-08-19 — check the arithmetic against the formula above. They are snapshots, not live lookups: an event can be re-coded, and an example that changed underneath its own arithmetic would be worse than none.

Vessel owners reduce Strait of Hormuz traffic amid standoff

Iran · 2026-08-11 A high reading, and the inverted limb doing its job: containment is 0.10, so it enters as 0.90 and RAISES the score. Nothing was damping this. c+k+b+p+(1m)5=0.95+0.85+0.75+0.90+(10.10)5=4.355=0.87\frac{c + k + b + p + (1 - m)}{5} = \frac{0.95 + 0.85 + 0.75 + 0.90 + (1 - 0.10)}{5} = \frac{4.35}{5} = \mathbf{0.87} propagation_potential = 0.87 — what GET /api/v2/events returns for this event.

Britain seizes Russian tanker Smyrtos in English Channel

United Kingdom · 2026-08-13 A mid reading carried by breach and primed rather than by coupling. One vessel is detained, so there is little to be tightly coupled to — but it was a first, into an already-stressed situation. c+k+b+p+(1m)5=0.55+0.45+0.80+0.70+(10.10)5=3.405=0.68\frac{c + k + b + p + (1 - m)}{5} = \frac{0.55 + 0.45 + 0.80 + 0.70 + (1 - 0.10)}{5} = \frac{3.40}{5} = \mathbf{0.68} propagation_potential = 0.68 — what GET /api/v2/events returns for this event.

Kyrgyz Ministry fines Talas market 200,000 som

Kyrgyzstan · 2026-08-12 The gate, closed. channel is 0.05, so the metric is 0 regardless of the other four — and 0 here is an assertion, not a missing value: nothing connects this fine to anything else. c=0.050.05    propagation_potential=0(k,b,p,m never enter)c = 0.05 \le 0.05 \;\Longrightarrow\; \text{propagation\_potential} = \mathbf{0}\quad(k,\,b,\,p,\,m\ \text{never enter}) propagation_potential = 0 — what GET /api/v2/events returns for this event.

When it is NULL

Never null. A gated 0 asserts a fact — “no live transmission channel exists” — rather than an absence, so it must not be read as unknown. Instead the metric is ABSENT from the response entirely, in two cases: a conflict-family event (the four CAMEO+ metrics are omitted rather than returned as 0, since a 0 would assert “measured, and it is the minimum”), and an event coded before the v2-2026-07-24 contract.
These are the readings the definition does not support — building on one of them is building on a promise nobody made.
  • NOT a forecast and NOT a probability. It does not say a shock WILL travel, or how likely that is, or how many follow-on events there will be. A high score says the routes are open and the slack is gone.
  • A 0 is NOT a missing value, NOT a low-confidence answer, and NOT a bug. channel ≤ 0.05 means no live transmission channel exists, so the event is self-contained and 0 is the TRUE value regardless of how dramatic it reads. Measured on a frozen week: 687 of 687 zeroed rows had the gate closed, zero unexplained.
  • containment does NOT add. It is the one inverted sub-factor in the whole metric set: a damper already acting reduces how far a shock travels, so it enters as (1 − containment). Reading it as additive inverts the meaning of that limb. It also scores only dampers the text says are ALREADY acting — never ones that exist on paper.
What applies to all four metrics — the frameworks we adapt, how thin the registry coverage is, and the smallest single-event difference worth reading — is on Limits and error bars.