Commercial

Bid normalization

Bid normalization is the step between receiving proposals and choosing one: restating every bid onto a single set of assumptions so the prices in front of you describe the same product.

On a battery project it is not housekeeping, because the assumptions bids differ on are the ones that decide what the plant is worth — the year the guaranteed energy applies to, the bus it is measured at, whether the augmentation that holds it is inside the price, how auxiliary load is treated, how many years of service came attached, and where scope stops at the high-voltage interface.

Any one of those can move a bid by more than the spread between competitive bidders. The output is not a corrected dollars-per-nameplate-kWh figure. It is lifecycle cost per delivered MWh at one common boundary, computed identically for every bid, with the residual risk each bid still carries written down next to it.

Reviewed August 2026 by Sergey Syrvachev

New to BESS? Start free with the 7-email fundamentals course — no cost, no account.

The axes bids actually differ on

Start with the performance axes, because they are the ones that hide inside identical headline numbers. Guaranteed energy at the same nameplate: one bid promises DC MWh at the racks at beginning of life, another promises net AC at the point of interconnection in a stated year, and the second number is smaller and much harder. Degradation curve shape: a first-year step of roughly 2-4% followed by roughly 1-2% per year is a common shape, but the shape is what you are comparing, and a curve that flatters late life quietly pushes augmentation cost past the evaluation horizon.

Round-trip efficiency measurement point: the same hardware reads roughly 92-96% DC, 88-93% at the PCS AC terminals and 85-90% net AC at the POI. Auxiliary load treatment: typically 1-3% of annual discharged energy and up to about 5% in hot climates or at low utilisation, and whether it sits inside the guarantee or is separately metered changes the efficiency number before any equipment is compared.

Then the scope axes, which move more money and are easier to miss. Whether augmentation is in the price at all — cumulative additions commonly total 15-40% of original DC capacity over a 15-20 year term. How many LTSA years are included and on what pricing structure, since a fixed annual fee and a per-MWh rate allocate cycling risk in opposite directions and the per-MWh option looks cheap against a pro forma dispatch that heavy trading will not respect.

Where scope stops at the high-voltage interface, since a switchyard that is utility-built, developer-built and transferred, or developer-built and retained is the same steel with three different cost and obligation profiles. Spares: what is stocked on site, what sits in a depot, what is only a lead time.

And what a quoted dollar-per-kilowatt-hour covers at all — the EPC or balance-of-plant scope has commonly been put at roughly 20-40% of installed capital where batteries are owner-furnished, and nearer 20-30% where balance of plant and the EPC wrap are counted as one line inside a wrapped price — the spread is scope rather than site.

Restate to one boundary before you touch price

Pick the bus first and apply it to everything. Net AC at the point of interconnection is the defensible choice, because it is the bus the project is paid at. Then restate each bid's guaranteed energy at that bus using the bidder's own stated loss chain rather than a generic one, and check what the quoted figure already includes before subtracting anything — some vendors have already netted part of the chain, and deducting the same loss twice understates a bid as badly as skipping it overstates one.

The arithmetic is less dramatic than it sounds and the conclusion is more so. Deliverable AC at the POI commonly lands around 85-92% of DC nameplate at beginning of life, so a bid guaranteeing 400 MWh DC at the racks and a bid guaranteeing 360 MWh net AC at the POI are describing roughly the same physical plant — and the second one, the number that looks 10% worse on the summary sheet, is the stronger promise. Everything between the racks and the meter is the owner's problem under the first bid.

Then fix the year. Restate every guaranteed energy to one nominated project year, normally the worst contracted year, because a bid quoting beginning-of-life energy and a bid quoting year-15 energy differ by the entire degradation and augmentation programme. That single restatement usually reorders the field more than the price spread does.

Normalization is not a price correction — it is a re-ranking event. Restate every bid to one boundary, one year and one scope before any comparison; price missing scope at the bidder’s own quoted rate or at the highest rate in the field, and record it — never at zero.
ranked by $ per nameplate kWhranked by discounted lifecyclecost per delivered MWh at thePOIbid Abid Abid Bbid Bbid Cbid CIllustrative ordering, not a dataset. What the sources assert is that the ranking COMMONLYchanges, and that the change is usually larger than the headline spread — no bid table ispublished, and none is drawn here.Normalization verifies nothing. Achievability and credit are due diligence, not arithmetic.

Normalize to net AC at the point of interconnection: the bus the project is actually paid at. The same hardware reads differently at each bus — round-trip efficiency about 92–96% DC, 88–93% at the PCS AC terminals, 85–90% net AC at the POI — and deliverable AC at the POI is commonly about 85–92% of DC nameplate at beginning of life, so a 400 MWh DC guarantee and a 360 MWh POI guarantee describe roughly one plant, the POI number being the stronger promise. Auxiliary load is typically 1–3% of annual discharged energy, up to about 5% in hot climates or at low utilisation; confirm whether it sits inside the efficiency guarantee before comparing. Cumulative augmentation commonly adds 15–40% of original DC capacity over a 15–20 year term.

Key facts
What it is
Restating every bid onto one assumption set — boundary, year, augmentation, service scope — before any price comparison
Correct comparison basis
Discounted lifecycle cost per discounted delivered MWh at one common boundary, not dollars per nameplate kWh
Boundary to normalize to
Net AC at the point of interconnection — the bus the project is paid at
Same hardware, different RTE
~92-96% DC, ~88-93% at the PCS AC terminals, ~85-90% net AC at the POI
Same plant, different energy promise
Deliverable AC at the POI commonly ~85-92% of DC nameplate at BOL, so a 400 MWh DC guarantee and a 360 MWh POI guarantee describe roughly one plant — the POI number being the stronger promise
Auxiliary load
Typically 1-3% of annual discharged energy, up to ~5% in hot climates or at low utilisation — confirm whether it sits inside the efficiency guarantee before comparing
Augmentation in or out
Cumulative additions commonly 15-40% of original DC capacity over a 15-20 year term
What a $/kWh covers
EPC or BOP commonly ~20-40% of installed capital where batteries are owner-furnished, nearer ~20-30% where BOP and the EPC wrap are one line inside a wrapped price — the spread is scope, not site
Gap-filling rule
Price missing scope at the bidder's own quoted rate, or at the highest rate in the field, and record it — never at zero
What it does not do
Verifies nothing. Achievability, evidence quality and counterparty credit are technical due diligence, not arithmetic

Lifecycle cost per delivered MWh, not dollars per nameplate kWh

Dollars per nameplate kilowatt-hour fails twice over. The denominator is a DC-side number each bid relates to delivered energy differently, and the numerator is a scope-dependent price that stops at commercial operation.

The comparison basis that survives contact with a battery is discounted lifetime cost over discounted energy actually delivered at the common boundary: capital cost, charging energy at the modelled efficiency, service, augmentation tranches and any replacements each bid implies, divided by the MWh the plant is expected to meter over the evaluation term. That is levelized cost of storage, and the levelized-cost-of-storage and LCOE-and-LCOS entries own the formula and its inputs.

Because LCOS has no common definition — published work varies in what it includes — the recipe is not something you can borrow from a bidder. Write it once, publish it in the tender documents, and run it identically on every bid and on your own base case.

Then fill gaps at a price and never at zero: if one bid excludes ten years of service another includes, price the extension at the excluding bidder's own quoted rate, and if it quoted none, use the highest rate in the field and record that you did. Same discipline for augmentation tranches, spares packages and high-voltage scope. An excluded item carried at zero is the single most reliable way for the wrong bid to win on paper.

Keep the adjustment ledger. Every restatement needs its source recorded, because the losing bidders will ask, a revised bid has to be re-run through the same machine, and the lender's reviewer will rebuild your comparison during diligence.

What normalization cannot repair

Normalization is arithmetic performed on numbers the bidders stated. It cannot tell you whether a degradation curve is achievable under the duty you will actually run, whether the cell revision in the UL 9540A report is the one the factory ships, whether the physical provisions for a year-8 augmentation exist on the drawings, or whether the entity signing a fifteen-year guarantee will exist in year twelve. Those are verification questions and they belong to technical due diligence and to the bankability assessment. Normalization makes bids comparable; diligence makes them credible.

So the deliverable should carry the residual explicitly rather than dissolving it into one ranked number. Two bids that normalize to the same lifecycle cost per delivered MWh can sit on very different remedy caps, envelope widths and counterparty balance sheets — an aggressive curve backed by a capped, sole-remedy liquidated damage is worth less than a conservative curve with a genuine make-whole behind it, and no amount of restating moves that difference into the price column.

Common errors

Normalizing to the best bid instead of to a fixed basis is the structural mistake: the basis then moves whenever the field moves, and the comparison cannot be reproduced when a bid is revised. Letting bidders self-normalize on a form you did not design is the same error delegated. Comparing a wrapped all-in price against one that silently excludes owner-furnished batteries is the same error again, wearing a spreadsheet.

The quiet ones cost as much. Comparing efficiency figures without checking whether auxiliaries are inside the guarantee. Accepting a per-MWh service rate without testing it against the dispatch forecast rather than the pro forma average. Treating a degradation curve as a technical input when it is a promise with an operating envelope and a remedy cap attached. And normalizing the price while leaving the measurement boundary un-normalized in the contract that follows — a comparison done at the POI and a guarantee signed at the DC terminals hands back everything the analysis just bought.

Common misconception

The bids are all for the same 100 MW / 400 MWh plant, so the lowest dollars per kilowatt-hour is the cheapest offer.

In reality: Dollars per nameplate kWh divides a scope-dependent price by a DC-side number that each bid relates to delivered energy differently. One bid guarantees at the racks in year one; another guarantees at the point of interconnection in year fifteen with augmentation inside the price and ten years of service attached. Restated to one boundary, one year and one scope, the ranking commonly changes, and the change is usually larger than the headline spread between the bids.

Go deeper

Bid normalization, in context.

The Grid-Scale BESS course covers bid normalization — and the rest of the system — from the ground up, the way it actually gets deployed.

Browse the course