When Should a Battery Charge? Price the Full Marginal Cycling Cost
A battery is about to charge at $20/MWh. What marginal cost should the dispatch model attach to that decision?
Round-trip efficiency loss (88%) $2.73/MWh
Degradation $30.00/MWh
Under the worked screening proxy, the $30/MWh degradation allocation is eleven times the $2.73/MWh efficiency effect at a $20/MWh charge price. That ratio is an illustration, not a general property of batteries.
The operating rule needs both effects, but the degradation term should come from the project's lifetime / warranty economics rather than from a generic cycle-count proxy.
This post builds the charge decision properly: what a cycle actually costs, what minimum spread justifies one, why that threshold is roughly constant in dollars rather than in percentage, and where the honest uncertainty sits.
ℹ️ Note: Figures are labelled assumptions. The degradation cost in particular depends on warranty terms and on how much of the pack's life is cycle-driven rather than calendar-driven — a distinction this post takes seriously below.
The charging decision is a cost bridge, not a low-price rule:
flowchart LR
A[Charge price] --> B[Efficiency loss]
B --> C[Degradation / throughput cost]
C --> D[Fees + variable O&M]
D --> E[Minimum economic discharge value]
E --> F{Expected future price clears threshold?}
F -->|Yes| G[Charge]
F -->|No| H[Stay idle]
What Is the Charge Decision?
Whether to buy energy now in order to sell it later. It is not a view on price levels; it is a view on the spread between now and the best available later, net of what the round trip costs.
A battery that charges at $20 and discharges at $25 will usually lose money after losses and wear; a $200-to-$260 trade may or may not clear depending on efficiency and marginal wear. The spread is central, but price level still matters because efficiency losses scale with the charging price.
The Naive Rule, and Why It Fails
A common shortcut is a fixed price threshold: charge below X, discharge above Y.
It fails for three reasons.
It is not robust to price levels. A rule calibrated on a $30 average market breaks entirely in a $90 one, and markets move.
It ignores the opportunity cost of the energy already stored — the subject of the next post.
It gets the cost of cycling wrong, which is what this post is about.
The correct form is not a price at all. It is a condition on the spread:
Charge at price P_c only if there exists a later hour with price P_s such that:
P_s ≥ P_c / RTE + Degradation_Cost_per_MWh
Read that as: what you sell must cover what you bought, grossed up for the energy lost on the round trip, plus the cost of the throughput you consumed.
The Two Costs of a Cycle
Round-trip efficiency is the energy that does not come back. At 88%, delivering 1 MWh requires importing 1.136 MWh, so the cost is the charge price times (1/RTE − 1):
At $20/MWh charge: 20 × (1/0.88 − 1) = $2.73/MWh
At $40/MWh charge: 40 × (1/0.88 − 1) = $5.45/MWh
Note that this cost scales with the charge price. Cheap energy is cheap to lose.
Degradation is more difficult. A simple screening approximation can allocate an assumed battery-replacement or augmentation value over an assumed lifetime throughput. For example, if an analyst deliberately assumes $180/kWh of energy equipment is consumed evenly across 6,000 full-equivalent cycles:
$180,000 per MWh of capacity ÷ 6,000 cycles = $30.00/MWh
That produces a convenient $30/MWh screening number, but it is not a physical degradation law. NREL battery-life models account for depth of discharge, cycle count, calendar time, temperature and state-of-charge history. An OEM warranty may also be written around retained energy, throughput, operating conditions or multiple limits rather than one cycle count.
| Warranty throughput | Degradation cost per MWh discharged |
|---|---|
| 4,000 cycles | $45.00 |
| 6,000 cycles | $30.00 |
| 8,000 cycles | $22.50 |
The warranty and degradation model are therefore direct inputs to dispatch economics, but the model should derive a marginal cycling penalty from the actual warranty / degradation case rather than equating warranty cycles with economic life one-for-one.
The Minimum Viable Spread
Put the two together and the threshold emerges:
| Charge price | Required sell price | Required spread | As % of charge price |
|---|---|---|---|
| $10 | $41.36 | $31.36 | 314% |
| $20 | $52.73 | $32.73 | 164% |
| $30 | $64.09 | $34.09 | 114% |
| $40 | $75.45 | $35.45 | 89% |
The fourth column moves wildly. The third barely moves at all.
Under this specific fixed-$30/MWh degradation assumption, the minimum viable spread is roughly constant in dollars across the illustrated charge-price range because the fixed degradation term dominates the changing efficiency term. Change the marginal degradation model and the shape changes.
The useful operating result is that the threshold should be expressed as a marginal value condition, not a static buy-below-X rule. A fixed dollar spread can be a useful approximation only if marginal degradation and other opportunity costs are themselves approximately stable over the relevant operating region.
Worked screening rule on these assumptions:
Do not take a full-cycle opportunity below roughly $33/MWh unless another value stream changes the economics.
Everything below that destroys value, however attractive the percentage looks. A charge at $10 and a discharge at $30 is a 200% gain on the energy and a loss once the throughput is priced.
Calendar and Cycle Degradation Are Not a Simple Fixed Split
The $30 figure is an intentionally simple allocation, and the real marginal degradation cost can be higher or lower.
A battery degrades two ways. Cycle degradation is caused by use. Calendar degradation happens with time regardless of whether the asset cycles at all — a battery sitting idle for a year still loses capacity.
Pure time-driven capacity fade is not caused by tonight’s cycle, but calendar and cycle aging are not always separable into one fixed percentage. Temperature and SOC history can affect calendar aging, while depth of discharge and cycling profile affect cycle aging. NREL’s SAM and battery-life tools model those drivers explicitly.
For a financing or dispatch model, use one of three levels of sophistication:
- Screening: a stated $/MWh cycling penalty derived from an explicit replacement / augmentation and throughput assumption;
- Warranty-based: a marginal penalty tied to the actual throughput, DoD, SOC and operating-envelope terms;
- Degradation model: simulate capacity fade / augmentation under the proposed dispatch and compare the NPV of operating strategies.
The important control is consistency: the same degradation assumption used to justify dispatch should flow into the capacity-retention and augmentation schedule.
Charging at Negative Prices Inverts the Arithmetic
Negative prices can make charging especially attractive because the battery is paid to consume energy. But round-trip inefficiency does not become an engineering advantage; it still reduces the amount of sellable energy recovered from a given state-of-charge change.
When the charge price is negative, the battery is paid to consume energy. And because round-trip inefficiency means it must consume more energy to deliver a given amount, it gets paid more:
Charge at −$20/MWh:
Energy imported per MWh delivered 1.136 MWh
Payment received 1.136 × $20 = $22.73
Effective cost of the stored MWh = −$22.73
The threshold then becomes remarkably permissive:
| Charge price | Effective cost | Required sell price |
|---|---|---|
| −$20 | −$22.73 | $7.27 |
| −$10 | −$11.36 | $18.64 |
| $0 | $0.00 | $30.00 |
| $10 | $11.36 | $41.36 |
At a −$20 charge price the battery only needs to sell above $7.27 to be ahead — because the negative price has already paid for most of the degradation.
Three consequences.
Do not optimize for poor efficiency. If the accounting basis is one delivered MWh, a lower-efficiency system may consume more negatively priced energy to produce that MWh, but it also wastes more energy, consumes charging headroom and can alter SOC / power constraints. The dispatch optimiser should use charge and discharge efficiencies directly rather than treating inefficiency as a revenue source.
Negative-price hours can be high-value charging opportunities, but their value depends on expected later prices, efficiency, congestion, charging rights, losses, degradation and competing services. Location matters because negative-price frequency and basis are nodal.
The degradation and opportunity-cost terms still matter. A negative charge price does not make every subsequent discharge economic; the full round-trip margin still has to clear the project’s marginal cycling cost and any foregone alternative service.
The Cycle Budget: When the Threshold Rule Is Not Enough
A second constraint that can override everything above, and it turns dispatch from a threshold test into a rationing problem.
If, purely for illustration, a warranty / economic plan allowed 6,000 full-equivalent cycles over fifteen years with no other throughput constraints, the arithmetic average would be 400 FEC per year. Real warranties can use throughput, retained-capacity curves, DoD bands, annual limits and operating conditions, so build the budget from the actual document.
Qualifying opportunities in the year say 520
Cycle budget 400
→ 120 profitable cycles must be declined
At that point the correct rule is not "take everything above the threshold." It is "take the best 400," which requires a different calculation: rank the opportunities and set the operating threshold at the 400th best spread rather than at the economic minimum.
Economic minimum spread ~$33/MWh
Budget-constrained threshold = 400th best spread in the year
Whichever is higher governs. And the budget-constrained threshold is only knowable from the full annual price distribution, which is another reason the representative-day approach fails for operating decisions.
Two further points.
The budget is not evenly distributed across the year. Spending it early because the first quarter offered good spreads leaves nothing for a volatile fourth quarter. Cycle budgeting is an intertemporal allocation problem, which is the same class of problem as the discharge decision in the next post.
Exceeding a warranty or operating limit is not automatically modeled as “very expensive but allowed.” It may reduce coverage, breach an operating covenant, require OEM consent or simply be prohibited. Encode the actual consequence in the optimizer and contract model.
The Threshold Is a Spread, Not a Price
Worth restating because it changes how the rule is implemented.
A price-based rule — "charge below $20" — embeds an assumption about what prices will be available later. When the market moves, the rule silently becomes wrong in one of two directions: too permissive in a high-price market, too restrictive in a low-price one.
A spread-based rule — "charge only if a later hour exceeds this price by $33" — is self-correcting. It needs no recalibration when price levels shift, and it directly encodes the economics.
The implementation requirement is that the rule needs a view of later prices, which is where forecasting enters and where the gap between a backtest and reality opens up. That is the subject of the final post in this series. For now the point is narrower: the decision variable is a spread against a known cost, and the cost is dominated by throughput rather than by efficiency.
The Competing Use: An Ancillary Award
One more term belongs in the threshold: the marginal value of alternative services or future opportunities using the same MW / MWh.
A battery holding an ancillary-service award has committed some combination of MW capability, SOC / energy headroom and response performance. The opportunity cost of energy arbitrage therefore depends on the specific product and market rules. In ERCOT after RTC+B, energy and ancillary services are co-optimized in real time with battery SOC explicitly modeled.
Charge only if: P_s ≥ P_c / RTE + Degradation + Foregone_AS_Revenue
That third term is an opportunity cost, and it is the reason the battery revenue-stack post insisted that revenue streams cannot be added together. Energy and ancillary compete for the same megawatts and the same megawatt-hours; a stacked bar chart showing both at full value describes an asset doing two things at once.
Two practical observations.
Use the interval-specific marginal value of the alternative service. Depending on the market, that can include the AS clearing price, expected deployment energy, SOC reservation and the effect on later intervals — not simply an annual average AS revenue.
The opportunity cost moves with the market design and clearing prices. ERCOT’s RTC+B implementation materially changed how energy and ancillary services are co-optimized for batteries, so an operating policy calibrated before December 2025 should be revalidated rather than carried forward mechanically.
The actionable point is narrower: an operating policy is not a set-and-forget document. Revalidate the energy-versus-AS opportunity cost whenever market rules, procurement quantities or clearing-price relationships change.
The general form is worth stating plainly. A battery's charge decision is a comparison between three uses of the same capacity — cycle now, cycle later, or stand ready for someone else — and the rule needs all three on the same scale.
How Do You Build the Charge Rule in Excel?
As a cost per megawatt-hour and a spread test, with both cost components separated.
The cycle cost
Efficiency_Cost(P_c) = P_c × (1/RTE − 1)
Marginal_Wear_Cost = project-specific $/MWh from warranty / degradation / augmentation economics
Variable_Market_Cost = fees + imbalance + variable O&M, where applicable
Total_Cycle_Cost(P_c) = Efficiency_Cost(P_c) + Marginal_Wear_Cost + Variable_Market_Cost
The threshold
Required_Sell(P_c) = P_c / RTE + Marginal_Wear_Cost + Variable_Market_Cost + Opportunity_Cost
Min_Spread(P_c) = Required_Sell(P_c) − P_c
The decision
Charge_Now = AND(
P_c = MIN(prices in charge window),
MAX(prices in discharge window) ≥ Required_Sell(P_c),
SoC + charge ≤ SoC_max,
Remaining_Throughput_or_Warranty_Envelope > required_throughput
)
The last two conditions are the subject of the next two posts, and they turn this clean rule into a scheduling problem.
The outputs to publish
PF_MarginalWearCostPerMWh project-specific
PF_EfficiencyCostAtReferencePrice worked output
PF_MinViableSpread worked output
PF_RemainingThroughput / warranty headroom project-specific
PF_HoursAboveThreshold count / dispatch output
That last line is the one that tells you whether the asset has a business at this node. A price series containing very few hour-pairs separated by more than the minimum spread describes a market where the worked cycling case has limited opportunity; a full co-optimized model should then test ancillary and other value streams.
ℹ️ Note: Report the degradation methodology, warranty / throughput assumptions and lifetime model explicitly. Do not manufacture a fixed cycle/calendar split unless the underlying degradation analysis supports it.
To build the cycle cost, the minimum viable spread and the count of qualifying hours in your price series, prompt Dezzmond with your warranty terms, pack cost and node prices.
What Do Operators and Lenders Actually Check?
- What is the degradation cost per MWh, and what warranty throughput is it derived from?
- How is marginal cycling wear derived from the lifetime / warranty / augmentation case?
- What is the minimum viable spread under the current SOC and opportunity-cost state?
- How many opportunities in the actual price series clear it after chronological constraints?
- Is the rule price-based or spread-based? A price rule breaks when levels move.
- Does the model price degradation into dispatch, or apply it only as an annual capacity haircut?
- Is there residual or second-life value reducing the effective consumption cost?
Frequently Asked Questions
What does it cost a battery to cycle?
At minimum: energy losses, marginal degradation / augmentation cost and any foregone alternative service. In the worked screening case the assumed degradation allocation is $30/MWh and the efficiency effect at a $20/MWh charge price is $2.73/MWh; neither figure is a universal battery cost.
What is the minimum spread worth cycling for?
Roughly $31–$35/MWh only in the worked case with a fixed $30/MWh degradation penalty. The real threshold should be recalculated from the project’s degradation, efficiency, SOC and opportunity-cost model.
Why can the worked threshold look roughly constant in dollars?
Because that example holds marginal wear at a fixed $/MWh while only the efficiency term moves with charging price. If wear, SOC opportunity cost, fees or efficiency vary with operating point, the threshold moves too.
Should calendar degradation be in the dispatch decision?
Pure time-driven degradation should not be charged to one incremental cycle as if the cycle caused all of it. But calendar aging depends on conditions such as temperature and SOC, and cycle/calendar effects are not always separable into one fixed percentage. Use the project degradation model.
What happens when charging at a negative price?
Negative prices can make charging profitable before the later discharge is considered, but efficiency remains a physical loss. Use charge/discharge efficiency and SOC explicitly; do not treat low efficiency as an advantage.
What if more opportunities clear the threshold than the warranty allows?
Then the optimizer must ration the remaining throughput / warranty envelope across competing opportunities. A simple “best N full cycles” ranking can be a screening approximation; a chronological model should allocate partial cycles and SOC subject to the actual throughput constraints.
Does the warranty affect the operating rule?
Directly, but not through cycle count alone. Warranty throughput, DoD, SOC, temperature, retained-capacity guarantees and augmentation obligations can all affect the marginal cost and the feasible dispatch envelope.
Closing: Price the Thing You Are Consuming
The round-trip efficiency figure is on every specification sheet, quoted to a decimal place, and it is the number dispatch models treat most carefully. It deserves rather less of that attention than it gets.
Cycling consumes battery life, but the price of that consumption is not simply pack cost divided by warranty cycles. The operating rule should carry a marginal degradation penalty derived from the project’s actual battery-life, warranty and augmentation economics.
Getting a defensible marginal wear cost into the rule prevents the optimizer from treating battery life as free. Depending on the warranty, augmentation strategy and price distribution, that can reduce cycling, shift it toward wider spreads, or simply change which opportunities are preferred.
The caveat is that marginal wear is uncertain and path-dependent. Overstating it can reject profitable dispatch; understating it can accelerate fade, augmentation or warranty consumption. The control is to reconcile dispatch assumptions to the same degradation and warranty model used elsewhere in the investment case.
the next post takes the other half of the decision, which is harder: given that the battery is charged, when should it actually sell — and what is the stored energy worth if it waits.
Sources: NREL SAM Help — cycle and calendar degradation, battery dispatch and replacement modeling · NREL — battery lifespan modeling includes calendar time, cycling, temperature, rate and SOC history · DOE/Sandia — Energy Storage Technology and Cost Characterization Report; cycle and calendar life concepts · ERCOT — RTC+B co-optimizes energy and ancillary services and explicitly models battery state of charge · Dezzmond analysis; $30/MWh degradation and $33/MWh spread figures are illustrative screening assumptions.