> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gdeltcloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# propagation_potential

> How open the routes out of an event are right now — conditions present, not a probability.

**Range 0–1.**

<Warning>
  **This is not a probability and not a forecast.** It scores transmission *conditions observed in the event as
  reported*. A high score says the routes are open and the slack is gone — not that a shock will travel them.
</Warning>

## Formula

```
if channel ≤ 0.05  →  0

propagation_potential = (channel + coupling + breach + primed + (1 − containment)) / 5
```

Two things carry the design:

* **`channel` is a gate.** If no live route out exists, nothing can propagate regardless of how bad the event
  is — so the score is `0` outright rather than a small positive number.
* **`containment` subtracts.** A damper that is *already acting* reduces how far a shock travels, so it
  enters as `(1 − containment)`.

## Variables

| Variable      | In plain language                                                                                      |
| ------------- | ------------------------------------------------------------------------------------------------------ |
| `channel`     | Do live routes out exist right now — operational, financial, physical, or confidence? **Gate.**        |
| `coupling`    | How little slack there is. No buffer, no spare capacity, no time to react.                             |
| `breach`      | Whether something that was holding has just given way — a first, a threshold crossed.                  |
| `primed`      | Whether the receiving system was already under strain beforehand.                                      |
| `containment` | Whether credible dampers are **already** acting — backstop, failover, service restored. **Subtracts.** |

## Grounding

The **ERCS barrier model** (Commission Delegated Regulation (EU) 2020/2034, binding since January 2023) scores
how far a defence has been degraded rather than the probability of an outcome — that is where `breach` and
`containment` come from. Coupling and channel follow **Rinaldi–Peerenboom–Kelly** interdependency analysis,
used by Argonne for DHS/CISA. `primed` follows the ESRB's systemic-risk framing of pre-existing stress.

**Our adaptation:** ERCS is applied to single financial institutions with regulatory data. We apply the same
*shape* — barriers, degradation, dampers — to a news event, using rubric anchors. The structure is borrowed;
the calibration is ours and is not validated against outcomes.

## Worked example

> Nationwide power grid blackout in Havana · INFRASTRUCTURE

| Variable      | Value | Coder's reason                                                                              |
| ------------- | ----- | ------------------------------------------------------------------------------------------- |
| `channel`     | 0.85  | Live operational dependency through electricity-dependent transport and medical services.   |
| `coupling`    | 0.80  | Total disconnection halted transport and cancelled surgeries immediately — almost no slack. |
| `breach`      | 0.55  | A total national grid disconnection crossed a major service-continuity threshold.           |
| `primed`      | 0.80  | Fuel shortages and a deteriorating grid were already present beforehand.                    |
| `containment` | 0.35  | Restoration protocols activated — a documented but incomplete damper.                       |

```
(0.85 + 0.80 + 0.55 + 0.80 + (1 − 0.35)) / 5 = 0.73
```

## Stability

Run-to-run noise **±0.029**; smallest defensible difference **0.06**. This metric is **not validated** against
downstream outcomes — see [Limits](/metrics/limits).
