Re-Twin Energy measures how much a better day-ahead forecast is worth to a battery

Battery revenues are often talked about as something that simply happens when the market moves. In practice, a battery only earns what its dispatch decisions capture, and those decisions get made before tomorrow's prices are known, using a forecast. Re-Twin Energy and Electricity Maps set out to test how much that forecast actually matters, by settling four different day-ahead price signals against the same battery, the same optimizer, and the same three months of real German prices. The backtest found that a more accurate forecast changed real dispatch decisions, not just the error metric, and that the Electricity Maps forecast closed more of the gap to perfect foresight than Re-Twin's own forecast.
Published: 07/09/26 · Partner benchmark: Re-Twin Energy x Electricity Maps · Power markets / BESS
About Re-Twin
Re-Twin Energy is a BESS optimizer: it builds analytics and dispatch optimization software for battery energy storage systems (BESS), turning price forecasts into charge and discharge decisions for battery owners and operators. Its team wanted a rigorous, independent answer to a question every BESS optimizer eventually asks: how much of a battery's realized revenue actually depends on the quality of the day-ahead forecast feeding the optimizer.
Re-Twin designed and ran the backtest described below, using its own dispatch optimization engine. We supplied one of the day-ahead forecast signals under test, powered by GridCast, our in-house forecasting engine. Re-Twin included its own forecast in the same comparison, and scored by the same rules.
The challenge: separating the forecast from the optimizer
A BESS revenue number is the output of two things: the forecast that informs the dispatch schedule, and the optimizer that turns that forecast into charge and discharge decisions under the battery's physical limits. Most public claims about forecast quality report an error metric in isolation, which leaves open the question every optimizer cares about: does a lower error number turn into higher revenue.
Re-Twin's backtest was built to answer that directly. Instead of comparing forecasts on accuracy alone, it ran the same battery, the same optimizer, and the same physical constraints against four different day-ahead signals, then settled every schedule against actual realized German day-ahead prices.
The setup
Market and period: German day-ahead prices, January–March 2026
Battery: 10 MW standalone system, 95% charge/discharge efficiency, 10–90% state-of-charge limits
Configurations tested: 1h, 2h, and 4h battery durations, at 1, 1.5, and 2 cycles per day
Method: for each forecast signal, dispatch was optimized using only the information available before the day-ahead gate closed, then the resulting schedule was settled against actual day-ahead prices
Four signals were compared head to head:
Signal | What it is |
|---|---|
Previous-day baseline | Naive forecast: tomorrow's prices assumed equal to yesterday's |
Re-Twin forecast | Re-Twin's own day-ahead price model |
Electricity Maps forecast | Electricity Maps' day-ahead price forecast, powered by GridCast |
Perfect foresight | Theoretical upper bound, using the actual realized prices |
This is a day-ahead-only benchmark: it tests the forecast that decides tomorrow's charge/discharge schedule before the day-ahead auction closes. It doesn't cover intraday trading or grid services like frequency response and balancing. Those are the other markets a fully "merchant" battery (one earning revenue across every available market rather than a single contract) would also need forecasts for. And the results describe the German market over this three-month window, not a universal ranking of forecast providers.
What the backtest found
These are the results for the representative case:
Forecast source | Realized revenue | Share of perfect-foresight revenue | Gap to perfect foresight |
|---|---|---|---|
Previous-day baseline | EUR 10,904/MW | 78.4% | EUR 3,010/MW |
Re-Twin forecast | EUR 11,628/MW | 83.6% | EUR 2,286/MW |
Electricity Maps forecast | EUR 12,163/MW | 87.4% | EUR 1,751/MW |
Perfect foresight | EUR 13,914/MW | 100.0% | EUR 0/MW |
Key metrics
Revenue captured:
EUR 12,163/MW realized, 87.4% of the perfect-foresight benchmark, dispatching on the Electricity Maps day-ahead forecast (2-hour battery, 1.5 cycles/day, DE, Jan–Mar 2026).
Smaller gap to the theoretical ceiling:
EUR 1,751/MW gap to perfect foresight: 42% smaller than the previous-day baseline's EUR 3,010/MW gap, and 23% smaller than Re-Twin's own forecast's EUR 2,286/MW gap.
Lower forecast error:
17.2 EUR/MWh mean absolute error for the Electricity Maps forecast, against 21.4 EUR/MWh for Re-Twin's own forecast and 27.9 EUR/MWh for the previous-day baseline.
Re-Twin found the same ordering held across the other battery configurations tested (1h and 4h durations, 1 and 2 cycles per day): the Electricity Maps forecast consistently landed between Re-Twin's own forecast and the perfect-foresight ceiling.

Figure 1 - Revenue captured by forecast source, grouped by battery duration (1h / 2h / 4h). Source: Re-Twin/Electricity Maps backtest, DE day-ahead, Jan-Mar 2026.
When accuracy turns into revenue
A battery's revenue is constrained by round-trip efficiency, state-of-charge limits, and how many cycles it has left today. Within those limits, what determines the payout is the spread opportunity the market offers: how far apart the cheap hours and the expensive hours are, and whether the dispatch schedule caught them.
That last constraint is where forecast error does the most damage. A battery can only cycle so many times a day, so every cycle it spends is a bet. If the forecast makes a spread look attractive that the market doesn't actually deliver, the optimizer spends part of that scarce cycle budget on the wrong opportunity, and it isn't available for the trade that would have paid off.

Figure 2 - Revenue by forecast source, 7-day window (early March 2026).
Figure 2 shows where that revenue actually came from: a large share of the quarter's total was earned in the volatile stretch in early March, when spreads widened and the payout per cycle went up.
Those same volatile days are also, most likely, the days when all four signals had their worst forecast error since big price swings are harder to call correctly no matter the model. The days with the highest error were also the days with the highest revenue on offer. Statistical accuracy and realized revenue decouple exactly when it matters most.
Across the full quarter, the Electricity Maps forecast did have the lowest mean absolute error of the three non-perfect signals (17.2 EUR/MWh, vs. 21.4 for Re-Twin and 27.9 for the baseline), and it also captured the most revenue.
We don't think that correlation is a rule to lean on, though, since a forecast can post a great MAE and still misjudge the handful of hours that actually pay, or post a rougher MAE and still nail them. We go into why MAE alone is an incomplete way to judge a forecast's revenue impact in Beyond MAE: measuring what actually drives BESS day-ahead revenue capture. This Re-Twin backtest is a live data point for that same argument, not an exception to it.
The takeaway
Better forecasts help batteries capture more of the value that volatility creates. Re-Twin's backtest isolated forecast quality as a variable, while holding everything else about the battery and the optimizer constant, and found that the Electricity Maps day-ahead forecast reduced the revenue gap to perfect foresight by more than the alternatives tested, including Re-Twin's own forecast.
Re-Twin ran this comparison with its own product in the field, scored by the same rules as everyone else. For a BESS optimizer choosing which forecast to build dispatch logic on, that's the kind of benchmark worth trusting: not because every signal wins, but because the method doesn't play favorites.
Read the full methodology and results on Re-Twin's site: Impact of Day-Ahead Forecast Accuracy on BESS Revenues
Want to see what this looks like against your own dispatch engine? Talk to us about benchmarking our day-ahead forecast in your delivery zone.
