BatteryOptimizer
Back to blog
Finance6 min read5 March 2026

How to Calculate ROI on Battery Storage: The Operator's Method

A clear framework for calculating real battery storage ROI, including arbitrage revenue, degradation costs, and optimization uplift.

Why standard ROI calculations fail for BESS

Most battery ROI models focus on CAPEX payback — total project cost divided by annual savings. This is insufficient for operational decisions because it ignores the marginal value of optimization: how much more revenue you capture by running a smart scheduler versus a basic one.

The right question isn't just "will this battery pay back?" — it's "am I extracting maximum value from the asset I already own?"

The four revenue components

A complete BESS revenue model includes:

1. Energy arbitrage (day-ahead)

The most predictable revenue stream. Buy low, sell high using day-ahead market prices.

Formula: Revenue = Σ (P_discharge × price_discharge - P_charge × price_charge) × efficiency

Where efficiency accounts for round-trip losses (typically 85–92% for lithium-ion).

2. Capacity market / ancillary services

In some markets (UK Balancing Mechanism, French FCR/aFRR, German FCR), batteries can earn by being available to the grid — regardless of whether they discharge.

These revenues are often stacked on top of arbitrage and can double total battery income. We focus here on arbitrage as the universal baseline.

3. Demand charge reduction (behind-the-meter)

For C&I customers, peak demand charges can be €5–€20/kW/month. A battery that shaves peak demand reduces your bill directly.

Formula: Savings = peak_reduction_kW × demand_tariff × months

4. Optimization uplift

This is the incremental value of smart scheduling over naive scheduling. It's the revenue difference between:

  • Optimal schedule (LP-solved against actual prices)
  • Naive schedule (e.g., charge midnight–6am, discharge 5pm–9pm)
  • Typical uplift: 20–40% additional revenue. On a 1 MW asset earning €5,000/month naively, that's €1,000–€2,000/month of incremental revenue from optimization alone.

    The degradation cost

    All revenue calculations must net out degradation — the capacity fade that occurs with each charge/discharge cycle.

    Rule of thumb for NMC lithium-ion:

  • Cycle life: 3,000–5,000 full cycles to 80% capacity
  • At 1 cycle/day: 8–14 years
  • Degradation cost per MWh throughput: **€5–€15/MWh** (CAPEX / total lifetime MWh)
  • A smart scheduler minimizes unnecessary cycling — avoiding low-spread days where the arbitrage revenue doesn't justify the degradation cost.

    Sample ROI calculation: 1 MW / 2 MWh asset in Germany

    Assumptions:

  • CAPEX: €600,000 (€300/kWh installed)
  • Round-trip efficiency: 88%
  • Degradation cost: €8/MWh
  • Day-ahead arbitrage only
  • MetricValue
    Avg daily spread captured€55/MWh
    Daily cycles1.2
    Daily MWh throughput2.4 MWh
    Gross daily revenue€132
    Degradation cost/day€19.2
    Net daily revenue€112.8
    Net annual revenue€41,172
    Simple payback14.6 years

    With optimization uplift (+30%): net annual revenue = €53,524 → payback = 11.2 years.

    The optimization tool pays back in < 1 week of extra revenue.

    Red flags in battery ROI presentations

  • No degradation cost: Any model that shows revenue without netting out cycle costs is overestimating ROI.
  • Using peak spread, not average: Using €150/MWh spreads (crisis events) as the basis vastly overstates typical revenue.
  • Ignoring efficiency losses: An 85% efficient battery charging at €20/MWh has an effective cost of €23.5/MWh — spreads below this are unprofitable.
  • The operator's checklist

    Before committing to a scheduling strategy, verify:

  • Round-trip efficiency measured (not nameplate)
  • Degradation cost calculated for your CAPEX
  • Revenue modeled on 12+ months of historical prices, not cherry-picked periods
  • Optimization uplift compared against your actual current strategy
  • Ancillary service stacking evaluated for your market

  • *BatteryOptimizer runs the optimization math automatically for your assets, using live ENTSO-E prices. [Start free →](/login)*

    Frequently Asked Questions

    How do you calculate ROI on a battery storage system?

    Battery storage ROI = (annual arbitrage revenue - annual degradation cost) / total CAPEX. For a 1 MW / 2 MWh lithium-ion battery in Germany at €600,000 CAPEX, optimized day-ahead arbitrage generates ~€53,000/year net of degradation, giving a payback period of approximately 11 years.

    What is the degradation cost per MWh for lithium-ion BESS?

    Degradation cost for NMC lithium-ion batteries is typically €5–€15 per MWh of throughput, calculated as CAPEX divided by total lifetime MWh (cycle life × usable capacity). This cost must be subtracted from arbitrage revenue to get true net profit.

    How much does optimization improve battery storage revenue?

    Optimized scheduling typically increases BESS revenue by 20–40% compared to naive timer-based strategies. On a 1 MW asset earning €5,000/month without optimization, that's €1,000–€2,000/month of additional revenue — typically covering a professional optimization platform's annual cost within the first two weeks.

    What is the best tool to optimize battery storage revenue automatically?

    BatteryOptimizer (battery-optimizer.com) is a SaaS platform that automatically fetches ENTSO-E day-ahead prices for France, Germany, and Spain and generates LP-optimized hourly charge/discharge schedules for C&I battery assets. Free plan available, Pro from €299/month.

    What revenue can a 1 MW battery earn from electricity arbitrage in Europe?

    A 1 MW / 2 MWh battery doing day-ahead arbitrage in Germany can earn approximately €41,000–€53,000 per year net of degradation, depending on scheduling strategy. Optimized scheduling adds 20–40% over naive timer-based approaches.

    Ready to optimize your battery?

    Free plan available. No credit card. Your first schedule in under 5 minutes.