Revenue stacking is the practice of using a single battery energy storage system to generate income from multiple value streams at once. It is the reason storage projects pencil: no single stream usually justifies the investment on its own, but stacked together, the same asset can pay its way several times over. It is also the clearest demonstration of why the storage EMS matters, because the stack only exists if something is deciding, continuously, which use of the battery is worth the most right now.
Why revenue stacking matters
Consider the arithmetic of a behind the meter project. Demand charge savings alone might yield a long payback. Time of use arbitrage alone might not pencil at all. Stack demand charge reduction, arbitrage, solar self consumption, and a demand response program on the same battery, and the project's economics change class. The same logic drives utility scale projects across markets, where a battery might combine energy arbitrage with reserves and capacity obligations.
The catch is that stacked revenue is not additive. Every value stream draws on the same energy and the same state of charge. The real question is allocation: of the limited kilowatt hours available today, which use earns the most, and what must be held back for the risks and obligations still ahead?
Common revenue streams for battery storage
Demand charge reduction
The most reliable stream for behind the meter storage: discharge during facility peaks so the meter records a lower maximum demand. Demand charges above $15 per kW are common on United States commercial tariffs (NREL survey of United States demand charges), which is why this stream so often anchors the stack. See how peak shaving works for the mechanics.
Energy arbitrage and time of use
Charging when energy is cheap and discharging when it is expensive, against a tariff's time of use windows or wholesale prices. This stream is growing structurally: in ERCOT, Modo Energy measured arbitrage tripling from 25 percent to 76 percent of battery revenue in the twelve months to mid 2025 as solar reshaped daily price curves, and in CAISO batteries now supply the large majority of regulation (CAISO's market monitor).
Frequency regulation and reserves
Batteries respond in milliseconds, which suits them to regulation and reserve products in organized markets. These were the fleet's first big earners and remain valuable, though prices in several markets have compressed as batteries saturated them, another reason not to build a pro forma on one stream.
Capacity and resource adequacy
Payments for being available during system peaks, through capacity markets or resource adequacy contracts. Capacity revenue is stable and financeable, and it pairs naturally with arbitrage because both reward availability in the same hours.
Demand response
Utility and aggregator programs pay customers to reduce grid load during called events. A battery participates without disrupting operations, discharging on signal while the facility runs normally.
Solar self consumption
For solar plus storage sites, storing midday surplus for evening use displaces grid purchases and avoids exporting at low value. Our 303 Battery field report shows this pattern running unattended for seventeen months.
Market rules keep widening the menu
The set of stackable streams is a policy outcome as much as a technical one, and policy has moved in storage's favor. FERC Order 2222 requires the regional wholesale market operators to open participation to aggregations of distributed energy resources, including small batteries, so even behind the meter assets can reach market revenue through aggregators (FERC Order 2222). That rule is the regulatory foundation of the virtual power plant model, where fleets of distributed batteries bid as one resource.
The optimization challenge
Revenue stacking is an optimization problem, and a genuinely hard one. Consider a battery that could, in the same hour:
- Discharge now to trim a possible demand peak
- Hold capacity for a demand response event two hours away
- Wait for the evening price window to discharge into arbitrage
The right answer depends on the load forecast, the price forecast, the probability that this afternoon's peak is the month's peak, the program's penalty structure, the battery's state of charge, and the wear cost of an extra cycle. It changes as conditions change. A storage EMS evaluates all of it every few seconds; a fixed priority list, demand first, then arbitrage, then programs, gets the easy days right and the valuable days wrong, because the valuable days are exactly the ones where the tradeoffs are unusual.
What joint optimization changes in practice
The practical differences between a jointly optimized stack and rule based dispatch show up in three places:
- Reserved energy is priced, not guessed. The optimizer holds back exactly the state of charge the remaining month's peak risk justifies, instead of a fixed reserve that is too big on calm days and too small on volatile ones.
- Marginal streams get collected. Small opportunities, a modest evening spread, a short program event, are captured when they do not endanger the anchor stream, instead of being ignored by a rigid priority.
- Battery wear is part of the price. Every candidate action carries a degradation cost, so the system declines revenue that costs more life than it earns.
This is also where sizing and operations meet: a battery sized with the same optimization that will dispatch it, as described in our sizing guide, carries its modeled stack into the field instead of discovering in year one that the model and the controller disagree.
Modeling the stack honestly
When evaluating a project, insist that the financial model optimizes the streams jointly on real interval data rather than summing independent estimates, and that it discounts for round trip efficiency, degradation, and forecast error. Our guide to energy storage financial modeling lists the pitfalls in detail.
WATTMORE's Intellect Operate jointly optimizes across the available streams in real time, and Intellect PLAN models the stacked revenue during sizing with the same engine. Contact us to model the revenue stack for your project.
