GuidesChangelog
Guides
Guides
Guides

Modelling day-ahead and frequency response revenues v3

Our battery dispatch tool creates a charge/discharge schedule from wholesale prices & handles ancillary services

The dispatch model uses linear programming to optimise the modelled battery

We take:

  • Forecast day-ahead power prices
  • Forecast Dynamic Frequency Response prices
  • Battery power, duration, efficiency
  • Desired cycling

and use a dispatch model to decide how much money a battery can make in wholesale day-ahead markets and each of the Dynamic Frequency Response markets (Dynamic Containment, Moderation, and Regulation; high and low), respecting all the rules of each service.

Frequency Response market saturation is modeled see here, and we model prices after the changes to the clearing algorithms as a result of the Enduring Auction Capability. As a result, frequency response revenues are low (quite a bit lower than we've seen historically... just check out the last few months of the Modo Benchmark).

The below example shows a 1-hour battery, limited to cycling (up to) once daily, being optimized across wholesale and frequency response markets.

Volumes in Dynamic Containment (high and low) are higher than Dynamic Regulation and Moderation, as volume requirements and, therefore average battery participation in this market are higher.

We make various assumptions and respect the rules when deciding what the optimal schedule is

Assumptions are listed here.

But what does 'optimized' actually mean? How do we decide how much MW of a certain service a battery should participate in, or indeed, which service?

The optimisation model:

  • works out the cost of providing each service - ie the cost of the throughput and the energy cost
  • it looks at the other opportunities available, ie the wholesale arbitrage opportunity
  • it does this over a 1-day chunk of time (much longer and the whole thing gets a bit slow to run)
  • it ensures that any rules around each service are complied with - see assumptions above
  • by looking at many (many) different possibilities, it is able to work out the one that gets the maximum revenue across frequency response and day-ahead trading
  • this comes out with a contracted MW in each service (or a buy or sell order in the day-ahead market)

This is what we mean when we say 'it optimizes to get the MW in each service'. The process of optimizing essentially looks at a bunch of different combinations and finds the one that delivers most revenue, while respecting the rules of the game (otherwise known as 'constraints').

Frequency Response Market Saturation limits battery revenues

  • We restrict how much Dynamic Frequency Response a battery can do, due to the increasing competition in these markets as the storage fleet grows. More on this here.

What’s Next

Have a detailed look at the assumptions underlying our battery dispatch model.