To dashboard

Forecast verification · Aral region

How accurate is the forecast:
what we promised — and what actually happened

Forecast vs reality
13.1µg/m³ · MAE PM10on average the forecast misses by this much
90%of hours · status matchthe forecast landed in the correct danger level

Counted over 282600 matched forecast-vs-fact hours. Updated hourly — we publish the result even when it doesn’t flatter us.

By forecast horizon
HorizonMAE, µg/m³Status matchPairs
1 h ahead4.5 µg/m³97%7200
2 h ahead5.2 µg/m³96%7200
3 h ahead5.9 µg/m³96%7200
4 h ahead6.6 µg/m³95%7200
5 h ahead7.2 µg/m³95%7200
6 h ahead8 µg/m³95%7200
7 h ahead8.6 µg/m³94%7200
8 h ahead9.2 µg/m³94%7200
9 h ahead9.8 µg/m³93%7200
10 h ahead10.3 µg/m³93%7200
11 h ahead10.8 µg/m³93%7200
12 h ahead11.3 µg/m³92%7200
13 h ahead11.7 µg/m³92%7200
14 h ahead12.1 µg/m³91%7200
15 h ahead12.4 µg/m³91%7200
16 h ahead12.7 µg/m³91%7200
17 h ahead13.1 µg/m³90%7200
18 h ahead13.4 µg/m³90%7200
19 h ahead13.6 µg/m³90%7200
20 h ahead13.8 µg/m³90%7200
21 h ahead14 µg/m³89%7200
22 h ahead14.1 µg/m³89%7200
23 h ahead14.3 µg/m³89%7200
24 h ahead14.4 µg/m³89%7200
25 h ahead14.6 µg/m³89%7200
26 h ahead14.8 µg/m³89%7200
27 h ahead15 µg/m³88%7200
28 h ahead15.4 µg/m³88%7200
29 h ahead15.8 µg/m³88%6900
30 h ahead16.2 µg/m³87%6600
31 h ahead16.5 µg/m³87%6300
32 h ahead16.8 µg/m³87%6000
33 h ahead17.2 µg/m³86%5700
34 h ahead17.4 µg/m³86%5400
35 h ahead17.7 µg/m³86%5100
36 h ahead18 µg/m³86%4800
37 h ahead18.2 µg/m³86%4500
38 h ahead18 µg/m³86%4200
39 h ahead17.7 µg/m³86%3900
40 h ahead17.5 µg/m³86%3600
41 h ahead17.5 µg/m³86%3300
42 h ahead17.9 µg/m³87%3000
43 h ahead18.2 µg/m³86%2700
44 h ahead18.6 µg/m³86%2400
45 h ahead18.8 µg/m³86%2100
46 h ahead18.8 µg/m³87%1800
47 h ahead18.3 µg/m³87%1500
48 h ahead18.1 µg/m³86%1200

The closer the hour, the more accurate the forecast — the shortest horizon has the smallest error.

Promised → happened
TimeSettlementHorizonPromised, µg/m³Happened, µg/m³Difference
07/28, 12:00Qongʻirot1 h ahead25.225.20 µg/m³
07/28, 12:00Chimboy1 h ahead15.415.40 µg/m³
07/28, 12:00Taxiatosh1 h ahead9.59.50 µg/m³
07/28, 12:00Xoʻjayli1 h ahead9.59.50 µg/m³
07/28, 12:00Nukus1 h ahead9.59.50 µg/m³
07/28, 12:00Konye-Urgench1 h ahead10.810.80 µg/m³
07/28, 12:00Aralsk1 h ahead11.411.40 µg/m³
07/28, 12:00Qazaly1 h ahead76.876.80 µg/m³
07/28, 12:00Dashoguz1 h ahead5.85.80 µg/m³
07/28, 12:00Moynaq1 h ahead33.433.40 µg/m³
07/28, 12:00Qongʻirot2 h ahead15.125.2+10.1 µg/m³
07/28, 12:00Chimboy2 h ahead12.115.4+3.3 µg/m³
How we calculate it
  • On every hourly update the system remembers what the CAMS forecast promised for future hours. When that hour arrives, the freshest value recorded for it becomes the fact, and the pair is compared.
  • MAE is the mean absolute PM10 error in µg/m³. Status match is the share of hours when the forecast landed in the same danger level by the 55/155/355 µg/m³ thresholds.
  • An honest caveat: we compare the CAMS forecast against the CAMS analysis, not against ground stations — there are almost none in the region. This measures the model’s consistency over time, not absolute ground truth.