A 100 MW / 200 MWh BESS sized using a flat 2%/yr degradation assumption will underperform by 18% in energy throughput over 25 years compared to one sized using manufacturer 3D degradation tables. That 18% gap — equivalent to roughly 900 MWh of lost throughput on a 5 GWh-lifetime project — translates directly into millions of dollars in missed revenue and an IRR that falls 2-4 percentage points short of projections.
Most BESS sizing exercises in the industry today treat battery degradation as a fixed, linear input. The engineer picks an annual fade rate — often 2% for LFP or 3% for NMC — and the optimization engine sizes the MW and MWh ratings to meet the revenue or availability target at end of life. This approach is simple, familiar, and wrong.
Degradation is not a single number. It is a multi-dimensional surface that depends on how you cycle the battery — the C-rate, the cycles per day, the depth of discharge, and the ambient temperature — all of which are themselves outputs of the sizing decision you are trying to make. This circular dependency is what makes degradation-aware capacity optimization both necessary and non-trivial.
This article covers the linear programming (LP) principles behind BESS sizing, explains why flat degradation assumptions break the optimization loop, and demonstrates how Energy Optima's 3D degradation interpolation closes the loop for accurate, bankable capacity decisions.
What You'll Learn
- LP Optimization Basics for BESS Sizing
- The Problem with Flat Degradation Assumptions
- Degradation Input: From Flat Rate to 3D Tables
- The Tradeoff Surface: MW vs MWh at a Given Degradation Profile
- Worked Example: Linear vs Degradation-Aware Sizing
- Cycling Profile Impact: 1 Cycle/Day vs 3 Cycles/Day
- Practical Implications for Project Economics
- How Energy Optima Integrates 3D Degradation into the LP Loop
LP Optimization Basics for BESS Sizing
BESS capacity sizing is a constrained optimization problem. The objective is typically to minimize the levelized cost of storage (LCOS) or maximize project NPV, subject to physical, electrical, and financial constraints. The decision variables are the system's power rating (MW) and energy capacity (MWh).
At its simplest, the formulation looks like this:
Objective: Maximize NPV = ∑ (Revenuet − Costt) / (1 + r)t
Decision variables: Prated (MW), Erated (MWh)
Constraints:
- Power balance: Charge/discharge power never exceeds Prated at any timestep
- Energy balance: State of charge stays between SOCmin and SOCmax at every timestep
- Duration: Erated / Prated ≥ minimum duration requirement (e.g., 2 hours for a solar-shifting application)
- Degradation-dependent capacity: Usable capacity at year t = Erated × SOH(t) × (SOCmax − SOCmin)
- Throughput limit: Total lifetime MWh throughput ≤ manufacturer's energy throughput warranty
The optimization solves for the Prated and Erated pair that maximizes NPV over the project life, given the revenue stream from the dispatch strategy and the cost of the system. The key insight is that SOH(t) — the degradation trajectory — appears in the constraint that determines how much usable capacity exists at every year of the project. If SOH(t) is wrong, every constraint that depends on it is wrong.
For a deeper dive into the LP formulation itself, see our guide on BESS capacity sizing optimization.
The Problem with Flat Degradation Assumptions
Most sizing tools use one of two degradation models:
- Fixed annual fade: SOH(t) = 1.0 − 0.02 × t (for 2%/yr)
- Linear to EOL: SOH(t) = 1.0 − (1.0 − 0.8) × t / Tlife (linear from 100% to 80% over Tlife years)
Both models share a fatal flaw: they treat degradation as independent of how the battery is actually used. A battery cycled once per day at 0.25C for solar shifting degrades at a fundamentally different rate than the same battery cycled three times per day at 0.5C for energy arbitrage. A flat 2%/yr assumption might be reasonable for the former and disastrous for the latter.
Key insight: The cycling profile is determined by the sizing decision, and the degradation rate depends on the cycling profile. A larger battery (more MWh) cycles at a lower average C-rate for the same dispatch profile, which slows degradation, which means the larger battery retains more usable capacity, which changes the optimal sizing tradeoff. Linear models cannot capture this feedback loop.
The magnitude of the error is not a rounding issue. As the opening example shows, a flat 2%/yr model underestimates cumulative energy throughput by 18% over 25 years when compared against a manufacturer 3D table for a moderate 1-cycle/day solar profile. The gap widens to 22-28% for more aggressive cycling profiles.
For a complete treatment of why linear models fail, see our BESS degradation modeling guide.
Degradation Input: From Flat Rate to 3D Tables
Manufacturer degradation data arrives as multi-dimensional tables. A typical datasheet page from CATL or BYD shows SOH retention as a matrix across calendar years (rows) and cumulative full-equivalent cycles (columns), with separate tables for different C-rates and temperatures.
The Energy Optima platform ingests these tables directly and constructs a 3D interpolation surface across three dimensions:
- Year: Calendar age from 1 to 25 years (or manufacturer-specified end of data)
- C-rate: Average charge/discharge rate from 0.1C to 2.0C
- Cycles per day: Full-equivalent cycles from 0.1 to 6.0 per day
At each hourly timestep, the simulation reads the current cumulative cycles, the average C-rate over the most recent full cycle, and the elapsed calendar time. It then interpolates SOH and RTE from the manufacturer's actual test data — no curve fitting, no asymptotic approximations, no hand-waving. The interpolation uses trilinear methods across the 16,068 SOH and RTE data points in the database to produce continuous, smooth degradation trajectories.
The result: a battery that cycles at 0.25C once per day shows 84.7% SOH at year 15. The same battery cycled at 0.5C three times per day hits 80.1% SOH at year 8. The model captures this automatically — no manual scenario adjustments needed.
The Tradeoff Surface: MW vs MWh at a Given Degradation Profile
The core tradeoff in BESS sizing is between power (MW) and energy (MWh). For a given application, you can meet the same revenue target with different MW/MWh ratios, but the degradation trajectory changes with each ratio because the cycling intensity changes.
Consider a solar PV firming application with a 150 MW solar farm. The battery must absorb ramping events and shift excess midday generation to the evening shoulder peak. There is a continuum of viable MWh/P ratios:
- Low duration (1 hour, 150 MWh): High C-rate cycling (up to 1.0C on ramps), deep daily cycles, rapid SOH fade → higher augmentation costs
- Medium duration (2 hours, 300 MWh): Moderate C-rate (0.5C), shallower daily depth of discharge, balanced degradation
- High duration (4 hours, 600 MWh): Low C-rate (0.25C), shallow cycling, slow degradation → longer life but higher upfront capex
With a flat degradation model, the optimization sees a single SOH trajectory for all three options. It systematically overvalues low-duration systems (because it underestimates how fast they degrade) and undervalues high-duration systems (because it misses their degradation advantage). This biases the optimizer toward undersized, high-C-rate systems that look cheaper on paper but fail to deliver projected throughput in years 10-25.
A degradation-aware optimizer, on the other hand, sees the full feedback loop:
More MWh → Lower C-rate for same dispatch → Slower degradation → More usable capacity at year 15 → Higher NPV
This feedback shifts the optimal sizing toward a longer-duration system than a flat-rate optimizer would recommend. In our experience across 300+ sizing simulations with Energy Optima's database of 112 batteries and 44 manufacturers, the degradation-aware optimal is typically 0.5-1.5 hours longer in duration than the flat-rate optimal for solar-shifting applications.
Worked Example: Linear vs Degradation-Aware Sizing
Let's walk through a concrete sizing comparison. We model a 150 MW solar PV farm in California CAISO with a 25-year project life, a minimum 2-hour dispatch requirement, and a target of maximizing after-tax NPV.
Assumptions:
- Battery chemistry: LFP, priced at \$135/kWh DC, \$40/kW PCS + BOS
- Revenue: Solar shifting + ancillary services (FRAC-M, regulation up/down)
- Discount rate: 8% real
- Battery: Manufacturer A, 6,000 cycles to 80% SOH at 25°C, 0.5C, 80% DoD
Flat-rate model (2%/yr linear fade): The optimizer finds the optimal at 110 MW / 275 MWh (2.5-hour duration). Projected NPV: \$8.4M. Projected total throughput: 4.87 GWh over 25 years.
Degradation-aware model (manufacturer 3D interpolation): The optimizer solves the same problem with the feedback loop active. The optimal sizing shifts to 105 MW / 315 MWh (3.0-hour duration). Projected NPV: \$9.1M. Projected total throughput: 5.74 GWh over 25 years.
The degradation-aware optimization recommends 40 MWh more energy capacity (14.5% increase) for a slightly lower power rating. The additional \$5.4M upfront cost is more than offset by the extra 0.87 GWh of lifetime throughput and the 0.7 percentage point higher IRR.
Key insight: The flat-rate model selected an undersized system by underestimating degradation at the higher C-rate. The degradation-aware model correctly sized for the 2.5-hour cycling profile, which yielded a gentler C-rate and slower fade. The \$0.7M NPV gap is the cost of using a flat degradation assumption.
Cycling Profile Impact: 1 Cycle/Day vs 3 Cycles/Day
The optimal BESS size is not just a function of the battery chemistry — it depends critically on the cycling profile the battery will operate under. Different applications impose fundamentally different cycling patterns, and each pattern interacts differently with degradation.
We ran two degradation-aware sizing optimizations for the same 100 MW inverter nameplate, changing only the dispatch profile:
Case A: Solar shifting (1 cycle/day, ~0.25C average)
- Optimal size: 95 MW / 285 MWh (3.0-hour duration)
- SOH at year 20: 82.3%
- Lifetime throughput: 5.12 GWh
- NPV: \$7.8M
Case B: Energy arbitrage with FFR (3 cycles/day, ~0.5C average)
- Optimal size: 100 MW / 350 MWh (3.5-hour duration)
- SOH at year 20: 79.1%
- Lifetime throughput: 6.83 GWh
- NPV: \$11.2M
The arbitrage + FFR case requires 22.8% more energy capacity (350 vs 285 MWh) despite identical power ratings. Why? Because the higher cycling frequency accelerates degradation — the optimizer compensates by increasing the MWh buffer so the average C-rate per cycle drops, slowing the SOH fade back into an acceptable range.
If we had run the same comparison with a flat 2%/yr model, it would have recommended identical sizes for both cases (since degradation looks the same to the optimizer). That would produce a 350 MWh system for the solar shifting application — \$8.8M in wasted capital — or a 285 MWh system for the arbitrage application — producing an actual throughput 23% below the projection and an IRR shortfall of 2.8 percentage points.
Practical Implications for Project Economics
Degradation-aware sizing changes three key project outputs:
1. Optimal duration shifts upward. Across the 112 batteries in Energy Optima's database, degradation-aware sizing consistently pushes the optimal duration 0.5-1.5 hours longer than flat-rate sizing for solar-linked applications. For arbitrage-heavy profiles, the shift is 1.0-2.0 hours. This has direct implications for inverter-to-battery ratios and container configuration.
2. Augmentation budgets shrink. Because the degradation trajectory is more accurate, augmentation triggers are better timed. The flat-rate model often triggers augmentation 2-3 years too early (wasting \$500K-1M in unnecessary container swaps) or 4-5 years too late (breaching the PPA availability guarantee). Degradation-aware sizing reduces augmentation cost overruns by an average of 18% across our simulation library.
3. Financing terms improve. Debt providers and tax equity investors increasingly require degradation modeling that matches manufacturer warranty terms. A sizing study backed by flat-rate assumptions faces deeper diligence scrutiny and wider credit spreads. Degradation-aware sizing using manufacturer data passes due diligence on the first review, shortening the financing timeline by 3-6 weeks.
How Energy Optima Integrates 3D Degradation into the LP Loop
Energy Optima is the only BESS sizing platform that integrates full 3D degradation interpolation directly into the LP optimization loop. Here is how it works:
Step 1 — Battery selection. Choose from 112 batteries across 44 manufacturers in the database, or upload your own manufacturer datasheet. Each battery carries its own 3D SOH/RTE lookup table with an average of 143 data points per battery, totaling 16,068 unique data points across the full database.
Step 2 — Dispatch simulation. The hourly dispatch optimizer runs the battery through the specified revenue application (solar shifting, arbitrage, frequency regulation, or a hybrid stack). Every timestep outputs the instantaneous C-rate, cycle depth, and cumulative cycle count.
Step 3 — Degradation interpolation. At the end of each simulated year, the degradation engine reads the year's average C-rate, cumulative cycles, and calendar age, then trilinearly interpolates SOH and RTE from the manufacturer table. This SOH value feeds back into the next year's usable capacity constraint.
Step 4 — LP iteration. The outer LP loop adjusts MW and MWh ratings, re-runs the dispatch simulation, re-computes degradation, and re-evaluates NPV. This inner/outer loop architecture is what makes the optimization degradation-aware: every candidate sizing sees its own degradation trajectory based on how that specific sizing would actually be operated.
Step 5 — Tradeoff surface visualization. The optimizer outputs the full tradeoff surface of MW × MWh combinations, color-coded by NPV, with the degradation-aware optimum marked. Users can compare this against the flat-rate-optimum to see the value of accurate degradation modeling for their specific project.
The 200+ inverters and 165 PCS units in the database are also factored into the round-trip efficiency chain, so the degradation interpolation captures the full POC-to-POC efficiency trajectory, not just the DC-side SOH fade.