Daily guide · NO1 · 2026-07-28

The number your Norway Oslo 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 benchmark to beat this week is a persistence MAE of 19,66 EUR/MWh across the six days. That figure hides a wide spread: persistence lands at 11,46 EUR/MWh on 24 July and 12,20 EUR/MWh on 26 July, but jumps to 27,04 EUR/MWh on 25 July and 33,51 EUR/MWh on 27 July. The hardest days coincide with the lower day means, 91,75 and 86,90 EUR/MWh respectively, so the naive carry-forward struggles precisely when prices step down from the 126,13 EUR/MWh peak on 23 July.

For the reader, that pattern is the useful signal. Persistence is cheap and accurate on the flat, higher-priced mid-week days; it breaks on the transitions. Any model claiming edge this week has to earn it on 25 and 27 July, not on the easy days.

One caution on ambition. Over the last 42 days our own model recorded an MAE of 23,94 EUR/MWh against a baseline of 18,49 EUR/MWh, so persistence has been the harder target recently. The concrete takeaway: target the two transition days, and treat any weekly MAE below 19,66 EUR/MWh as a genuine result.

Before you train anything on NO1 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:

19.66 €/MWh

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

23.94 vs 18.49

our live production model vs its persistence baseline, trailing 42 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-22 108.59 15.98
2026-07-23 126.13 17.74
2026-07-24 118.79 11.46
2026-07-25 91.75 27.04
2026-07-26 91.96 12.2
2026-07-27 86.9 33.51

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/NO1?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/NO1 (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 NO1 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-no1-2026-07-28".

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.