— Methodology

Methodology

How we measure historical day-ahead arbitrage, and how we build the calibrated forward spread outlook to 2030. A general overview — every report also carries its own market-specific methodology.

Historical Arbitrage

What it measures. We simulate a 1 MWh battery trading a single European day-ahead market against five years of real hourly prices. Each day it charges over the cheapest consecutive hours and discharges over the most expensive, capturing the spread between them. The headline figure is gross arbitrage revenue — the spread captured, before any costs.

Dispatch. Base case: charge over the 2 cheapest consecutive hours, discharge over the 2 most expensive, once per day. Discharge always follows charge (a battery can't sell energy it hasn't stored), and each day starts and ends empty — no intraday or multi-day optimisation.

Options. Additional cycles capture a second non-overlapping spread on days where one exists; reports show the realised average. A round-trip-efficiency setting raises the effective charge cost. With PV co-location, on days the charge window begins within solar hours (08:00–17:00) the charge energy is treated as supplied by the array at zero cost — this isolates the storage-plus-solar effect on the spread, not the value of the solar itself.

Data. Day-ahead auction prices from ENTSO-E via Ember. Days with incomplete hourly data (e.g. daylight-saving transitions) are excluded.

What it excludes. The day-ahead arbitrage layer only — no ancillary services, capacity payments, balancing or intraday revenue, network charges, taxes, financing, operating costs or degradation (beyond an illustrative payback curve). A deliberately conservative measure, not total returns.


Forward Spread Outlook

What it is. A calibrated projection of how a market's day-ahead arbitrage spread could develop to 2030, built from the relationship between spreads and the renewable-and-storage mix observed across European markets, and anchored to the market's own current spread. A range conditional on published build-out assumptions, not a price prediction.

Base. The starting point is the market's actual trailing-twelve-month spread. Anchored to live history, it moves as new prices arrive while the fitted relationships stay fixed.

What moves the spread. Three drivers, each estimated from the data with controls for every market's structural level and for Europe-wide shocks (so the 2022 gas crisis isn't read as a renewables effect):

  • Solar widens the spread — concentrated midday output deepens the daily trough.
  • Wind flattens it — spread across all hours, it compresses the daily range rather than deepening it.
  • Storage compresses it — batteries arbitrage the spread directly, thinning the gap they exploit.

How the weights are set, and how sure we are. The weight on each driver is fitted, not assumed: a single panel regression across European markets finds the solar, wind and storage weights that best reproduce the spreads actually observed — after the controls above strip out structural and year-wide differences, so each weight reflects the driver itself rather than background noise. Two checks stand behind every weight.

Is the effect real? Each weight is measured against its own statistical noise — a t-value, the number of error-widths it sits from zero, where above ~2 is the conventional bar for significance. Solar and wind clear it comfortably (t-values of 4.4 and 3.4); storage clears it but by less (2.1), because fewer markets have a long battery history to fit it from — which is why storage carries a lower confidence rating.

How much do the drivers explain? Net of each market's structural level, the three drivers together account for roughly a fifth of the remaining year-to-year movement in spreads; the rest is genuine noise — weather, gas prices, outages — that no structural model captures. That modest share is the reason the outlook is shown as a range with a residual band, not a single line.

The relationships are empirical, not causal. The method and these checks are disclosed; the fitted weights themselves are proprietary.

Projection. Each market's solar, wind and storage are grown to 2030 on the ENTSO-E ERAA build-out — its own planned roll-out, not a European average — and the fitted relationships translate that into a change in spread, compounded onto the anchor. The response saturates: build-out moves the spread strongly at first and less as the market fills, bending toward a floor rather than to zero, so heavy build-outs stay physically sensible. Bands scale from the model's residual and widen with the horizon.

Confidence. Higher where a market's projected change stays within observed ranges; lower where it builds far beyond them or leans on the newer storage relationship — there the band matters more than the central line.

Scenarios. Battery build-out is now the largest source of uncertainty, so scenarios vary the strength of the storage-compression effect across its plausible range. Input assumptions, not probabilities.

Sources & disclosure. Day-ahead prices from ENTSO-E via Ember; generation and storage data from public European datasets; forward capacity from ENTSO-E ERAA. We disclose the method, the drivers and the limitations; the fitted parameters are proprietary.

What it is and is not. A calibrated outlook, anchored to history and conditional on published build-out. Day-ahead arbitrage layer only — excludes ancillary services, capacity, balancing, intraday, network charges, taxes, financing and operating costs. A range, not a guarantee.

See the methodology applied to a market of your choice.

Run a simulation →
Methodology — BESS Arbitrage