Pull-quote: “A cascade is not a sequence of events; it is a graph. Treating it as anything else loses the structure.”
Why this matters
A weather event at one hub doesn’t just cause local delays. Within hours, it ripples through dozens of downstream airports — and the ripple does not follow great-circle distance. It follows the graph of operations: which airline operates which crews where, which gates feed which routes, which cargo terminals connect to which hubs. The graph is non-obvious and non-stationary.
Treating cascade prediction as a tabular regression problem misses the structure. Treating it as a sequence model misses the spatial pattern. We use a spatial-temporal graph neural network.
Architecture
The model is a Spatial-Temporal Graph Dual-Attention Network (SGDAN) built on PyTorch Geometric. Three things are happening at once:
- Spatial attention over edges in the airport graph — which connections carry disruption load right now
- Temporal attention over the recent history — which past time slices are most predictive of the next
- Dual heads — one for short-horizon (0–60 min) cascade probability, one for medium-horizon (1–6 h)
The graph is built from operational adjacency, not great-circle distance. Edges carry weights — operational throughput, recent congestion signals, and route-criticality measures.
Training data
29.6 million public-domain flight records spanning 2022–2025. Records are aligned to a temporal graph snapshot — for every hour, the network state is captured as a graph with weighted edges and node-level features.
What the attention weights tell us
The most useful by-product of this architecture is the interpretability of the attention weights. After a cascade, you can ask the model: which paths through the network were responsible for the propagation? It returns the top-K edges with attention weights — letting an analyst trace the actual mechanism, not just observe the symptom.
This matters for operational reviews. After a major disruption day, you can reconstruct the propagation path. After a minor one, you can spot patterns that are accumulating into a major disruption.
Calibration
GNN outputs are calibrated alongside the rest of the AeroFarr stack. The cascade probabilities pass through the same calibration pipeline (Platt scaling on a holdout slice) so that the cascade head is in the same probability scale as the gate / severity heads.
Closing
A cascade is a graph problem. We treat it as a graph problem. The result is a model whose outputs are not just predictions but explanations — and whose explanations are usable for operational debriefs.


