Days and window hits
‘18 / 30 (60%)’ under ‘Exact window’ means the predicted cheapest four-hour window started at the correct hour on 18 of 30 days. ‘Within 1 hour’ also counts starts one hour earlier or later.
Forecast quality · updated 2026-10-04
The figures below evaluate every bidding zone separately against day-ahead prices published later. No cross-country average is calculated.
Rolling period: up to the latest 30 settled days per market. Every bidding zone is evaluated separately; no cross-country average is calculated.
Simulation over the latest settled days: your shiftable monthly consumption is split across every second calendar day and charged in the forecast's cheapest window. The window length follows from the amount and the charging power.
Measured against the published day-ahead wholesale price, excluding taxes and add-ons. These savings require a dynamic electricity tariff. “Without time optimisation” means spread evenly over the whole day. The yearly figure is projected from the period shown; price spreads can differ in winter.
Settled results · 2026-09-04 to 2026-10-04
Base price (wholesale day-ahead, without taxes and grid fees). Window length 4 hours. Prices in ct/kWh, or øre/kWh for Denmark and Norway.
| Bidding zone | Settled days | Window: exact 4-h start | Window: within one hour | Window: extra cost vs. optimum | Day: better of tomorrow and the day after | Day: advice to wait paid off | Day: saving when you waited (median / mean) | Day: extra cost on a wrong day (median / mean) | Mean hourly error | Correlation r |
|---|---|---|---|---|---|---|---|---|---|---|
Germany DE |
30 | 19 / 30 (63 %) | 29 / 30 (97 %) | 0.12 ct/kWh | 23 / 30 (77 %) | 10 of 10 | 4.65 / 5.98 ct/kWh | 2.24 / 2.36 ct/kWh | 2.91 ct/kWh | 0.88 |
Netherlands NL |
30 | 16 / 30 (53 %) | 24 / 30 (80 %) | 0.45 ct/kWh | 19 / 27 (70 %) | 7 of 7 | 5.85 / 7.14 ct/kWh | 2.13 / 2.44 ct/kWh | 2.75 ct/kWh | 0.87 |
Belgium BE |
30 | 16 / 30 (53 %) | 27 / 30 (90 %) | 0.16 ct/kWh | 24 / 30 (80 %) | 15 of 20 | 2.51 / 3.08 ct/kWh | 1.27 / 1.97 ct/kWh | 2.76 ct/kWh | 0.89 |
France FR |
30 | 14 / 30 (47 %) | 24 / 30 (80 %) | 0.48 ct/kWh | 18 / 30 (60 %) | 7 of 7 | 3.19 / 5.07 ct/kWh | 0.69 / 1.99 ct/kWh | 3.53 ct/kWh | 0.80 |
Czechia CZ |
30 | 10 / 30 (33 %) | 27 / 30 (90 %) | 0.51 ct/kWh | 25 / 30 (83 %) | 11 of 12 | 4.27 / 5.31 ct/kWh | 3.42 / 3.06 ct/kWh | 3.28 ct/kWh | 0.84 |
Poland PL |
30 | 9 / 30 (30 %) | 20 / 30 (67 %) | 2.08 ct/kWh | 21 / 30 (70 %) | 6 of 8 | 6.09 / 5.70 ct/kWh | 3.53 / 3.51 ct/kWh | 4.54 ct/kWh | 0.73 |
Finland FI |
30 | 4 / 30 (13 %) | 16 / 30 (53 %) | 1.22 ct/kWh | 21 / 30 (70 %) | 8 of 9 | 2.32 / 2.26 ct/kWh | 0.58 / 0.61 ct/kWh | 4.61 ct/kWh | 0.52 |
Sweden SE1 (Luleå) SE1 |
30 | 10 / 30 (33 %) | 17 / 30 (57 %) | 0.50 ct/kWh | 24 / 30 (80 %) | 15 of 20 | 0.80 / 0.67 ct/kWh | 1.05 / 1.24 ct/kWh | 1.82 ct/kWh | 0.70 |
Sweden SE2 (Sundsvall) SE2 |
30 | 8 / 30 (27 %) | 13 / 30 (43 %) | 0.95 ct/kWh | 23 / 30 (77 %) | 12 of 15 | 0.81 / 0.80 ct/kWh | 1.36 / 1.26 ct/kWh | 2.42 ct/kWh | 0.56 |
Sweden SE3 (Stockholm) SE3 |
30 | 7 / 30 (23 %) | 15 / 30 (50 %) | 1.41 ct/kWh | 20 / 30 (67 %) | 9 of 11 | 2.23 / 2.39 ct/kWh | 1.40 / 1.74 ct/kWh | 3.86 ct/kWh | 0.60 |
Sweden SE4 (Malmö) SE4 |
30 | 5 / 30 (17 %) | 14 / 30 (47 %) | 3.01 ct/kWh | 21 / 30 (70 %) | 10 of 10 | 3.03 / 3.90 ct/kWh | 1.34 / 1.72 ct/kWh | 5.20 ct/kWh | 0.60 |
Denmark DK1 (West) DK1 |
30 | 20 / 30 (67 %) | 28 / 30 (93 %) | 2.00 øre/kWh | 25 / 30 (83 %) | 10 of 10 | 44.90 / 53.00 øre/kWh | 6.25 / 7.44 øre/kWh | 23.19 øre/kWh | 0.85 |
Denmark DK2 (East) DK2 |
30 | 14 / 30 (47 %) | 25 / 30 (83 %) | 2.17 øre/kWh | 24 / 30 (80 %) | 10 of 10 | 43.11 / 40.42 øre/kWh | 13.65 / 20.50 øre/kWh | 25.97 øre/kWh | 0.81 |
Austria AT |
30 | 21 / 30 (70 %) | 28 / 30 (93 %) | 0.21 ct/kWh | 23 / 30 (77 %) | 10 of 12 | 5.34 / 5.93 ct/kWh | 3.22 / 4.48 ct/kWh | 3.05 ct/kWh | 0.79 |
Norway NO1 (Oslo) NO1 |
30 | 6 / 30 (20 %) | 18 / 30 (60 %) | 10.74 øre/kWh | 19 / 30 (63 %) | 14 of 21 | 12.09 / 19.11 øre/kWh | 11.99 / 16.32 øre/kWh | 30.84 øre/kWh | 0.52 |
Norway NO2 (Kristiansand) NO2 |
30 | 8 / 30 (27 %) | 17 / 30 (57 %) | 22.47 øre/kWh | 21 / 30 (70 %) | 12 of 15 | 26.07 / 32.78 øre/kWh | 26.59 / 28.37 øre/kWh | 41.27 øre/kWh | 0.42 |
Norway NO3 (Trondheim) NO3 |
30 | 4 / 30 (13 %) | 7 / 30 (23 %) | 12.55 øre/kWh | 16 / 30 (53 %) | 13 of 25 | 1.61 / 7.73 øre/kWh | 6.42 / 6.92 øre/kWh | 37.10 øre/kWh | 0.47 |
Norway NO4 (Tromsø) NO4 |
30 | 4 / 30 (13 %) | 8 / 30 (27 %) | 4.80 øre/kWh | 22 / 30 (73 %) | 15 of 21 | 2.69 / 3.98 øre/kWh | 1.50 / 6.83 øre/kWh | 22.47 øre/kWh | 0.01 |
Norway NO5 (Bergen) NO5 |
30 | 6 / 30 (20 %) | 13 / 30 (43 %) | 19.44 øre/kWh | 18 / 30 (60 %) | 10 of 15 | 10.62 / 16.82 øre/kWh | 10.87 / 19.47 øre/kWh | 34.64 øre/kWh | 0.25 |
Switzerland CH |
25 | 8 / 25 (32 %) | 23 / 25 (92 %) | 0.43 ct/kWh | 17 / 21 (81 %) * | 9 of 9 | 5.64 / 5.78 ct/kWh | 2.34 / 2.43 ct/kWh | 2.23 ct/kWh | 0.85 |
Italy North ITN |
25 | 8 / 25 (32 %) | 21 / 25 (84 %) | 0.49 ct/kWh | 15 / 20 (75 %) * | 7 of 8 | 2.36 / 3.64 ct/kWh | 0.13 / 1.72 ct/kWh | 1.58 ct/kWh | 0.87 |
Italy Centre-North IT_CNOR |
25 | 15 / 25 (60 %) | 21 / 25 (84 %) | 0.27 ct/kWh | 15 / 20 (75 %) * | 8 of 10 | 1.29 / 2.84 ct/kWh | 0.13 / 1.87 ct/kWh | 1.91 ct/kWh | 0.84 |
Italy Centre-South IT_CSUD |
25 | 7 / 25 (28 %) | 23 / 25 (92 %) | 0.53 ct/kWh | 15 / 20 (75 %) * | 8 of 11 | 0.58 / 2.88 ct/kWh | 2.10 / 2.94 ct/kWh | 1.71 ct/kWh | 0.86 |
Italy South IT_SUD |
25 | 9 / 25 (36 %) | 20 / 25 (80 %) | 0.41 ct/kWh | 17 / 20 (85 %) * | 9 of 11 | 4.75 / 4.02 ct/kWh | 0.12 / 0.78 ct/kWh | 1.80 ct/kWh | 0.85 |
Italy Calabria IT_CALA |
24 | 11 / 24 (46 %) | 22 / 24 (92 %) | 0.30 ct/kWh | 14 / 20 (70 %) * | 7 of 9 | 2.37 / 2.97 ct/kWh | 1.92 / 3.69 ct/kWh | 2.50 ct/kWh | 0.78 |
Italy Sicily IT_SICI |
25 | 15 / 25 (60 %) | 21 / 25 (84 %) | 0.61 ct/kWh | 12 / 20 (60 %) * | 4 of 5 | 2.37 / 3.17 ct/kWh | 2.90 / 4.14 ct/kWh | 4.60 ct/kWh | 0.72 |
Italy Sardinia IT_SARD |
25 | 7 / 25 (28 %) | 21 / 25 (84 %) | 0.61 ct/kWh | 18 / 20 (90 %) * | 7 of 7 | 4.81 / 5.79 ct/kWh | 3.15 / 3.15 ct/kWh | 1.95 ct/kWh | 0.84 |
Slovakia SK |
26 | 16 / 26 (62 %) | 25 / 26 (96 %) | 0.12 ct/kWh | 15 / 20 (75 %) * | 7 of 8 | 3.29 / 3.56 ct/kWh | 4.65 / 3.95 ct/kWh | 3.62 ct/kWh | 0.78 |
Romania RO |
25 | 9 / 25 (36 %) | 23 / 25 (92 %) | 1.04 ct/kWh | 12 / 20 (60 %) * | 5 of 7 | 2.21 / 3.02 ct/kWh | 2.75 / 2.96 ct/kWh | 3.62 ct/kWh | 0.81 |
Spain ES |
25 | 11 / 25 (44 %) | 23 / 25 (92 %) | 0.20 ct/kWh | 22 / 28 (79 %) * | 12 of 14 | 3.74 / 3.13 ct/kWh | 0.54 / 1.93 ct/kWh | 2.38 ct/kWh | 0.91 |
Portugal PT |
24 | 12 / 24 (50 %) | 23 / 24 (96 %) | 0.03 ct/kWh | 20 / 24 (83 %) * | 6 of 6 | 4.71 / 5.84 ct/kWh | 0.04 / 0.16 ct/kWh | 2.31 ct/kWh | 0.92 |
Greece GR |
25 | 9 / 25 (36 %) | 24 / 25 (96 %) | 0.35 ct/kWh | 16 / 22 (73 %) * | 9 of 10 | 3.91 / 3.82 ct/kWh | 0.05 / 2.04 ct/kWh | 3.04 ct/kWh | 0.89 |
Bulgaria BG |
25 | 10 / 25 (40 %) | 20 / 25 (80 %) | 0.65 ct/kWh | 13 / 23 (57 %) * | 6 of 11 | 2.77 / 2.42 ct/kWh | 2.88 / 2.90 ct/kWh | 3.41 ct/kWh | 0.82 |
* Fewer than 30 settled day pairs so far; treat the share as provisional. “–” means the market has no settled sample for that figure yet. Markets added recently start with a shorter sample.
Machine-readable: /en/forecast-quality/?format=json, or per market via /api/v1/home-assistant/summary?country=de (blocks forecast_quality, hourly_accuracy, cheaper_day_decision).
The metrics answer different questions. Every percentage refers to the stated number of settled days or day pairs next to it.
‘18 / 30 (60%)’ under ‘Exact window’ means the predicted cheapest four-hour window started at the correct hour on 18 of 30 days. ‘Within 1 hour’ also counts starts one hour earlier or later.
This is the average extra cost against the perfect four-hour window known in hindsight. 0.25 ct/kWh is about €0.10 for 40 kWh. Lower is better.
‘21 / 26’ means the forecast correctly chose between tomorrow and the day after on 21 of 26 evenings. ‘Waiting paid off’ only covers evenings when the forecast actually advised waiting.
In ‘5.90 / 6.43 ct/kWh’, the first value is the median, the typical middle case. The second is the mean, which reacts more strongly to a few unusually large savings or mistakes.
Mean hourly error is the average absolute price difference. r shows how well the curve shape was captured: 1 moves almost identically, 0 has no clear relationship, and a negative value moves in the opposite direction.
Reading the day-choice columns
The day columns score one decision, made every evening. By then tomorrow's day-ahead prices have been published; the day after's have not. Your car or battery needs one 4-hour charge within the next two days, and either day is fine.
An example. On Tuesday evening Wednesday's prices are known, Thursday's are not. If the forecast expects Thursday's cheapest four hours to be cheaper than Wednesday's, it advises waiting a day. On Friday we check against the published prices: was Thursday really cheaper, and by how much?
Over the last 30 evenings the forecast advised waiting a day 10 times. Every one of those 10 times, the day after really was cheaper. Anyone who followed that advice every time charged 4.65 ct/kWh cheaper in the typical case (median) and 5.98 ct/kWh cheaper on average than on the day whose prices were already known. For a 40 kWh charge that is about 2.39 € per charge on average.
On the other 20 evenings it advised charging tomorrow, which is what you would have done without a forecast anyway: nothing gained, nothing lost.
“Today or tomorrow?” is the same question asked in the morning, before tomorrow's prices appear around 13:00. That version, with today's remaining hours against tomorrow, has been measured separately since 25 September 2026 and will be shown here once it has settled.
These columns cover the choice between tomorrow and the day after, the horizon of the free API. A 120-hour forecast widens the same choice to up to four days, so a flexible load has more days in which to find a cheap one. Whether that pays off is measured the same way, with the same baseline: since 24 September 2026, the forecast's pick among the next 2, 3 and 4 days is frozen every evening and later scored against the published prices. The first four-day results settle from 28 September and count as provisional until 30 decisions have been scored, around the end of October. They will be shown here next to the two-day figures.
120-hour forecasts are part of Private Pro API access.
Related: CO2 intensity methodology · OpenAPI specification · Home Assistant integration on GitHub · evcc tariff documentation · Homey app