Vigilo's scoring is deterministic: the same inputs always produce the same outputs. Every signal links back to its original official publication. We pre-register, backtest and publish — including the results we're not proud of.
Seven domain scores, one composite. Each sub-score is computed from a fixed formula over the last 30 days of verified data. No machine learning, no hidden weights.
44 verified feeds polled every 15 minutes. Raw events are deduplicated, geolocated and timestamped.
Each event contributes a severity point to its domain (0–100). ERA5 25-year baseline adjusts for seasonal norms.
Seven domain scores are combined with fixed weights into a single 0–100 composite. Weights are published.
Every score response includes the source list that produced it. Click any source to see the original publication.
The composite is the live, multi-domain signal — but it is modified by structural fragility drawn from the INFORM Risk Index (European Commission JRC and UN OCHA), the humanitarian sector's standard country-risk measure. Fragility lifts a quiet but fragile country to at most the 'low' band, and amplifies the live signal of the most fragile countries by up to 20%. It never dominates: a stable country stays low and the top of the table is always driven by live events. Each country's record carries both the live score and the fragility applied, so the structural contribution is fully traceable.
Before adding a new signal source, we run retrospective validation against historical events. Results — good and bad — are published on GitHub.
Thailand 2023. Scored 71/100 two weeks before the official WHO declaration. Seasonal climate signal correctly elevated prior to outbreak confirmation.
Sudan 2023. GDELT composite flagged 14 days before major media coverage. Conflict domain score crossed alert threshold ahead of international reporting.
Sudan 2023 phase 2. Combined bio + conflict signal. With more data and six countries, the combined model decisively loses to the seasonal baseline. The predictive hypothesis is not supported.
Every feed is manually reviewed before inclusion. Feeds are re-evaluated quarterly. If a source degrades, it is removed — not quietly downweighted.
Knowing what a system doesn't do is as important as knowing what it does.
Scores are computed from a fixed deterministic formula. No model weights, no training data, no drift. The same inputs always produce the same output — forever.
Every figure comes from a named official publication. If we can't source it, we don't score it. No estimates, no imputed values, no synthetic signals.
The methodology document is public. The backtest code is on GitHub. You can reproduce any score independently. We do not claim accuracy we can't demonstrate.