Daily guide · DK1 · 2026-07-25

The number your Denmark West price model has to beat this week

All numbers computed from the week's published auction results at publication and frozen — this article is an honest snapshot, not a page that rewrites itself. Reproduce via the API.

The number to beat this week is 20,08 EUR/MWh, the persistence baseline's mean absolute error across the six days on the scorecard. That is the naive benchmark: assume tomorrow looks like today. Any model worth running has to clear it comfortably.

What stands out is how uneven the week is. Persistence copes well on 21 July and 24 July, with errors of 11,82 and 11,61 EUR/MWh against day means of 112,51 and 128,83 EUR/MWh. It falls apart on 20 July, where the error reaches 33,59 EUR/MWh as the day mean jumps to 104,61 EUR/MWh, and again on 23 July at 28,10 EUR/MWh. The hard days are the transition days, not the high-price days as such.

For context, our own model has run 23 of the last 30 days at an MAE of 19,05 EUR/MWh, against a baseline of 26,99 EUR/MWh over the same window. The concrete takeaway: budget your model's error against the 20,08 weekly figure, but concentrate testing on 20 and 23 July, where persistence is weakest and the margin is won or lost.

Before you train anything on DK1 prices, you need the number your model has to beat. In day-ahead forecasting that number is naive persistence: predict that tomorrow's curve equals today's. It costs nothing, needs no features, and it is embarrassingly hard to beat — because power prices are dominated by daily and weekly rhythms that persistence gets for free. We computed it on this exact week:

20.08 €/MWh

persistence MAE on this week's DK1 auctions — the bar. A model that can't get under this adds negative value.

19.05 vs 26.99

our live production model vs its persistence baseline, trailing 23 scored days — the same scoring, in public, on /accuracy

Why the bar moves: this week, day by day

Target dayDay mean €/MWhPersistence MAE
2026-07-19 71.03 12.91
2026-07-20 104.61 33.59
2026-07-21 112.51 11.82
2026-07-22 90.23 22.43
2026-07-23 118.1 28.1
2026-07-24 128.83 11.61

Calm days make persistence look unbeatable; transition days (weather swings, weekend boundaries) are where a real model earns its keep. Averages hide this — always look at the daily distribution.

The part everyone gets wrong: the features

The model is the easy half. The silent killer is lookahead: training on weather reanalysis instead of the forecast that existed at issue time, on revised load data, on same-day flow averages that hadn't finished flowing at the auction. Backtests built that way look brilliant and die in production. Our Quant feature matrices serve one row per (issue day, 15-minute slot) where every column is documented with when it became knowable — the same rows our own models train on:

curl -H "Authorization: Bearer YOUR_KEY" \
  "https://voltcast.com/api/v1/features/DK1?issue_from=2026-07-01&horizons=1"

# columns include: price lags · previous-run weather (as forecast AT issue)
# · grid drivers (lagged to last COMPLETE day) · day-ahead load/RES forecasts
# · ensemble spread · target_price label (null until matured, never imputed)

Start free: the persistence bar above needs nothing but GET /v1/prices/DK1 (free tier covers any one zone). When your walk-forward backtest beats it honestly, prove it in public on the Forecast Bench — forward-blind, open scoring code, and our own model is auto-entered under identical rules. If you'd rather buy the plumbing than build it, that's the Quant tier.

Live DK1 prices → All daily guides → Get a free API key →

Method & citation. Prices are hourly means of published day-ahead auction results (native 15-minute periods averaged; ENTSO-E/SMARD, attributed). Wholesale-price component only — grid fees and taxes come on top and vary by supplier. Cite as "Voltcast Research, voltcast.com/guides/quant-features-dk1-2026-07-25".

The monthly European power roundup

Negative-price records, the biggest spreads, which zones were hardest to forecast — every number computed from our production data, on the 2nd of each month. No filler, unsubscribe anytime.