Battery Dispatch

How the model optimises battery operation to maximise revenues.

How does the dispatch model work?

The dispatch model simulates how a battery would operate in each market to maximise total revenue. It decides when to charge, discharge, or provide grid services based on price forecasts.

Key inputs

  • Power capacity (MW): Maximum rate of charge/discharge
  • Energy capacity (MWh): AC useable energy capacity at point of connection — the energy the battery can actually export to the grid, measured at the meter (determines duration)
  • Round-trip efficiency: Measured at point of connection, including all losses in the round-trip (~88% default). Applied during the charging phase to calculate correct import volumes
  • Cycling limits: Maximum cycles per day to protect warranty

What the model optimises

  • Wholesale arbitrage: Buy low, sell high across day-ahead and intraday markets
  • Ancillary services: Reserve capacity for frequency response and other grid services
  • Co-located renewables: When paired with solar/wind, optimise combined export

Key assumptions

  • Price foresight within each window: The model optimises against forecast prices over the optimisation window for that battery duration. How much foresight the optimiser is given, and how results are adjusted to reflect real-world uncertainty, varies by region — see Price foresight and calibration vary by region
  • Physical constraints: Respects all battery physics including ramp rates and state of charge limits
  • No simultaneous charge/discharge: The battery cannot charge and discharge at the same time

Price foresight and calibration vary by region

A dispatch model with full knowledge of future prices earns more than a real trader can, so every region accounts for real-world uncertainty in one of two ways, often combined:

  • Imperfect foresight in the optimisation: The model schedules against smoothed, blended or rolling-window prices, so it sees the shape of each day but not the exact level of every interval
  • Revenue calibration: The model optimises with full price knowledge, and modelled revenues are then scaled against observed battery performance, such as a Modo Energy BESS Index

The table summarises each region’s approach. The regional dispatch model pages are the source of truth for the details.

Region Price foresight Calibration
Great Britain Perfect in day-ahead; 2-hour rolling imperfect foresight intraday Scaled to the Modo Energy GB BESS Index
Germany Perfect in day-ahead and intraday auction; imperfect in real time No revenue scaling; realism comes from the imperfect real-time foresight
Italy Known day-ahead, intraday auction and balancing prices; imperfect continuous intraday Day-ahead revenue scaled per scenario
Poland Known across the delivery day in day-ahead; 2-hour rolling imperfect foresight intraday All revenues scaled per scenario
ERCOT Imperfect foresight built into the optimisation Tuned against the Modo Energy ERCOT BESS Index
WECC (CAISO) Full price knowledge within the optimisation Scaled to the Modo Energy CAISO BESS Index
SPP Schedules against a three-hour smoothed price, settled at actual prices Flat 80% factor on battery revenues
Eastern Interconnection Perfect foresight over the day-ahead horizon Flat 80% factor on energy arbitrage
NEM Accurate price forecasts ahead of each day-ahead and real-time step Two-tier calibration to the Modo Energy NEM BESS Index

Optimisation window length depends on battery duration

The dispatch model does not use a single rolling horizon for every battery. Longer-duration batteries need a longer look-ahead so the optimiser can plan full charge and discharge cycles across multiple days. Site forecasts support durations up to 12 hours.

Battery duration Days per window Hours
Up to 4 hours 1 24
Above 4 hours and up to 6 hours 2 48
Above 6 hours 3 72

For example, a 2-hour battery is optimised in 1-day windows, while an 8-hour or 12-hour battery uses a 3-day window. The same rules apply across European market regions that use the global dispatch model.