How well the model does
Every date on this site comes from a model, not from observations (why). This page shows how closely the model matches observed lilac bloom, how each city is graded, and where the evidence is thin.
The model was compared with observed first lilac bloom near each city, the median of the nearby observers each year. Nothing in the model was fitted to these observations.
| Germany | Sweden | |
|---|---|---|
| Springs checked | 741951–2024 | 172008–2024 |
| How closely early and late years matchcorrelation, 1 is perfect | 0.920.89–0.95 | 0.720.54–0.87 |
| The model's typical miss, in how early or late spring was | 3.8 days3.2–4.3 | 3.9 days2.6–4.8 |
| The same, guessing an average spring every year | 8.9 days | 5.6 days |
| Skill score1 is perfect, 0 no better than guessing an average spring every year | 0.820.73–0.88 | 0.520.25–0.75 |
The ranges come from resampling whole springs. Cities share each year's weather, so the evidence is the number of springs, not of city-years.
In Germany the model's dates run early, by 2.8 days on average; in Sweden they are 0.1 days late. The model averages a lilac and two honeysuckles, and the honeysuckles bloom earlier, while the observations are lilac only. Its lilac part alone is 0.7 days off in Germany. The offset does not change the numbers on this site, because each city is compared with the model's own average for that city.
How each city is graded
Each city's track record comes from its own check: the model's skill score, at the cautious end of its 95% range, so that a few lucky springs can't make a city look better than it is.
- Good: 0.5 or more.
- Fair: above 0, so better than simply guessing an average spring every year.
- Not yet confirmed: not shown to beat that guess. So far this happens only in Sweden, where the records are short. The number is still shown, because the same model is confirmed in 18 of the 20 cities.
A city is shown once it has at least 10 springs with nearby observations. The skill score is standard (Murphy, 1988): 1 is perfect, 0 is no better than guessing an average spring every year. The lines at 0 and 0.5 are this site's choice, not part of the standard.
The 95% range is a 95% confidence interval from bootstrap resampling: the springs checked are drawn again at random 10,000 times, the score is worked out each time, and the middle 95% of those scores is kept. It is approximate, and somewhat narrow for short records, so with Sweden's 16 or 17 springs a city near a line could fall on either side of it.
- Good: all 14 German cities and Gothenburg
- Fair: Växjö, Örebro and Stockholm
- Not yet confirmed: Malmö and Jönköping
City by city
One chart per city: the observed date of first lilac bloom each spring checked, and the model's date. Higher on the chart means later in the year. The grades above measure how well the model's line follows the observed one up and down, including how far. Where the model's line sits lower overall, the model is early: that is the offset. It doesn't count against the grade, because each city is compared with the model's own average, where a steady offset cancels out.
Observed: median of nearby observersModel
Germany, 1951–2024
Sweden, 2008–2024
Every value is in bloom_multiyear.csv
Limitations
- Sweden's evidence is thinner: 17 springs, with a median of 3 to 4.5 observations per city and year in Stockholm, Gothenburg and Malmö and 8 to 8.5 in the other three, in some years one. The first two years, 2008 and 2009, pull it down. From 2010 on, the correlation is 0.82 (0.68–0.91).
- Years before 1951 in Germany and before 2008 in Sweden are modelled only. There are too few observations to check them.
- Against single lilac bushes rather than local medians, a European study found the model about a week off on average (Izquierdo-Verdiguier and Zurita-Milla, 2024).
The data and the code
The observations are based on data from Deutscher Wetterdienst (CC BY 4.0) and from SLU Naturens Kalender (CC0).
The code behind the model and this comparison was written with AI assistance. It is checked in two ways: it gives exactly the same days as USA-NPN's own code, and its results are compared with observed bloom, above. The code, its tests and each city's numbers are open on GitHub.