Skip to main content
Challenge

AI-Driven BESS Arbitrage for Wholesale Electricity Markets

Design and implement an advanced AI-driven energy management system for a Battery Energy Storage System (BESS) participating in wholesale electricity markets. The system should leverage time-series forecasting and robust optimization techniques to maximize revenue through energy arbitrage and provision of ancillary services (e.g., frequency regulation, capacity). This challenge simulates real-world market dynamics, requiring participants to balance profitability with battery health and operational constraints.

Frontier Science & ResearchHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Develop an AI-driven optimization model to maximize BESS profitability by participating in wholesale electricity markets using advanced forecasting and MILP.

Delivery guide

How work is evaluated

Evaluation

The solution will be evaluated on the accuracy of its price forecasting, the optimality of its dispatch decisions, and the simulated net revenue generation of the BESS over a specified period. Robustness to market volatility will also be assessed.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Learning goals

What you should walk away with

  • Master advanced time-series forecasting techniques (e.g., Prophet, LSTM, Transformer networks) to predict hourly electricity prices, demand, and ancillary service requirements from historical market data.

  • Implement a Mixed-Integer Linear Programming (MILP) model using optimization frameworks like `Pyomo` or `CVXPY` to determine optimal BESS charge/discharge cycles for energy arbitrage and provision of ancillary services (e.g., frequency regulation, capacity markets).

  • Design a BESS simulation environment that accurately models battery degradation, round-trip efficiency, and capacity fade over time, integrating predicted market prices and operational constraints.

  • Build a data ingestion and feature engineering pipeline to process diverse energy market data, including day-ahead, real-time prices, and grid demand, preparing it for both forecasting and optimization models.

  • Orchestrate a complete pipeline that integrates forecasting models with the MILP optimizer, allowing for hourly re-dispatch decisions based on updated predictions and real-time market signals.

  • Optimize the BESS dispatch strategy to account for multiple revenue streams simultaneously (e.g., energy arbitrage, capacity payments, frequency regulation) to maximize overall profitability, considering the BESS's physical limitations and warranty constraints.

  • Implement robust decision-making strategies that incorporate forecast uncertainty using techniques like scenario-based optimization or stochastic programming to mitigate risks associated with price volatility.

  • Analyze the economic performance of the BESS under various market scenarios, quantifying revenue, operational costs, and the impact of degradation on long-term viability.

Resources and assets

Reference links and supporting material

Dataset notes

Sample data for 2 tasks

Challenge setup

The solution will be evaluated on the accuracy of its price forecasting, the optimality of its dispatch decisions, and the simulated net revenue generation of the BESS over a specified period. Robustness to market vol...

Challenge input

{ 'historical_prices': list[float], 'future_period': int }

Agent execution

No agent tool is listed for this challenge.

Evaluated output

{ 'predicted_prices': list[float] }

Evaluation checks
  • Checks if the optimization model converges and provides a feasible solution.
  • Verifies that BESS charge/discharge rates and SOC limits are respected.
Configured evaluation evidence
  • Mean Absolute Error (MAE) Of Price Forecast target: 5
Configured runtime
  • Python execution harness

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

No tool records are attached.

Evaluation contract

  • Checks if the optimization model converges and provides a feasible solution.
  • Verifies that BESS charge/discharge rates and SOC limits are respected.

Metrics

  • Mean Absolute Error (MAE) of Price Forecast · Target 5
  • Simulated Net Revenue · Target 750000
  • Computational Efficiency (Optimizer Run Time) · Target 10

Workflow tasks

  1. Task 1

    Input: { 'historical_prices': list[float], 'future_period': int }

    Output: { 'predicted_prices': list[float] }

    Execution harness: Python

  2. Task 2

    Input: { 'forecasted_prices': list[float], 'bess_params': { 'capacity_MWh': float, 'max_charge_MW': float, 'max_discharge_MW': float, 'efficiency': float, 'initial_soc': float } }

    Output: { 'dispatch_schedule': list[{ 'hour': int, 'charge_MW': float, 'discharge_MW': float, 'soc': float }], 'total_revenue': float }

    Execution harness: Python

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about AI-Driven BESS Arbitrage for Wholesale Electricity Markets