Halfcell
Welcome to Halfcell, an interactive analytics tool for grid-scale battery storage markets in Great Britain. Battery energy storage systems (BESS) are a complex part of Great Britain's energy transition; this tool is designed to help unpack how they operate, how they make money, and how market conditions and data science are impacting BESS' role in the grid.
What's in this tool
Market Overview →
GB frequency response auction clearing prices (DC, DR, DM), High vs Low spread dynamics, system settlement prices, and generation mix trends.
Forecasting & Dispatch →
A day-ahead modelling framework for FR/arbitrage capacity allocation and MPC dispatch, benchmarking three price forecasting strategies.
Methodology & Data →
Modelling assumptions, data sources, and known limitations of the backtester.
Where data science meets the clean energy transition
Halfcell asks what data science can actually contribute to clean tech, using a concrete case: a grid-scale battery deciding, every day, how to divide its capacity between frequency response and wholesale arbitrage. This capacity allocation decision rests on a forecast of tomorrow's prices, introducing a modelling problem and an opportunity for data science methods to provide real value in BESS operations.
The chart below runs three different strategies through the same dispatch engine on the same asset. When modelling battery revenues in a price forecasting setting, it is useful to compare any machine learning implementation to a reasonable floor & ceiling. Perfect Foresight knows tomorrow's prices and marks the ceiling, and the Naive model takes the predictions out of the question and uses today's price as the prediction for tomorrow, marking the floor and a bar any real model has to clear. A Random Forest trained on lagged prices, generation mix and cyclical time features sits between the two, and the gap it closes is the value the modelling adds.
Market snapshot
Where the GB frequency response and wholesale markets sit right now, against their recent averages. Figures update whenever the data pipeline is re-run.