Rasat
Is a day-ahead electricity price forecast better than a naive one?
So far yes: over 73 scored days the model’s mean error is 34.3% below the naive forecast that is better on average, and it was the forecast with less error on 67.1% of those days.
The record has reached the 60 days it needs, and all four publishing conditions are met.
For people who work in the sectorIn plain languageFor machines (JSON)
The record, day by day
The model’s highest daily mean absolute error occurred on 27.09.2026. That day, the mean absolute error was 709 TL/MWh for the model and 568 TL/MWh for the naive forecast with the lowest error.
Show all days
| Day | Model | Best naive that day | Forecast with less error |
|---|---|---|---|
| 09.08.2026 | 432 | 503 | model |
| 11.08.2026 | 389 | 284 | naive |
| 24.08.2026 | 519 | 713 | model |
| 27.08.2026 | 282 | 266 | naive |
| 29.08.2026 | 406 | 511 | model |
| 30.08.2026 | 667 | 774 | model |
| 31.08.2026 | 468 | 525 | model |
| 01.09.2026 | 447 | 352 | naive |
| 02.09.2026 | 274 | 295 | model |
| 03.09.2026 | 309 | 451 | model |
| 04.09.2026 | 355 | 361 | model |
| 05.09.2026 | 416 | 592 | model |
| 06.09.2026 | 258 | 416 | model |
| 07.09.2026 | 585 | 649 | model |
| 08.09.2026 | 520 | 375 | naive |
| 09.09.2026 | 320 | 466 | model |
| 10.09.2026 | 345 | 339 | naive |
| 11.09.2026 | 265 | 290 | model |
| 12.09.2026 | 239 | 251 | model |
| 13.09.2026 | 354 | 413 | model |
| 14.09.2026 | 316 | 623 | model |
| 15.09.2026 | 248 | 393 | model |
| 16.09.2026 | 252 | 263 | model |
| 17.09.2026 | 345 | 310 | naive |
| 18.09.2026 | 369 | 328 | naive |
| 19.09.2026 | 384 | 511 | model |
| 20.09.2026 | 589 | 502 | naive |
| 21.09.2026 | 410 | 431 | model |
| 22.09.2026 | 309 | 465 | model |
| 23.09.2026 | 352 | 238 | naive |
| 24.09.2026 | 437 | 389 | naive |
| 25.09.2026 | 292 | 440 | model |
| 26.09.2026 | 405 | 553 | model |
| 27.09.2026 | 709 | 568 | naive |
| 28.09.2026 | 625 | 1,045 | model |
| 29.09.2026 | 373 | 755 | model |
| 30.09.2026 | 191 | 421 | model |
| 01.10.2026 | 353 | 310 | naive |
| 02.10.2026 | 313 | 386 | model |
| 03.10.2026 | 465 | 642 | model |
| 04.10.2026 | 528 | 628 | model |
| 05.10.2026 | 398 | 734 | model |
| 06.10.2026 | 295 | 439 | model |
| 07.10.2026 | 506 | 484 | naive |
| 08.10.2026 | 343 | 283 | naive |
| 09.10.2026 | 201 | 216 | model |
| 10.10.2026 | 539 | 474 | naive |
| 11.10.2026 | 519 | 703 | model |
| 12.10.2026 | 669 | 909 | model |
| 13.10.2026 | 386 | 316 | naive |
| 14.10.2026 | 453 | 494 | model |
| 15.10.2026 | 291 | 500 | model |
| 16.10.2026 | 319 | 389 | model |
| 17.10.2026 | 406 | 526 | model |
| 18.10.2026 | 516 | 597 | model |
| 19.10.2026 | 706 | 659 | naive |
| 20.10.2026 | 260 | 275 | model |
| 21.10.2026 | 197 | 185 | naive |
| 22.10.2026 | 267 | 267 | model |
| 23.10.2026 | 268 | 181 | naive |
| 24.10.2026 | 652 | 492 | naive |
| 25.10.2026 | 484 | 588 | model |
| 26.10.2026 | 436 | 728 | model |
| 27.10.2026 | 254 | 179 | naive |
| 28.10.2026 | 270 | 264 | naive |
| 29.10.2026 | 303 | 530 | model |
| 30.10.2026 | 401 | 463 | model |
| 31.10.2026 | 180 | 307 | model |
| 01.11.2026 | 631 | 619 | naive |
| 02.11.2026 | 230 | 246 | model |
| 03.11.2026 | 305 | 353 | model |
| 04.11.2026 | 259 | 278 | model |
| 05.11.2026 | 533 | 500 | naive |
How big the differences are
The model made less error on 49 of the 73 scored days and more on 24.
The days the model made more error
Every day the model made more error than the naive forecast that made less error that day, ordered from the largest excess down.
| Day | Model | Best naive that day | Difference |
|---|---|---|---|
| 24.10.2026 | 652 | 492 | 160 |
| 08.09.2026 | 520 | 375 | 145 |
| 27.09.2026 | 709 | 568 | 141 |
| 23.09.2026 | 352 | 238 | 114 |
| 11.08.2026 | 389 | 284 | 105 |
| 01.09.2026 | 447 | 352 | 95 |
| 23.10.2026 | 268 | 181 | 87 |
| 20.09.2026 | 589 | 502 | 87 |
| 27.10.2026 | 254 | 179 | 75 |
| 13.10.2026 | 386 | 316 | 70 |
| 10.10.2026 | 539 | 474 | 65 |
| 08.10.2026 | 343 | 283 | 60 |
| 24.09.2026 | 437 | 389 | 48 |
| 19.10.2026 | 706 | 659 | 47 |
| 01.10.2026 | 353 | 310 | 43 |
| 18.09.2026 | 369 | 328 | 41 |
| 17.09.2026 | 345 | 310 | 35 |
| 05.11.2026 | 533 | 500 | 33 |
| 07.10.2026 | 506 | 484 | 22 |
| 27.08.2026 | 282 | 266 | 16 |
| 01.11.2026 | 631 | 619 | 12 |
| 21.10.2026 | 197 | 185 | 12 |
| 28.10.2026 | 270 | 264 | 6 |
| 10.09.2026 | 345 | 339 | 6 |
The same question on the other three
| What is forecast | Days scored | Mean Error Improvement | Typical Day's Error Improvement (Median) | Share of Days the Model Was Better |
|---|---|---|---|---|
| Consumption (MWh) | 73 | 50.4% | 44.7% | 65.8% |
| Wind (Forecast Perimeter, MWh) | 65 | 44.1% | 38.2% | 66.2% |
| Solar (Licensed, MWh) | 70 | 31.0% | 25.9% | 55.7% |
When the mean and the median are far apart, a few unusual days are carrying the mean.
Month by month
- November 2026
- 5 days were scored this month. The model made less error on 3 of them and more on 2.
- October 2026
- 31 days were scored this month. The model made less error on 20 of them and more on 11.
- September 2026
- 30 days were scored this month. The model made less error on 21 of them and more on 9.
- August 2026
- 7 days were scored this month. The model made less error on 5 of them and more on 2. 16 of the month’s 23 days had no forecast.
What this record does and does not show
- The track record has reached sufficient length (days scored: 73) — the numbers below can be read with confidence.
- Coverage — expected days: 89; forecast issued: 73; scored: 73. Days with no forecast issued: 16.
- One metric only: mean absolute error, over the same days and the same hours for both forecasts. A day whose 24 hours are incomplete is not scored at all.
- It says which forecast made less error. It does not say why the price moved, and it is not a forecast of how the coming days will go.
- Publishable — all four conditions are met.
The four publishing conditions
- Minimum days scored: measured 73, threshold 60. — met
- Minimum MAE improvement: measured 34.3%, threshold 10.0%. — met
- Minimum per-day win rate: measured 67.1%, threshold 60.0%. — met
- No losing month: measured 0, threshold 0. — met
Method
Every day Rasat makes a forecast for tomorrow’s 24 hours and records it once, the day before. Each day, the model’s forecast and the two naive forecasts are scored against the published prices for the same hours. The recorded forecast is never revised.
The difference in the answer above is measured against the single naive forecast that is better on average over the whole period, while the day table compares the model with whichever naive was better that day — the second is the harder test, so the difference you can work out from the table is the smaller one.
Tomorrow's forecast is made at about 15:00, after EPİAŞ has published tomorrow's day-ahead price at 14:00, and it does not use that price. For the price, the record is therefore a test of the method against the two naive forecasts, which do not see that price either — not a prediction of an unknown price.
The Diebold-Mariano test uses hourly absolute errors to assess whether the difference between the model and the best naive forecast is statistically significant; the share of days when the model performs better does not establish this.
Across the 1,752 scored hours of the forward record, the model's mean absolute error is 204.3 TL/MWh lower than that of the best naive forecast (Naive: Last Known Day). Diebold-Mariano test: p < 0.001.
What is compared
- Model (Gradient Boosting)
- Naive: Last Known Day
- Naive: Same Hour Last Week
Where this comes from
- Source
- EPİAŞ Şeffaflık Platformu (Piyasa Takas Fiyatı). The forecasts and their scores are recorded by Rasat.
- Period
- 09.08.2026 to 05.11.2026
- These figures were read at
- 06.11.2026 15:04 TRT
Download every issued forecast (CSV)