The top California battery earns $12.04/kW-mo, more than double the median. We checked every ranked site against satellite imagery: 56 of 93 sit on a confirmed battery yard, the rest labeled by what we could place. The CAISO BESS Revenue Leaderboard ranks the batteries that disclosed merchant revenue, every number from public filings. This post covers where the numbers come from, how we place and verify each battery, and the larger fleet they leave out.
The data source: FERC's quarterly EQR filings
CAISO anonymizes resources in its public data, so the dollars come from a federal source instead, the FERC Electric Quarterly Reports, or EQR. Every seller with market-based rate authority reports its wholesale transactions there each quarter: the counterparty, the product, the megawatt-hours, and the dollars. For a battery selling into CAISO at market, those rows are the closest public read on its revenue.
We use the trailing four quarters, 2025-04-01 to 2026-03-31. EQR is quarterly, so the board moves four times a year. The metric reads merchant energy and ancillary rows only, so revenue earned under tolls or resource-adequacy contracts does not appear.
What we compute
EQR gives the dollars and names a settlement node, but not the battery's size. We crosswalk each node to EIA-860M for the coordinate, and match only when the megawatts agree. The denominator is the node's CAISO net qualifying capacity. Of the 93 ranked nodes, 83 carry one, and the other 10 fall back to public nameplate.
The ranking is revenue per kW-month: trailing-four-quarter merchant dollars over capacity. A 10 MW battery and a 200 MW battery compare directly.
The median is $5.05/kW-mo. Most nodes cluster below it and a few earn far more. By territory the ranked set is SCE 66, PG&E 14, SDG&E 5, the rest public power or out of state. That spread is the point of the board.
The top of the board. The top fifteen nodes are public. Past the top twenty a node keeps its rank, and its exact yield is free by email.
We check every location against satellite imagery
EQR names a node, not a place. The crosswalk gives a coordinate, so we look at every ranked node from above and grade what we see: a confirmed battery yard, the right area, a host plant, or only the node coordinate.
56 of the 93 ranked nodes sit on a battery yard we confirmed from imagery. The rest we place at the right area, a host plant, or the bare node coordinate, and label them that way on the map.
The fleet the number hides
Only 93 CAISO battery nodes carry attributable merchant revenue in EQR. Another 190 operating plants do not, often because they sell under tolls or resource-adequacy contracts. We keep all 283 on the map: the 93 colored by yield and ranked, the other 190 grey and unranked. Located, but not a number we are willing to invent.
We can place 16.5 GW of operating batteries in CAISO. Only 7.2 GW disclosed merchant revenue and entered the ranking. Spread the $411.5M merchant total over the full 16.5 GW operating fleet and the fleet average is $2.08/kW-mo, or $24,990/MW-yr. That is the headline number. The board's $5.05/kW-mo median sits higher because it averages only the ranked merchant nodes, many of them small. Read the median as a typical ranked node, not a fleet average.
What the numbers are not
These are benchmark estimates, not settlement statements. We read merchant market revenue only, so a battery earning mostly under a toll looks low here. The owner shown is the entity that files the revenue in EQR, the seller of record, not the operator. A small node can rank high on one strong quarter, which is why the board also has a 10 MW and up view.
Why not build this yourself
You could. EQR is public. But it arrives as millions of transaction rows across thousands of filers, the node names do not match CAISO's or EIA's cleanly, and deciding which filer is which battery is most of the work. We already run that crosswalk, grade it against satellite imagery, and refresh it every quarter.
Every ranked node's rank, IOU territory and size is free on the leaderboard. Your own site's estimated merchant revenue is emailed free from the page. For the full dollar dataset on every node, email hello@amperical.ai, we give free access on Amperical Teammates.