How to Calculate Commercial BESS ROI from Demand Charges and Energy Arbitrage

The Most Valuable Battery Cycle May Be the One the EMS Refuses to Use

Commercial BESS ROI should be calculated from the site's actual tariff and interval load data, not from a generic savings percentage. For projects combining peak shaving and energy arbitrage, estimate avoided demand charges first, calculate arbitrage after round-trip losses, subtract operating costs, and then test whether both value streams can actually use the same battery without competing for SoC.

NREL identifies demand-charge reduction and time-of-use energy arbitrage as separate behind-the-meter storage value streams , and notes that the monetary value of the same dispatched kWh can differ significantly depending on why and when it is used.

That last point is where I start the spreadsheet.

First Put a Dollar Value on the Peak

Consider a hypothetical factory with:

Monthly peak demand: 620 kW

Demand charge: $16/kW-month

After analyzing 15-minute load data, we determine that a BESS can reliably hold demand to:

500 kW

Avoided demand:

620 − 500 = 120 kW

Potential monthly demand-charge saving:

120 × $16 = $1,920

Annualized:

$1,920 × 12 = $23,040/year

That looks straightforward.

But I would verify the tariff before entering $23,040 as guaranteed savings.

Does the utility bill the highest 15-minute demand?

Is there a seasonal demand charge?

A ratchet?

Different on-peak and off-peak demand charges?

If the battery misses one critical interval because its SoC is too low, the utility may still record the higher monthly peak.

NREL has identified high demand charges as an important factor in the economics of behind-the-meter commercial storage, while emphasizing that viability remains site- and tariff-specific.

Arbitrage Needs an Efficiency Penalty

Now assume the same factory has a time-of-use tariff:

Off-peak energy: $0.08/kWh

Peak energy: $0.19/kWh

The apparent spread is:

$0.11/kWh

Suppose the BESS delivers 200 kWh AC during the expensive period.

If we use NREL's representative 85% round-trip efficiency assumption for this worked example, the system must purchase approximately:

200 ÷ 0.85 = 235.3 kWh

Charging cost:

235.3 × $0.08 = $18.82

Value of avoided peak electricity:

200 × $0.19 = $38.00

Net arbitrage value:

$38.00 − $18.82 = $19.18 per cycle

At 250 useful cycles per year:

$19.18 × 250 ≈ $4,795/year

NREL's 2024 commercial-storage benchmark uses 85% as a representative round-trip-efficiency assumption and also models degradation and O&M as real lifecycle costs.

For an actual Ruibit/Dawnice proposal, I would replace that 85% assumption with the verified efficiency boundary for the selected system.

Now the EMS Has to Choose Which Dollar Matters More

At 14:00, electricity is expensive.

The EMS could discharge for arbitrage.

At 16:15, however, the factory often establishes its monthly demand peak.

Suppose the battery has only 80 kWh remaining because it spent the afternoon chasing the energy-price spread.

The $19 arbitrage opportunity may have consumed battery energy that could have prevented hundreds or thousands of dollars in demand charges.

This is why I do not calculate:

Peak-shaving savings + maximum theoretical arbitrage savings

and automatically call the result BESS revenue.

The two applications share:

battery energy

PCS power

SoC

cycle life

and charging opportunities .

The dispatch model has to decide which service gets priority.

NREL notes that energy arbitrage is often more useful as a secondary value stream combined with other storage services rather than treated independently.

A Worked ROI Without Pretending It Is a Dawnice Project

Assume the project economics are:

Annual Item Worked Value
Demand-charge savings $23,040
Energy-arbitrage savings $4,795
Gross benefit $27,835
O&M / monitoring −$3,000
Net annual benefit $24,835

Assume total installed project cost is:

$145,000

Then:

Simple Payback = $145,000 ÷ $24,835 ≈ 5.8 years

A simple first-pass ROI measure would be:

Annual ROI = $24,835 ÷ $145,000 ≈ 17.1%

These are deliberately hypothetical numbers. They are not a Ruibit/Dawnice quotation or guaranteed project return.

For investment approval, I would go beyond simple ROI and model annual cash flows including degradation, tariff changes, financing, augmentation or replacement assumptions, incentives where applicable, and residual value.

NREL's commercial BESS cost model also makes an important point for procurement: system cost contains both energy-related ($/kWh) and power-related ($/kW) components, so changing duration does not change CAPEX in a simple linear way.

A Larger Battery Can Produce a Worse ROI

Suppose analysis shows that 265 kWh captures nearly all economically useful peaks.

Doubling to 530 kWh does not automatically double savings.

Once the important demand peaks are covered, additional capacity may sit unused for much of the year.

This is where a real product can enter the discussion rather than drive it.

Dawnice's current BS07-265-ES-X is rated at 125 kW / 265.3 kWh , giving it roughly a two-hour nameplate energy-to-power relationship.

That does not mean it is automatically the correct system for our worked factory.

It means that if the site's load analysis points toward roughly 125 kW of power and two hours of useful storage duty, it becomes a configuration worth evaluating.

That order matters:

economic duty → required kW/kWh → product match

not:

product → invent enough savings to justify it.

The Sensitivity Test I Would Show the CFO

I would change four assumptions before presenting the project:

Demand reduction: What if we achieve only 90 kW instead of 120 kW?

Arbitrage cycles: What if only 180 profitable cycles occur?

Tariff spread: What if the spread falls from $0.11 to $0.07/kWh?

O&M/degradation: What happens as usable battery energy declines?

If a project only works when every assumption is optimistic, the attractive ROI is fragile.

If it still works under the downside case, the economics deserve more attention.

The useful question is therefore not:

“What ROI does this BESS have?”

It is:

“Which demand peaks and price spreads create the return, how often can the battery capture them, and what happens when those assumptions change?”

That is the ROI model I would trust.

FAQs

1. How do you calculate ROI for a commercial BESS?

A simple first-pass calculation is:

Annual ROI = Annual Net Benefit ÷ Total Installed Cost

Annual net benefit should include realistic demand-charge savings and energy-arbitrage savings minus O&M and monitoring costs .

2. How does peak shaving improve commercial BESS ROI?

The BESS discharges when facility demand approaches a costly peak, reducing the kW value used for demand billing. Savings depend on the demand-charge rate, achievable peak reduction, billing rules, and battery availability during critical intervals .

3. How should energy arbitrage savings be calculated?

Compare the value of electricity avoided during expensive periods with the actual cost of charging the battery during cheaper periods. Round-trip efficiency must be included , because more energy must be purchased than the battery later delivers.

4. Can demand-charge savings and energy-arbitrage savings be added together?

Only when the dispatch model proves both can be achieved. Peak shaving and arbitrage compete for the same battery energy, PCS power, SoC, and charging opportunities , so simply adding their theoretical maximum values can overstate ROI.

5. Why can a larger BESS produce a lower ROI?

Once the economically important peaks and tariff opportunities are covered, additional battery capacity may generate little extra revenue. The best economic size is therefore determined by the load profile, tariff, dispatch strategy, and marginal savings , not maximum battery capacity.

Ready to Find Your Perfect BESS Solution?

Contact Ruibit BESS for a free consultation and custom BESS solution tailored to your commercial and industrial energy storage needs.