How the scores work
Every number on WARNPOINT is derived deterministically from open-source reporting — no black box. This is how the instability scores and the global threat level are built, and what they do and don't mean.
The instability score (0–100)
Each country carries a single 0–100 instability score, updated continuously. It maps to four tiers:
What feeds it
The score fuses two streams into one normalized event model: GDELT geolocated conflict events (precise incident points), and 200+ open RSS/OSINT feeds (wire services, national outlets, defence, cyber, humanitarian and think-tank sources). Both are tagged to countries and scored on the same scale.
How it's weighted — coverage is not instability
A country in 30 trade-and-diplomacy stories is not in crisis; one in 5 airstrike stories may be. So the model:
- counts located incidents (a city/locality), capped so one noisy machine-coded point can't dominate;
- log-compresses broad country-level coverage, so heavily-reported-but-stable states don't read as war zones;
- scores headlines by severity — only unambiguous on-the-ground violence counts high; metaphor and defence-policy phrasing ("trade war", "war chest", a defence-secretary speech) is stripped before scoring;
- credits a conflict headline mainly to its primary country, so a bystander state named in passing doesn't inherit another's war.
The global threat level
The single headline number blends signals that actually move: the breadth of genuinely hot states, escalation velocity (per-country momentum from the index history), warning-scenario pressure, and cross-domain convergence (a place lighting up in conflict + disease + displacement at once). It maps to a 1–5 THREATCON dial.
Confidence & trend
Each assessment carries a confidence rating driven by how many independent sources corroborate it and their reliability grades — two wire services outweigh five copies of one outlet. Persisted score history yields a 24h trend and a 72-hour projection with an escalation probability.
Cadence & limits
Signals refresh continuously (about every 15 minutes). This is an open-source intelligence estimate for situational awareness — a model over public reporting, not official confirmation. Reporting gaps, machine-coding noise and source bias all apply; treat scores as a prioritised starting point, not ground truth.