Skip to main content

Tutorial · BESS revenue

BESS revenue in Ukraine starts with reserves, not arbitrage.

This is a research-grade read over real DAM, Energy Map reserve and activation prices: a representative 1 MW / 2 MWh BESS shows a reserve stack around 48-64k UAH/MW-day in 2024–2026 (one or two activation cycles a day), while arbitrage in the same years rose from 5.1k in 2024 to 9.1k in 2026 (Jan–May). It is not a steady-state forecast, not an order recommendation and not a guaranteed return.

48-64k UAH/MW-day882 paired daysnot guaranteed

What the study shows

Reserve stack

LO case: 47,866 UAH/MW-day from capacity plus 1 activation cycle; HI case: 63,676 UAH/MW-day with 2 cycles/day and an optimistic flag.

Capacity-only

Reserve availability alone is about 32,056 UAH/MW-day, before activation energy is added.

Arbitrage-only

DAM arbitrage averages about 4,193 UAH/MW-day over the 1,971 days of 2021–2026; it rose from 1.7k in 2021 to 9.1k in 2026 (Jan–May).

Scope

The activation-inclusive study uses 882 paired IPS days from 2024-01..2026-05; the capacity-only reserve vs arbitrage backtest used 1,971 paired days.

How to read BESS revenue

1. Start with the configuration

The numbers belong to a representative 1 MW / 2 MWh BESS, 88% round-trip, 1 cycle/day. Another duration or power ratio changes the split.

2. Separate the legs

Capacity-only reserve revenue, activation energy and DAM arbitrage use different data sources, units and caveats.

3. Read LO before HI

LO around 47.9k UAH/MW-day is the defensible one-cycle read; HI around 63.7k assumes 2 cycles/day and should stay optimistic.

4. Allow for wartime prices

2022-2026 reserve prices are wartime-elevated; post-recovery compression and auction competition can lower realized capture.

5. Keep the study apart from the planner

The workspace study card reads Alvo's own data sample or a fallback; legacy reserve-economics planner legs can remain illustrative, but must be labelled as assumptions rather than tied to the imbalance-price feed.

Limits of this signal

Not a guaranteed return

48-64k UAH/MW-day is a research-grade study band, not a bankable revenue guarantee.

Not a post-war forecast

War-elevated reserve prices are useful evidence, but not a post-recovery price forecast.

Not a commercial model

The split leaves out settlement rules, qualification, derating, capture rate and SoC-aware dispatch; a commercial assessment needs its own model.

Not an order recommendation

The split informs analysis; it does not tell a participant to bid, buy, sell or build.

Figures

Study constants

Fields that keep LO/HI and arbitrage separate.

BESS_REVENUE_STUDY = {
  sample: 882 paired IPS days for activation-inclusive reserve stack,
  capacityOnlyUahMwDay: 32056,
  reserveStackLowUahMwDay: 47866,
  reserveStackHighUahMwDay: 63676,
  arbitrageOnlyUahMwDay: 4193, // 1971 paired DAM + ancillary days, 2021-01..2026-05
  matchedCapacityOnlyUahMwDay: 30854 // capacity-only on those same 1971 days
}

scope = research-grade read of Alvo's own data sample, not a steady-state forecast or guaranteed return

BESS revenue FAQ

Why do reserves dominate?

On the same 1,971 days of 2021–2026, reserve capacity alone pays about 7x the DAM arbitrage leg: 30,854 versus 4,193 UAH/MW-day. Arbitrage is rising: 5.1k in 2024 and 9.1k in 2026 (Jan–May). It is still secondary.

Why do 882 days and 1,971 days both matter?

1,971 paired days compare capacity-only reserves with DAM arbitrage from 2021-01..2026-05. The 882-day slice is newer because activation prices exist for 2024+ and power the activation-inclusive LO/HI band.

Why is LO safer than HI?

LO budgets one activation cycle and is the defensible reading. HI assumes two one-directional cycles per day; real aFRR calls can net symmetrically and reduce throughput.

Want the study beside the BESS planner?

Open the BESS section: the revenue split card sits beside arbitrage cycles, settings and reserve-economics caveats.

Open BESS