fluxpilot
How it works Capabilities Why FluxPilot
Book a demo
← FluxPilot home BESS Sizing Guide

How to size a utility-scale BESS

You size a utility-scale battery energy storage system backwards from the delivery obligation, not forwards from a cell datasheet. Fix four numbers first: the usable energy (MWh), the power (MW), the resulting duration (hours), and the point in the system where you owe that energy (for most projects the point of interconnection, on the AC side). Then gross that target up through every loss and derate between the interconnection and the cells, account for 20 years of degradation, and check the result against the temperatures that bind it. The capacity you install on day one is whatever it takes to still deliver the target in year 20 on a hot day, not the nameplate that matches your MWh on paper.

This guide walks the sequence a BESS engineer actually follows: fix the deliverable, build the loss and derate stack, decide how to hold energy flat across 20 years, and validate against weather. Each step is simple arithmetic. The layers compound, which is exactly where a hand-built spreadsheet drifts.

Start from the deliverable, not the nameplate

Write down the deliverable before you open a battery model: usable MWh, MW, duration, delivery point, and the guarantee horizon (usually 20 years). A 100 MW / 400 MWh four-hour project does not mean 400 MWh of cells. It means 400 MWh has to leave the point of interconnection on discharge in the binding year, which takes meaningfully more installed capacity once the stack below eats into it. Because cells fade, year 20 is the binding case, not year one, so size to the end of the guarantee and let the early years carry margin.

Walk the loss and derate stack

From the target energy at the interconnection, gross up through each stage back to the cells. Every stage takes a bite, and the stages interact rather than cleanly multiply:

  • Usable SOC window (depth of discharge). You never cycle a cell from 100 to 0. The usable state-of-charge window sets how much of the installed nameplate is actually available energy at beginning of life.
  • Round-trip efficiency (RTE). The AC to AC round trip loses energy to cell coulombic and voltage losses plus PCS conversion. RTE is not one fixed number. It drifts with temperature, C-rate, and state of charge, and it feeds the sizing directly.
  • Auxiliary load. Thermal management (HVAC), controls, and balance of plant draw power continuously. Aux tracks ambient temperature, so it is a weather problem, not a constant, and it peaks on the hot days when you can least afford it.
  • Transformer and cable losses. The medium-voltage step-up and the DC and AC conductors between the blocks and the interconnection each dissipate energy. Small per stage, real in aggregate.

Run the stack at your design condition and you land on the installed usable capacity the day-one build has to provide. This is the core of any BESS sizing tool, and it is where hand calculations quietly go wrong, because moving one input ripples through every downstream stage.

Design for year 20: overbuild or augment

Cells lose capacity to calendar aging and cycling. If year 20 binds, the day-one design has to carry capacity you have not lost yet. There are two honest ways to hold usable energy flat across the life:

  • Overbuild on day one. Install enough extra capacity now that end-of-life degradation still leaves you at target. Simple to operate, but it commits more containers and site area up front and leaves capacity idle in the early years.
  • Augment over time. Build closer to target now and add containers (and sometimes inverters) on a schedule as the cells fade. A smaller day-one footprint, but staged additions that have to be coordinated with the site plan and O&M.

Most utility-scale projects augment. Getting the schedule right, how many containers and inverters to add in which year to keep delivered energy flat, is its own modeling exercise, covered in BESS augmentation explained.

AC-coupled and DC-coupled size differently

Architecture reshapes both the inverter pairing and the loss path. In an AC-coupled design, the battery has its own PCS and ties in on the AC side, independent of any PV inverters, so each block is modular and its loss path repeats cleanly. In a DC-coupled design (a DC-block), the battery shares a DC bus with PV behind a common inverter. Charging from PV skips a conversion stage (DC to DC instead of AC to DC to AC) and can capture energy the PV inverter would otherwise clip, but battery capacity is now coupled to the inverter DC input and the PV. That changes how you pair batteries to inverters and which losses appear in the discharge path. Size each topology with the stack that matches it, and do not reuse an AC loss chain on a DC-block.

Temperature sets the binding case

Temperature does two things at once: it raises auxiliary draw and it derates usable capacity at the extremes. That is why you cannot size to an average. Model a typical year (a TMY P50 profile) to understand expected behavior, then size the guarantee against a hot year (a P90 profile), which is usually what binds, because aux is highest and capacity derate is worst on the same days you are expected to deliver full energy. Deriving both profiles from roughly 20 years of climate data for the actual site is what turns the design condition from a guess into a defensible number.

A sizing sequence you can follow

  1. Fix the deliverable: usable MWh, MW, duration, delivery point, and guarantee horizon.
  2. Choose the architecture (AC-coupled or DC-coupled) and a candidate battery plus inverter/PCS.
  3. Build the loss and derate stack from the interconnection back to the cells at the design condition.
  4. Set the usable SOC window and the beginning-of-life to end-of-life margin.
  5. Size the day-one container count and inverter pairings to hit target at that condition.
  6. Decide overbuild versus augmentation and build the 20-year schedule.
  7. Re-check aux and derate against both the typical and the hot year.
  8. Iterate: change the battery, target, or architecture, and re-run.

Common mistakes

  • Sizing to nameplate or beginning-of-life usable energy and missing target in year 20.
  • Treating aux as a flat constant instead of a temperature-driven load.
  • Sizing against an average year rather than the hot year that actually binds.
  • Assuming RTE is the whole loss story and forgetting the SOC window, transformer, cable, and aux.
  • Carrying an AC loss stack onto a DC-block, or the reverse.
  • Leaving inverter pairing unchanged after the battery model changes.

Let a tool run the stack

None of this is conceptually hard, but running it across two weather years, a 20-year augmentation schedule, and both architectures becomes a large, brittle spreadsheet that has to be rebuilt every time an input moves. FluxPilot runs the full stack: it sizes AC-coupled and DC-coupled designs to a target usable energy, returns container counts and inverter pairings, models the 20-year augmentation schedule, and derives the weather and aux profiles from about 20 years of climate data. It produces a design draft to iterate on, not a final answer, so you can change the battery, the target, or the layout and re-run in seconds, then carry the same design into site layout. Book a demo to watch it size a real project.

Frequently asked questions

What does it mean to size a BESS to usable energy at the point of interconnection?

It means the target MWh and MW are defined at the interconnection after all losses, not at the cells. You gross that number up through the usable SOC window (depth of discharge), round-trip efficiency, temperature-driven auxiliary load, and transformer and cable losses to find the installed capacity the project actually needs.

Should I overbuild on day one or augment a utility-scale battery over time?

Both hold usable energy flat as cells degrade. Overbuilding installs extra capacity now, which is simple to operate but commits more containers and site area up front and leaves capacity idle early. Augmenting builds closer to target and adds containers (and sometimes inverters) on a schedule, which is what most utility-scale projects do.

Why size a BESS against a hot year instead of a typical year?

Temperature raises auxiliary draw and derates usable capacity at the same time, so the hottest days are usually when the project is least able to deliver full energy. Sizing against a hot year (a P90 profile) makes the target hold on the binding case, while a typical year (TMY P50) shows expected behavior.

How does AC-coupled vs DC-coupled affect sizing?

AC-coupled batteries have their own PCS and a clean, modular loss path per block. DC-coupled (DC-block) designs share a DC bus with PV behind a common inverter, which skips a conversion stage when charging from PV but couples battery capacity to the inverter and PV. Each topology needs its own loss stack and inverter pairing.

What losses reduce a battery's nameplate to its usable delivered energy?

The main stages are the usable state-of-charge window (depth of discharge), round-trip efficiency, temperature-driven auxiliary load, and transformer plus cable losses. They compound rather than simply add, and cell degradation over 20 years reduces available capacity on top of that.

Book a demo →

fluxpilot

Utility-scale battery energy storage design. Sizing, layout, and weather in one desktop tool.

Product
How it worksCapabilitiesWhy FluxPilotBook a demo
Company
Contact
Resources
BESS sizing softwareBESS site layoutHow to size a BESSBESS augmentation
Legal
PrivacyTerms
© 2026 Fluxara LLC. All rights reserved.