We grade our own forecasts. In public.

Every forecast we publish is archived, then compared against what the weather stations actually recorded. This page is the scoreboard - including the days we get it wrong. No other weather service shows you this.

4,531forecast/observation pairs 24stations worldwide 7models scored 1.36°Cbest mean error

Mean absolute error by model

2 m temperature against hourly station reports · lower is better · window 2026-08-12T21:00 → 2026-08-13T16:00 UTC

icon_seamless 1.36°C (144 pairs)BEST
ecmwf_ifs025 1.42°C (838 pairs)
ncep_hrrr_conus 1.54°C (197 pairs)
ecmwf_aifs025_single 1.63°C (838 pairs)
ncep_aigfs025 1.76°C (838 pairs)
best_match 1.8°C (838 pairs)
ncep_gfs013 1.84°C (838 pairs)

Error grows with lead time

icon_seamless - the further ahead a forecast reaches, the more it drifts. This curve is the honest shape of forecasting.

0.7° 1.5° 0-6h 6-12h 12-24h

Where we're sharpest

Same scoring, per station - accuracy is not uniform across the planet.

STATIONBEST MODELMAEBIASPAIRS
BIRK ecmwf_aifs025_single 0.28°C +0.09°C 33
NZAA best_match 0.61°C -0.22°C 36
KORD ecmwf_ifs025 0.7°C +0.05°C 29
YSSY best_match 0.74°C -0.58°C 36
PHNL ecmwf_ifs025 0.77°C -0.58°C 32
FAOR ecmwf_aifs025_single 0.82°C +0.62°C 36
LFPG ncep_aigfs025 0.84°C +0.04°C 36
SBGR ecmwf_ifs025 0.88°C +0.61°C 36
CYYZ ecmwf_ifs025 0.93°C -0.22°C 36
RJTT ecmwf_ifs025 0.96°C -0.51°C 36
KSFO ecmwf_ifs025 0.98°C -0.7°C 31
SCEL ecmwf_aifs025_single 1°C +0.3°C 36
ZBAA ncep_aigfs025 1°C +0.15°C 36
EGLL ncep_aigfs025 1.02°C -0.82°C 36
EDDF ecmwf_ifs025 1.06°C -1.02°C 36
ENGM ncep_aigfs025 1.06°C -0.99°C 36
LEMD ecmwf_ifs025 1.06°C +0.17°C 36
EHAM ncep_aigfs025 1.09°C +0.86°C 36
KDEN ecmwf_ifs025 1.22°C +0.41°C 33
KMIA ncep_aigfs025 1.48°C -0.76°C 34
KJFK best_match 1.54°C -1.47°C 34
LIRF ecmwf_ifs025 1.84°C -0.22°C 36
VIDP ecmwf_ifs025 2.04°C +0.16°C 36
OMDB ecmwf_aifs025_single 3.12°C -3.12°C 36

Mean absolute error in °C against hourly station observations. Models with fewer than 5 matched pairs are listed but not ranked. A short archive is a weak verdict - these numbers sharpen as it grows. Truth data: METAR station observations (NOAA Aviation Weather Center). Scored 25 minutes ago.

These numbers are an API call too.

GET /v2/skill returns the same scores, filterable by model or station.

Read the docs