The honest calibration plot
When the Sentinel model says “5% risk,” does the real outcome actually happen ~5% of the time? Below is the answer: 898 live (predicted, observed) pairs from the last 30 days, binned into a standard reliability diagram.
Updated every 30 min · last refresh Aug 19, 2026 · CC BY 4.0 · Binned JSON · Raw outcomes
Reliability diagram
Each point is one prediction bin. X axis is the mean predicted probability inside the bin; Y axis is the fraction of those forecasts where the real outcome actually happened. Perfect calibration is the diagonal line — points above the line mean the model UNDER-estimates risk; points below mean it OVER-estimates.
Bubble area scales with bin count · Red = model under-estimated · Blue = model over-estimated
Per-bin breakdown
| Bin | Predicted mean | Observed rate | Δ | n |
|---|---|---|---|---|
| [0.0, 0.1) | 0.031 | 0.263 | +0.232 | 350 |
| [0.1, 0.2) | 0.153 | 0.256 | +0.103 | 43 |
| [0.2, 0.3) | 0.257 | 0.354 | +0.097 | 48 |
| [0.3, 0.4) | 0.340 | 0.155 | -0.185 | 103 |
| [0.4, 0.5) | 0.452 | 0.245 | -0.207 | 53 |
| [0.5, 0.6) | 0.553 | 0.281 | -0.272 | 57 |
| [0.6, 0.7) | 0.652 | 0.277 | -0.375 | 101 |
| [0.7, 0.8) | 0.749 | 0.136 | -0.614 | 118 |
| [0.8, 0.9) | 0.830 | 0.160 | -0.670 | 25 |
Δ = observed − predicted. The 0.1 bin holds 350 of the 898 forecasts — this is where most action happens, and where the May 20 isotonic recalibration was aimed. See /sentinel/calibration for the time-series view of how this gap evolves day over day.
Per-country backtest (worst Brier first, n ≥ 5)
Countries where the forecast is currently performing worst — useful for targeting feature engineering or seeking expert review.
| Country | Brier | Accuracy | P | R | n | Pos rate |
|---|---|---|---|---|---|---|
| BangladeshBD | 0.000 | 0% | — | 0.00 | 30 | 0% |
| BrazilBR | 0.000 | 0% | 0.00 | — | 30 | 0% |
| BelarusBY | 0.000 | 0% | 0.00 | — | 29 | 0% |
| ChinaCN | 0.000 | 0% | 0.00 | — | 30 | 0% |
| CubaCU | 0.000 | 0% | 0.00 | — | 30 | 0% |
| EgyptEG | 0.000 | 0% | 0.31 | 1.00 | 30 | 0% |
| ERER | 0.000 | 0% | 0.00 | — | 30 | 0% |
| EthiopiaET | 0.000 | 0% | — | — | 30 | 0% |
| IndonesiaID | 0.000 | 0% | 0.33 | 0.06 | 30 | 0% |
| IndiaIN | 0.000 | 0% | 1.00 | 0.06 | 30 | 0% |
| IranIR | 0.000 | 0% | 0.50 | 0.17 | 30 | 0% |
| North KoreaKP | 0.000 | 0% | 0.00 | — | 30 | 0% |
| KazakhstanKZ | 0.000 | 0% | 0.34 | 1.00 | 30 | 0% |
| LebanonLB | 0.000 | 0% | 0.00 | — | 30 | 0% |
| MyanmarMM | 0.000 | 0% | 0.43 | 0.92 | 29 | 0% |
| MalaysiaMY | 0.000 | 0% | 0.44 | 0.67 | 30 | 0% |
| NigeriaNG | 0.000 | 0% | 0.00 | — | 30 | 0% |
| NicaraguaNI | 0.000 | 0% | 0.00 | — | 30 | 0% |
| PhilippinesPH | 0.000 | 0% | 0.00 | — | 30 | 0% |
| PakistanPK | 0.000 | 0% | 0.15 | 1.00 | 30 | 0% |
How to read these numbers
- Brier score — mean squared error between predicted probability and actual 0/1 outcome. Lower is better. Less than 0.10 is excellent; 0.10-0.30 is OK; above 0.30 is concerning.
- Calibration MAE — average gap between predicted-mean and observed-rate across bins. 0.00 means the model's probabilities are exactly right on average.
- Reliability diagram — the visual version of calibration MAE. Bubble size = bin sample count.
- F1 (P + R) — binary classification metrics at the 0.5 threshold. Useful when downstream decisions are binary (alert / no-alert).
- The May 20, 2026 isotonic recalibration targeted the 0.1 bin specifically — see the recalibration finding.
Related
- /sentinel/calibration — 90-day time series of empirical coverage vs the 90% conformal target
- /methodology#validation — the three honest accuracy splits (LOCO, stratified, time-based)
- /atlas/forecast/IR — per-country calibrated forecast detail with SHAP drivers