Did the published forecasts hold up?

Generated on 14 October 2026. Every number here comes from forecasts that were published before the night happened.

Where the forecasts come from. The daily routine commits the forecast in force, so the history of this repository is an archive of forecasts stamped with the day they were issued. Nothing is re-run: the model is judged on what it actually said, and only forecasts issued on the morning of the night or earlier count. Against it goes the density each city's nearest radar went on to measure, taken again from the public archive, which publishes each day with about two days of delay.

nights verified40
places with a radar14
forecast-nights checked1,054
median rank correlation0.29
places where it is positive11 of 14
alerts that landed on a busy night45%
busy nights that were flagged48%
size falls short by×2.8

How to read it. The rank correlation asks whether the busier nights of a place were forecast as the busier ones: it needs no long radar record, so it is the number that holds everywhere. The alert figures only use the 596 cases where the radar has at least 100 nights in its own record, because without that there is nothing to call a busy night against; chance alone would land on one 34% of the time. The size is the honest weak point: the model orders nights better than it measures them.

Place by place

city nearest_radar nights km to radar rank correlation forecast birds/km² measured birds/km² busiest night level that night record nights
Lisboa ptlis 39 74.9 0.47 3.49 32.61 09 Sep very high 326
Faro ptfar 35 31.9 0.50 2.74 28.91 07 Oct moderate 517
Porto ptprt 35 45.5 0.43 3.14 17.45 09 Sep high 446
Marseille frcol 39 81.7 0.33 6.78 14.91 09 Oct very high 1143
Madrid estjv 38 26.8 -0.09 6.30 8.98 01 Oct low 34
Montpellier frnim 39 54.8 0.31 5.23 8.65 11 Sep high 1165
Zaragoza espdg 39 30.0 0.39 5.11 8.47 15 Sep very high 24
Cáceres essft 39 9.1 0.32 3.38 8.20 16 Sep very high 37
Barcelona esgld 39 23.8 0.11 6.02 7.73 05 Oct low 35
Sevilla esclg 38 45.3 0.14 2.15 5.98 09 Sep high 25
Almería esnjr 39 34.0 0.27 2.67 5.68 07 Oct low 26
Toulouse frtou 39 6.4 -0.28 1.28 0.84 06 Oct low 1163
Bordeaux frbor 39 8.9 -0.12 0.93 0.83 09 Oct moderate 1184
Lyon frniz 37 45.3 0.07 3.23 0.52 09 Oct high 1177

Week by week

The same check, one week at a time since the first published forecast, to see whether the model holds up as the season moves on. A busy night is one in the top quarter of its radar's own record; the alert columns only count radars with a long enough record, and «by chance» is how often an alert fired at random would have landed on one.

week of place-nights median rank correlation alerts busy nights alerts right busy nights flagged by chance forecast birds/km² measured birds/km²
31 Aug 56 — 10 12 20% 17% 38% 3.87 9.67
07 Sep 95 0.50 36 18 36% 72% 34% 4.14 10.88
14 Sep 95 0.29 26 18 54% 78% 34% 4.73 9.93
21 Sep 97 0.32 13 18 54% 39% 32% 3.72 10.91
28 Sep 97 0.39 7 15 57% 27% 27% 2.70 8.73
05 Oct 94 0.54 15 21 33% 24% 40% 3.59 12.94

Every night behind these numbers, with the forecast and the measurement side by side: scorecard_nights.csv.

By how far ahead

days ahead cases places median rank correlation
-1 548 14 0.293
0 534 14 0.301
1 520 14 0.234
2 506 14 0.211
3 492 14 0.209
4 478 14 0.171
5 464 14 0.150
6 451 14 0.079

What this cannot tell you