Skip to content

Dashboard forecasts the first ~24h against a day-ahead auction that already cleared #30

Description

@ducroq

What

t0 is the last hour of today local (e.g. 2026-09-05T21:00Z, run generated 16:31Z). So forecast hours 1–24 are the next delivery day — and the NL day-ahead auction clears those prices at ~12:45 CET, roughly four hours before the nightly run starts.

The dashboard already has the real numbers: static/js/modules/api-client.js:226 fetches Energy Zero for today, tomorrow and the day after. But static/js/modules/data-processor.js:256 draws the forecast line across every timestamp >= cutoffTime, not just future ones. Net effect: the chart plots a ~27 EUR/MWh error (measured 1–24h MAE) on top of the correct answer sitting in the adjacent trace.

The band is already restricted to future hours (futureTs filter); the line is not.

Why this matters beyond cosmetics

It removes a third of the forecast horizon from the "does this add value?" question. Only 25–72h is genuinely predictive — and there the model is 4–5 EUR/MWh behind seasonal-naive (see #29).

Not yet decided — needs its own pre-commitment

Two things to settle before building anything:

  1. Does EDH's file already carry tomorrow's cleared prices? The consolidated parquet stops at end-of-today-local, and t0_held_back_hours was 0.0 on 2026-09-05, so price_t0 genuinely ended there. But wait_for_edh.sh's own contract suggests a normal entsoe publish holds two days (the 2026-09-04 incident refused a publish with "same-day prices only, 96 vs 192"). If the data is already present, this is a consolidate/anchor change; if not, it needs a fetch. Unverifiable on the dev box — no decryption keys there. Check on sadalsuud.
  2. What should the chart show for those hours? Published price only, or published price and forecast (as an honest visible accuracy check)? The second has some diagnostic value and no product value.

Scope note

This is a product change, not a model finding. It does not affect any pre-committed experiment, and it should not be bundled with the model-class work in #15 / #29.

Related: #29, #18 (wholesale vs consumer labelling touches the same traces), #24 (dashboard hardening)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions