Under load, the battery voltage no longer represents state of charge. Instead, it becomes a function of several interacting variables:
- Load current
- Battery internal resistance (which increases with age)
- Temperature
- Battery chemistry and construction (flooded / AGM / GEL)
- Recent charge or discharge history
Because of this, simply measuring battery voltage while current is flowing tells us almost nothing about remaining charge. The same battery can show wildly different voltages at the same SOC depending on the load.
For example:
- A healthy 12.6 V battery may drop to 12.1 V at 2 A
- The same battery may drop to 11.6 V at 10 A
- Neither of these voltages means the battery is “50%” or “empty” it just means the battery is supplying current
This voltage drop is mostly due to internal resistance, not depletion of charge.
Why APC UPS (and other UPS manufacturers) don’t rely on voltage under load
APC UPS units do not attempt to calculate SOC directly from voltage under load. Instead, they solve a different problem:
“How long can this battery power the current load?”
This is a much more useful and achievable goal.
To do this, APC UPS systems use a battery runtime model, not a voltage-to-SOC lookup table.
What APC UPS actually measures
During operation, an APC UPS continuously measures:
- Battery voltage under load
- Battery discharge current
- Load power (watts)
- Battery temperature
- Historical battery data (age, self-test results)
From these inputs, the UPS estimates remaining runtime, not true SOC.
Runtime estimation instead of SOC
UPS vendors care about runtime, because that is what the user needs to know during a power failure.
Internally, the UPS uses:
- A known battery capacity (Ah)
- A discharge model that accounts for Peukert’s law (lead-acid batteries deliver less usable capacity at higher currents)
- Measured internal resistance (from periodic self-tests)
- Temperature compensation
As the load changes, the UPS dynamically recalculates:
Estimated runtime = f(load power, discharge current, temperature, battery health)
This is why the “remaining time” display on a UPS changes when you plug in or unplug devices.
Battery self-tests and internal resistance tracking
APC UPS units periodically perform self-tests, briefly running on battery while measuring:
- Voltage sag
- Recovery behavior
- Discharge current
From this, they estimate internal resistance. As batteries age, internal resistance rises, causing:
- Larger voltage drops under load
- Shorter runtime
When the UPS detects that the modeled runtime no longer matches expectations, it flags “Replace Battery” — often long before the battery completely fails.
Why APC still shows “battery percentage” in some models
When APC shows a “battery %” indicator, it is not a pure SOC measurement.
It is usually:
- A normalized representation of remaining runtime
- Or a hybrid value derived from coulomb counting + voltage + model correction
In other words:
That percentage answers “how much usable energy remains for this load,” not “how chemically full is the battery.”