Skip to content

How to Size UPS Battery Backup for an AI Data Center

UPS battery sizing for AI loads: the IEEE 485 constant-power method with aging, temperature, and margin factors, a fully worked 1.2 MW pod, and VRLA vs lithium runtimes.

A UPS battery plant is the most misunderstood line item in an AI data center budget. It is not a generator. Its job is not to ride out an outage; its job is to carry the load for a few minutes while the engines start, synchronize, and pick up the bus — a window measured in seconds under NFPA 110's Type 10 requirement [6][7]. Yet the battery is where AI projects get burned, because GPU clusters do not draw power the way the enterprise halls this sizing folklore was written for did. A rack that idles at 65 kW can spike past 150 kW in milliseconds, and the entire pod does it in lockstep [4]. Size the battery the old way and it will meet its nameplate on commissioning day and quietly fail to meet it in year three.

This guide walks through the sizing method used in serious engineering practice — the IEEE 485 constant-power approach with its correction factors — the numbers AI loads change, a fully worked 1.2 MW example, and the verification steps that keep the bank honest over its life. The same power architecture this sizing feeds is described in our overview of AI data center power systems; here we go one layer deeper, into the battery itself.

UPS input, maintenance bypass, and output breakers in a containerized power bay
Fig. 1 — UPS input, maintenance-bypass, and output breakers in a containerized power bay. The battery plant sits behind the inverter this section feeds; every correction factor in this article exists to guarantee the runtime this path must deliver.

Size the bridge, not the outage

The first decision is not capacity — it is how many minutes the battery must actually deliver, and the honest answer is usually "barely any." Batteries exist to cover generator start and transfer. A modern diesel plant cranks, stabilizes, and accepts load in well under a minute; NFPA 110 Type 10 systems — the common data center classification — must deliver acceptable power at the transfer switch within 10 seconds [6][7]. Designing batteries for hours of autonomy means paying for a second power plant that runs once a decade.

Industry practice has converged accordingly [11][13][18]:

Facility type Typical UPS runtime target Rationale
Hyperscale / dedicated AI training 1–5 min Proven generator fleet, fast transfer, battery cost per MW dominates
Enterprise data center 5–10 min Bridge to generator plus margin for one failed start attempt
Colocation 10–15 min Tenant SLAs, mixed generator reliability, operator-agnostic design
Edge / unattended sites 10–30 min Generator start may be delayed or fail; site may wait on a service call

Pick the runtime before touching a battery table. Every later number scales linearly with it, and a 15-minute bank costs roughly three times a 5-minute bank at the same load. For a containerized AI pod with a proven generator in the chain — the deployment model described in our containerized deployment analysis — 5 minutes of lithium is a defensible design point; a colo hall selling uptime SLAs will still specify 10–15.

Start from measured load, not nameplate

Battery sizing begins with one number: the kilowatts the inverter must actually deliver during the discharge. Not the UPS nameplate, not the sum of server PSU labels. Most real IT loads sit at 40–70% of nameplate, and sizing the battery to the UPS frame wastes 30–60% of the battery budget [12]. Measure at the rack PDUs for one to two weeks with a representative workload running — the profiling method and its tools are the same ones used for DCIM capacity monitoring [12].

Two corrections to the measured number matter:

  • Use kW, not kVA. Modern server power supplies run active PFC at 0.95–1.0 power factor, and contemporary UPS frames are rated at unity PF — a 1,200 kVA frame delivers 1,200 kW. Legacy 0.8 PF arithmetic silently misleads everything; a UPS rated 100 kVA at 0.9 PF delivers only 90 kW [12][13]. Online sizing tools built on IEC 62040 and IEEE 485 inputs automate this kVA→kW conversion and the battery math that follows [10].
  • Respect the load factor you will actually run. Standard practice keeps steady-state UPS loading at 60–80% of rating, with 20–30% headroom for growth [13]. The battery, by contrast, is sized to the load it must carry — but that load should be the design maximum, not today's average.

AI training loads then add a wrinkle that traditional sizing never faced. Uptime Institute's analysis of large AI compute documents rack-scale systems based on NVIDIA's GB200 NVL72 climbing from roughly 60–70 kW to more than 150 kW per rack — against a 132 kW nameplate — with worst-case swings of 150% and overshoots exceeding 10% above specification [4]. The reason is synchronicity: every GPU in a training job computes and pauses in lockstep, so the steps do not average out upstream; thousands of racks compound them — a pattern Microsoft, OpenAI, and NVIDIA have documented from rack scale to grid scale [4][17]. At facility scale, loads have been observed jumping from ~50% to ~85% of design capacity within a second [4][5]. The battery is usually shielded from the leading edge of these steps — more on that in the load-step section below — but the UPS frame and its upstream protection are not.

Load type Idle draw Steady-state Peak transient
1U general-purpose server 80–120 W 200–350 W 500–650 W
4U GPU compute (4× H100/A100) 400–600 W 2,200–3,000 W 4,500–5,500 W
8U GPU node, DGX-class 700–1,000 W 5,000–7,500 W 10,000–12,000 W
GB200 NVL72 rack (liquid-cooled) ~60–70 kW up to 132 kW nameplate >150 kW measured worst case [4]

The standard tested one step; your workload delivers millions. IEC 62040-3 qualifies UPS output stability with a single load-step test. An AI training run performs the same step several times a second for hours. Vertiv's published testing of large UPS frames against simulated AI patterns (0→100% steps at up to 8.3 Hz for 4 hours) showed the frames riding the steps without battery draw — but that is the manufacturer testing its own product, and it does not remove the sizing obligation from the buyer [5].

Gather the six inputs

IEEE 485, the governing recommended practice for sizing lead-acid stationary batteries, frames the calculation as building a duty cycle from the load profile and converting it to a required capacity at the cell level [1]. IEEE 1184 adapts that method to UPS applications specifically [2]. Before any arithmetic, fix six inputs:

Input What to fix Where it comes from
Critical load Measured kW at design max, incl. network, storage, CDU auxiliaries PDU metering over a representative training cycle [12]
Runtime Minutes at that load, to end-of-discharge Generator start window + policy margin (table above)
DC bus voltage / cell count e.g. 480 Vdc → 240 lead-acid cells or ~150 LiFePO₄ cells UPS model's battery window (max charge V, min discharge V)
End-of-discharge voltage Typically 1.67–1.75 V/cell lead-acid; BMS floor for lithium UPS minimum DC voltage ÷ cell count [1][9]
Inverter efficiency 0.92–0.97 for modern double-conversion at full load UPS datasheet [8]
Battery room minimum temperature Coldest sustained ambient the bank will see HVAC design setpoint and failure mode [9]

The cell-count and end-of-discharge voltages interact: you want the lowest EOD the inverter window allows, because available capacity grows sharply as EOD drops — but the manufacturer's stated minimum for the discharge duration in question caps how low you may go [1][9]. Get this wrong in either direction and the bank either under-delivers its runtime or never recharges properly.

Use the constant-power method

Two calculation traditions exist. The constant-current (ampere-hour) shortcut many electricians learned goes:

C (Ah) = P_load (W) × T (h) / (V_bat (Vdc) × η_inv × K)

where K is a discharge-efficiency factor that degrades at short runtimes (roughly 0.6 for a 15-minute event) [8]. For our worked example below it gives about 1,108 Ah. It is fine for a first feasibility pass, but it hides the single most important electrochemical fact in the purchase: a battery cannot deliver its nameplate ampere-hours at high discharge rates. Discharge the same cell in 15 minutes instead of 8 hours and it surrenders a fraction of its rated capacity — the Peukert behavior that the K factor papers over with a fudge constant [9]. At short runtimes the error can reach 30% [15].

The industry-standard alternative matches the way battery manufacturers actually publish data: the constant-power (W/cell) method. Convert the load to the power each 2 V cell must deliver, apply correction factors, and select cells straight from the manufacturer's constant-power discharge table at your runtime and end-of-discharge voltage [1][2][8][9]:

W/cell = P_IT (kW) × 1000 / (N_cells × η_inv)
W/cell_corrected = W/cell × k_aging × k_temp × (1 + design margin)
Strings = W/cell_corrected / W_per_cell_from_mfr_table

For a 12 V block, the manufacturer's table is usually per 2 V cell (multiply the block value by 6 if the table is per block) [8]. This method is precise exactly where the Ah shortcut is weakest — short, high-rate discharges, which is precisely the operating regime of a 5-minute AI-bridging bank.

Apply the three correction factors

Three multipliers separate a bank that meets runtime on commissioning day from one that still meets it in year five [1][8][9]:

Factor Typical value Why
Aging (k_aging) 1.25 Lead-acid is considered end-of-life at 80% of rated capacity. Size +25% so the bank still meets runtime at EOL; in hot rooms or with frequent cycling, up to 1.43
Temperature (k_temp) 1.00–1.23 Capacity is rated at 25 °C; below that, allow roughly 0.5% per °C (IEEE 485 correction table: ≈1.11 at 15.6 °C, ≈1.225 at −20 °C)
Design margin 1.10–1.15 Headroom for load-estimation error and modest growth

Their product is the silent killer of undersized banks. For our worked example the three factors multiply to 1.25 × 1.11 × 1.10 = 1.526 — the corrected requirement is 53% larger than the naive calculation. A 100 Ah base requirement becomes ~150 Ah real [8]. Skipping the aging factor is the single most common cause of "my backup time dropped": a bank sized to bare runtime delivers only ~80% of its minutes at end of life, so a 15-minute design collapses to about 12 [9].

Temperature cuts both ways. Cold room? Derate capacity. Hot room? Capacity rises slightly — and VRLA life halves for roughly every 8–10 °C above 25 °C, so the bank you oversized for capacity is the bank you replace in half the years [14][15]. Lithium tolerates the 25–35 °C ambients of modern high-density halls far better, which is part of why AI builds favor it [15]. Fix the room's real minimum temperature before sizing, not the 25 °C datasheet ideal.

Worked example: a 1.2 MW AI training pod

Consider a containerized AI pod — the architecture our modular build guide describes — with eight GB200 NVL72 racks at 132 kW nameplate (1,056 kW) plus roughly 150 kW of network, storage, and CDU auxiliary load that also rides the UPS. Measured design load: 1,200 kW. The UPS line-up is 1,200 kVA at unity PF; the DC bus is 480 V nominal; inverter efficiency at full load is 0.94. The generator fleet is proven, so we evaluate a 15-minute VRLA bridge and 5- and 15-minute lithium options.

Step 1 — power the battery must deliver: 1,200 kW ÷ 0.94 = 1,276.6 kW. Across 240 lead-acid cells that is 5,319 W/cell base.

Step 2 — correction factors: 1.25 (aging) × 1.11 (battery room guaranteed to a 15.6 °C floor, per the IEEE 485 table) × 1.10 (design margin) = 1.526. Corrected requirement: 5,319 × 1.526 = 8,118 W/cell.

Step 3 — select strings from the constant-power table. Using an illustrative high-rate 12 V / 100 Ah VRLA block delivering ~300 W per 2 V cell for 15 minutes to 1.67 V/cell (always substitute your manufacturer's actual table):

VRLA, 15 min: 8,118 / 300 = 27.1 → 28 strings × 40 blocks = 1,120 blocks (112,000 Ah installed, ≈ 37 tonnes of batteries) VRLA, 5 min: high-rate cells at ~600 W/cell → 14 strings × 40 = 560 blocks (≈ 18.5 t) LFP, 15 min: 4C event ≈ 1.2 kW/cell → 180 kW/string of 150 cells → 1,755 kW ÷ 180 = 10 strings × 150 = 1,500 cells (≈ 480 kWh, ≈ 4.8 t) LFP, 5 min: 10C event ≈ 3.0 kW/cell → 450 kW/string → 1,755 kW ÷ 450 = 4 strings × 150 = 600 cells (≈ 192 kWh, ≈ 1.9 t)

All lithium strings are sized at load × 1.25 aging × 1.10 margin; lithium's wider temperature tolerance lets the BMS-managed pack skip the 1.11 room-temperature factor provided the room stays inside the BMS window. The result table is the whole story of modern AI power density:

Option Runtime Configuration Installed energy Approx. battery mass
High-rate VRLA 15 min 28 strings × 40 × 12V/100Ah (1,120 blocks) ~112,000 Ah bank ~37 t
High-rate VRLA 5 min 14 strings × 40 × 12V/100Ah (560 blocks) ~56,000 Ah bank ~18.5 t
LiFePO₄ 15 min 10 strings × 150 cells (1,500 cells) ~480 kWh ~4.8 t
LiFePO₄ 5 min 4 strings × 150 cells (600 cells) ~192 kWh ~1.9 t

Three lessons fall out of the table. First, runtime dominates cost: cutting 15 minutes to 5 divides the VRLA plant by 2.5. Second, chemistry changes the building: a 37-tonne VRLA plant needs a battery room with verified floor loading, ventilation, and its own fire zone; 1.9 tonnes of lithium fits in cabinets beside the UPS. Third, a 5-minute lithium event is a 10C discharge — not every cell is rated for it, so the C-rate at your exact runtime belongs in the specification, not in the footnotes [15].

Containerized power distribution cabinet with input section, branch breakers, monitoring, and modular UPS frames
Fig. 2 — Full power-distribution bay of a containerized AI pod: input section, branch distribution, monitoring, and modular UPS frames. Battery sizing starts with what this cabinet actually feeds, measured over a real training cycle — never with nameplate arithmetic.

Decide who absorbs the load steps

The 150% AI load swing raises an uncomfortable question: should the battery be sized for the peak? Run the arithmetic. Sizing the worked example's bank at the 1,800 kW worst-case step instead of 1,200 kW raises the corrected requirement from 8,118 to 12,178 W/cell — exactly 50% more battery, roughly 42 VRLA strings instead of 28 [4]. Paying that premium for a transient that lasts milliseconds is why the industry absorbs AI steps elsewhere:

  • UPS overload rating and control. Vertiv's published testing shows large frames riding 0→100% load steps without drawing the battery, provided the utility stays within nominal — the inverter's overload capacity and control loop take the leading edge [5]. Size the UPS frame and its overcurrent protection for the peak step; size the battery for the sustained load it must actually bridge.
  • Rack-level energy buffering. NVIDIA's GB300 NVL72 puts capacitors in the power shelves that charge through the troughs and discharge into the peaks, cutting grid-facing peak power by a reported 30%, while power-cap and controlled "GPU burn" features shape the ramps through nvidia-smi or Redfish [5].
  • Diversity upstream. Mixing training clusters with diverse ordinary IT loads and sharing generator plant smooths the aggregate; Uptime's modeling suggests a 10–15% margin above nominal covers regular peaks when ancillary loads are included [4].
  • Redundancy that matches the risk. Uptime recommends N+2 for concentrated AI pods, because repeated overloads land on whichever modules feed the GPU rows — two facilities with identical totals and different module assignment have completely different risk profiles [5].

But keep one foot on the brake: the runtime calculation should assume the worst case that survives contact with reality. If the generator start is delayed and the pod is at peak, a battery sized for 1,200 kW carries 1,800 kW for roughly half its rated minutes. Confirm with the manufacturer's constant-power table at the higher rate rather than assuming linearity [9].

Pick chemistry on lifecycle, not sticker price

The worked example's mass column explains why lithium has become the default for new AI builds despite higher first cost [11][14][15]:

Attribute VRLA LiFePO₄ Flywheel
Design life at ~25–30 °C 3–5 years 10–15 years 20+ years
Cycle life 300–500 cycles 3,000–6,000+ cycles effectively unlimited
Footprint vs VRLA baseline 50–80% smaller medium
Recharge slow 10–20× faster n/a (seconds of ride-through)
Monitoring string/quarterly impedance tests cell-level BMS to DCIM bearing only
Upfront cost per kWh lowest (~$150–250/kWh) ~1.5–2× VRLA high
Lifecycle cost highest (replacements) lowest over 10+ years low

Three compliance notes for the lithium path. First, fire code: LiFePO₄ systems should carry UL 9540A thermal-runaway test data, which is what lets authorities having jurisdiction relax NFPA 855's separation requirements between battery cabinets [11]. Second, charging: an existing VRLA-charged UPS needs a lithium-compatible charge profile — a lead-acid float voltage will cook a lithium pack, so confirm the rectifier's profile or add a dedicated charger when retrofitting [15]. Third, warranty: confirm it covers float service, not just cycling, and ask for an end-of-life capacity guarantee rather than a nameplate rating [15].

Do not forget the recharge

After a real discharge the battery becomes a load. Recharge current can draw up to 20% of the UPS rating for several hours, and it lands on the generator minutes after startup, while the engines are already carrying the full facility [18]. Generator sizing practice — 125% of critical load, or 150% when UPS recharge is integrated — exists precisely for this secondary spike [18]. In the worked example, a 1,200 kW pod implies roughly 240 kW of recharge demand on a generator sized around 1,500–1,800 kW. Also verify the recharge interval against site procedure: if the rectifier cannot return the bank to full charge within the allowed window, add rectifier capacity or a dedicated charger rather than accepting a partially charged bank during storm season [16].

Verify with a real discharge, then trend it

No calculation survives commissioning untested. The acceptance sequence that works:

  • Commissioning discharge test. Discharge the bank at real (or load-bank) load to the design EOD and record actual runtime, per-cell voltages, and the string's behavior under the worst-case load step. A runtime estimate is a hypothesis; the discharge test is the experiment [3][7].
  • Trend, don't snapshot. For VRLA, IEEE 1188 practice means quarterly impedance/ohmic testing, visual and torque checks, and an annual capacity test — because VRLA degrades quietly and fails under load, exactly when it is needed [3][11]. Re-measure runtime periodically: a string that delivered 6 minutes two years ago can deliver 3.5 today [18].
  • For lithium, monitor the BMS. Cell-level state-of-health data streams to DCIM over Modbus or SNMP; alarm on divergence between strings, and treat thermal-runaway protection and ventilation interlocks as acceptance items, not punch-list leftovers [11][15][16].
  • Exercise the whole chain. NFPA 110's monthly testing (minimum 30% load) and periodic full-load runs prove the generator start the battery is sized to bridge — including the cold-morning start that marginal batteries fail [6][7].

Ten questions for your UPS and battery vendor

  1. What capacity do you guarantee at end of life, not at nameplate? [15]
  2. Provide the constant-power table at my runtime and end-of-discharge voltage, per 2 V cell. [9]
  3. What is the cell C-rate at a 5-minute event, and is it rated for repeated cycling at that rate? [15]
  4. Which correction factors did you apply for aging, temperature, and margin — and at what room temperature? [1][8]
  5. Do you have UL 9540A test data for this cabinet, and what NFPA 855 separations does it relax? [11]
  6. Does the warranty cover float service, and what capacity does it guarantee at year 10? [15]
  7. For a VRLA-to-lithium retrofit, does my rectifier accept a lithium charge profile, and can float voltage be temperature-compensated or disabled? [15]
  8. How fast does the bank recharge to 90% after a full discharge, and what charger current does that require? [11]
  9. How does the BMS integrate with DCIM, and what cell-level alarms do you expose? [15]
  10. Can you demonstrate runtime under a 150% load step consistent with AI training duty, per the manufacturer's table at the higher rate? [4][5]

The mistakes that cost real runtime

  • Sizing from the UPS nameplate instead of measured load — 30–60% of the battery budget wasted [12].
  • Trusting the Ah shortcut at short runtimes and ignoring discharge rate — errors up to 30% [15].
  • No aging factor: the bank meets runtime on day one and not in year three (15 min → ~12 min at EOL) [9].
  • Sizing to the 25 °C datasheet while the room drops to 15 °C on HVAC failure [9].
  • Specifying hours of runtime for a facility whose real requirement is a 10-second generator start [6].
  • Sizing the UPS to average AI load and letting repeated 150% steps trip modules into bypass [4][5].
  • Forgetting recharge load in generator sizing — the trip happens minutes after startup [18].
  • Paralleling strings of different ages or chemistries; the old string drags the new one to its voltage floor.
  • Buying lithium without UL 9540A data or a compatible charge profile [11][15].
  • Never re-measuring runtime after commissioning [3][18].

Bottom line

UPS battery sizing for AI loads is four multiplications and one lookup table: measured kilowatts ÷ inverter efficiency, spread across cells; multiplied by aging, temperature, and margin; matched against a manufacturer's constant-power table at the runtime and end-of-discharge voltage you actually chose. The discipline is not in the arithmetic — it is in refusing to fudge the inputs: measure the load a training cycle really draws, fix the room's real minimum temperature, pick runtime from the generator's demonstrated start, and make the vendor guarantee capacity at end of life. A pod that does this buys 1.9 tonnes of lithium instead of 37 tonnes of lead, and its batteries still meet their minutes the day it matters.

Evaluating power architecture for an AI pod or a containerized data center? Request a quote and our engineers will run the sizing against your measured load profile.

References

  1. IEEE Std 485-2020 — IEEE Recommended Practice for Sizing Lead-Acid Batteries for Stationary Applications, IEEE SA.
  2. IEEE Std 1184-2006 — IEEE Guide for Batteries for Uninterruptible Power Supply Systems, IEEE SA.
  3. IEEE Std 1188-2005 — IEEE Recommended Practice for Maintenance, Testing, and Replacement of VRLA Batteries for Stationary Applications, IEEE SA.
  4. Electrical considerations with large AI compute, Uptime Institute Journal.
  5. AI Data Center UPS: The Load Step Your Compliance Test Only Ran Once, Data Center Dispatch.
  6. NFPA 110 Requirements: Complete Guide to Emergency Power System Compliance, Backup Power AI.
  7. Generator acceptance and load bank turnover for data center standby power, Anvil Field.
  8. How to Size UPS Batteries Properly: The IEEE 1184 / IEEE 485 Method, Paradyne.
  9. Battery Bank Sizing Calculator: IEEE 485 UPS & DC System Design Tool, Simulations4All.
  10. Battery/UPS Sizing per IEEE 485, IEC 62485, ECalPro.
  11. Understanding Data Center Battery Backup Systems: The Complete Engineering Guide, Leoch Lithium America.
  12. Datacenter UPS Sizing Guide, IP Security Depot.
  13. Choosing the Right UPS for Your Data Center: Load, Runtime, Battery Type, and Cost Compared, Data Center POST.
  14. Understanding UPS Systems for Data Centers: Types, Sizing, and Best Practices, RAX.
  15. Battery Application Solutions for Data Centers: Lithium UPS and Peak Shaving, China Battery Technology.
  16. UPS & Battery Energy Storage for AI Halls: Ride-Through for Spiky GPU Loads, Leviathan Systems.
  17. Why Your AI Data Center Needs K-20 Transformers (Not K-13), QT&E.
  18. Data Center Emergency Power Checklist: 2026 Guide, DataCenterFuels.