Price-forecast buckets are UTC. The baked prior is a local-hour shape (morning 07–09, evening 17–20). For Nordic CET/CEST the evening peak is shifted 1–2 hours, so overnight fill after the day-ahead cutoff is the wrong shape.
Found on master 6eadec3f in go/internal/priceforecast/forecast.go.
What happens
FitFromHistory and Predict index t.UTC(). Comments claim DST-stable hour-of-week. UTC does the opposite for local peaks: CET 19:00 is 18:00 UTC in winter and 17:00 UTC in summer.
MPC extendPricesWithForecast calls the pricer with UTC. Combined with the VAT mismatch (stored 25% vs forecast 0%), the forecast tail is both cheap and time-shifted.
Predict() never uses Counts/MAE despite the package claiming confidence downweighting.
What a fix needs
- Bucket in the site timezone (or a documented fixed offset), matching how prices are displayed.
- Test: a SE3 evening peak in CEST must land in the evening prior bucket, not 17:00 UTC.
- Either use MAE/counts for confidence or stop claiming it.
Open PR overlap: #1044 (stale harvest) and #1051 (static tariff). This is the forecast filler, not the harvest. Recheck those PRs before touching priceforecast.
Price-forecast buckets are UTC. The baked prior is a local-hour shape (morning 07–09, evening 17–20). For Nordic CET/CEST the evening peak is shifted 1–2 hours, so overnight fill after the day-ahead cutoff is the wrong shape.
Found on master
6eadec3fingo/internal/priceforecast/forecast.go.What happens
FitFromHistoryandPredictindext.UTC(). Comments claim DST-stable hour-of-week. UTC does the opposite for local peaks: CET 19:00 is 18:00 UTC in winter and 17:00 UTC in summer.MPC
extendPricesWithForecastcalls the pricer with UTC. Combined with the VAT mismatch (stored 25% vs forecast 0%), the forecast tail is both cheap and time-shifted.Predict()never usesCounts/MAEdespite the package claiming confidence downweighting.What a fix needs
Open PR overlap: #1044 (stale harvest) and #1051 (static tariff). This is the forecast filler, not the harvest. Recheck those PRs before touching
priceforecast.