There is a fuel gauge in a car, and there is a percentage on a battery, and people read them the same way. The fuel gauge is at least looking at something: a float on an arm, sitting in an actual volume of actual liquid. It is crude and it sloshes, but there is a physical quantity on the other end of the wire.
A lithium battery has no float. There is no way to look inside a sealed cell and see how much charge is left in it. So the number has to be inferred, and the inference is simpler than most people would guess.
The fraction
State of charge is charge remaining divided by charge capacity. The standard way to track the top of that fraction is Coulomb counting: measure the current flowing in or out, multiply by the time step, add it to a running total. That is the whole method. A detailed analysis of it, from the University of Windsor, puts the mechanics plainly:
Coulomb counting methods employ a simple, rectangular approximation for current integration.
Rectangular, meaning the current is treated as constant across each sampling interval. When the load changes fast between samples, the rectangles are the wrong size, and the error goes into the sum and stays there.
The bottom of the fraction is where it gets philosophically interesting. The denominator is the battery's capacity, and capacity is not something the pack re-measures as it ages. The Department of Energy's storage handbook chapter on performance testing, written at Sandia, says so directly:
The rated capacity should be provided by the manufacturer, or it is established at the BOL and remains fixed during life aging.
BOL is beginning of life. So a battery that has genuinely lost eight percent of its usable capacity is still dividing by the number it had when it left the factory, unless some separate state-of-health routine has updated it. The percentage can be perfectly self-consistent and still describe a battery that no longer exists.
And 100 percent is a procedure, not a fact
The same chapter is unusually candid about the top of the scale, and this is the sentence I would put on a poster:
At the end of the manufacturer's specified charging procedure the battery is defined to be at 100% state-of-charge (SOC).
Defined. Not measured, not detected. You charge at constant current until you hit the maximum operational voltage, switch to constant voltage, hold it while the current tapers, and when the taper current drops below a threshold somebody chose, the system declares full. Move the threshold and you move 100 percent. The handbook also notes that a manufacturer can specify a voltage range corresponding to a given design life rather than the maximum and minimum safe voltages for the chemistry, which means the ends of the scale are partly a warranty decision.
This is not a scandal and it is not sloppy engineering. Every practical scale has to be anchored to a repeatable procedure. The point is that "100 percent" is a convention about a procedure, the way sea level is a convention, and that the number is therefore only as portable as the procedure behind it.
Four ways the number drifts, in two shapes
The interesting contribution of the Coulomb-counting analysis is that it sorts the errors by how they grow, not just by where they come from. Four sources: current measurement error, current integration error, uncertainty in the battery capacity, and the timing oscillator.
That last one is the one that stops people. The integration needs a clock, and the clock is a real oscillator with a real tolerance:
Timing oscillator provides the clock for (recursive) SOC update, i.e., the measure of time comes from the timing oscillator.
Amp-hours are amps times hours. If the hours are slightly wrong, the amp-hours are slightly wrong, forever, in the same direction. The paper's conclusion sorts all four:
It was shown that the state of charge error due to current measurement error and current integration error grow with time whereas the state of charge error due to battery capacity uncertainty and timing oscillator error are proportional to the accumulated state of charge that ranges between 0 and 1.
Two different shapes, and they matter differently. The time-cumulative pair keeps growing whether or not you use the battery, and the authors say it flatly: those errors have the potential to completely invalidate the estimate in the long run. The proportional pair reaches its worst value within a single charge or discharge and then resets, which is a much friendlier failure mode.
The capacity term is the one with a number attached in their simulations. They take a true capacity of 1.5 Ah and give the estimator a capacity drawn around it with a standard deviation of 0.1 Ah, which is a reasonable stand-in for not knowing your own pack to better than a few percent, and the resulting SOC error accumulates in proportion to how much charge has moved.
Why it usually looks fine anyway
If the method drifts this much, why does your battery app not obviously lie to you?
Because nobody runs open-loop Coulomb counting alone. Real systems fuse it with voltage. The same paper writes the fused model as a process equation, which is the Coulomb-counting sum, plus a measurement equation built on an open-circuit-voltage-to-SOC curve with a voltage-drop term. Every time the pack rests, or hits the top of a charge, or hits the bottom of a discharge, the voltage gives the estimator a chance to re-anchor and throw away the accumulated drift.
Which tells you exactly where the estimate is weakest, and this next step is my inference rather than a quoted finding: the voltage anchor carries information only where voltage actually varies with state of charge. In the flat middle of a discharge curve the measurement equation is nearly uninformative, so the estimator is running mostly on the integral, which is the part that drifts. A battery that is cycled shallowly around the middle of its range and rarely taken to either end is a battery whose percentage has had few opportunities to be corrected.
What the people who test batteries for a living actually do
Here is the tell. The DOE protocol for measuring storage performance, published jointly by Pacific Northwest and Sandia, has to decide what to trust. It defines the quantity it cares about in physical terms:
The amount of electric or thermal energy capable of being stored by an ESS, expressed as the product of the rated power of the ESS and the discharge time at rated power.
Power times time. Measured at the terminals, with instruments, during a stored-energy test that charges the system to its upper limit and discharges it at rated power to its lower limit while recording energy directly. The percentage is not the measurement. The percentage is a witness:
For electrical ESSs, the SOC as reported by the battery management system or the flywheel management system shall also be recorded.
Also recorded. The protocol writes the BMS number down alongside the metered result, uses it to bound where the test started and stopped, and reports how far the system wandered during a duty cycle. Nowhere in the reference performance tests is there a procedure that grades the percentage itself for accuracy. The document's own foreword explains why it kept the term at all: SOC was retained because it is what the battery management system relies on in controlling the system. It is a control variable that the operator needs to see, not a metrological claim.
That is the honest hierarchy, and it is worth carrying around. Energy is measured. State of charge is inferred, reported, and logged.
Why this beat cares
I help design the AI battery-cycling systems for a veteran-owned (HUBZone) energy-storage integrator. I do not own that company and earn nothing from this link. Full policy here.
Every cycling policy I have ever seen is written in units of state of charge. Hold between 20 and 80. Do not sit at 100. Discharge to 10 for the peak event. Those rules are good rules, and every one of them is expressed in the one quantity on the system that is an estimate rather than a reading. A policy that says "stop at 20 percent" is really saying "stop when the estimator believes it is at 20 percent," and the gap between those two sentences is the drift.
It shows up in two places that cost money. First, reserve margin: if you are holding back capacity for a backup event, you are holding back a percentage, and a percentage that reads high when the pack is actually lower is exactly the error you cannot afford during an outage. Second, throughput accounting, which I wrote about in Report 144, because warranty limits are often denominated in energy moved, and energy moved is computed from the same integral that drifts.
The engineering answer is not clever software. It is arranging for the system to visit a place where it can re-anchor, often enough that the drift never gets old, and treating a rest-and-recalibrate as a maintenance task rather than an inconvenience. Related reading in this beat: Report 047 on what an efficiency number omits, and Report 036 on what actually degrades these cells.
What I could not confirm
One of my three sources is a preprint, and I am flagging it rather than burying it. The Coulomb-counting analysis I quote is arXiv:2101.05435 version 1, dated 14 January 2021, which I downloaded and read in full. A journal version exists: Crossref records it as Movassagh, Raihan, Balasingam and Pattipati, "A Critical Look at Coulomb Counting Approach for State of Charge Estimation in Batteries," Energies 14(14):4074, 6 July 2021, DOI 10.3390/en14144074, with an author added relative to the preprint. That version is open access, but the publisher's servers refused every request I made, so I could not open it. The title changed between the two, which usually means the text did as well. Every quotation above is from the preprint, and if the published version revised any of it, the published version governs.
The figure-based numbers are described, not quoted. The preprint plots SOC error growth against time for its Monte Carlo runs. I have given the simulation's stated inputs, a true capacity of 1.5 Ah and a capacity uncertainty standard deviation of 0.1 Ah, because those appear in the text. I have not quoted an error magnitude off a plot axis, because reading a number off a figure is not the same as being told it.
The flat-curve argument is mine. The claim that the voltage anchor is weakest in the middle of the discharge curve follows from the structure of the fused model in the cited paper, but I did not open a source that measures open-circuit-voltage flatness for any specific chemistry, so treat it as reasoning from the model rather than a reported result. It is the part of this report I would most want checked.
Scope. I did not open the USABC Battery Test Manual for Electric Vehicles, which both Sandia documents cite and which contains the underlying cell-level procedures. I did not review any manufacturer's BMS documentation, and I make no claim about the accuracy any particular product achieves. There is a large literature on Kalman-filter and machine-learning state estimators that I have not surveyed here; this report is about what the base quantity is, not about which estimator is best. My own published research is in microwave spectroscopy and has nothing to do with battery state estimation.
The signal
When a spec sheet, a controller setting, or an app gives you a state of charge, ask two questions. Against what capacity, and when was it last anchored.
If the answer to the first is "the nameplate," the percentage is being measured against a battery that no longer exists. If the answer to the second is "a while ago," the integral has been running unsupervised. Neither makes the number useless. Both make it a different kind of number than a meter reading, and the national labs, who have to publish results other people will rely on, meter the energy and merely record the percentage. That ordering is the whole lesson.
Sources
- David Rosewater and David Schoenwald (Sandia National Laboratories), "Energy Storage Performance Testing," Chapter 16, DOE Energy Storage Handbook. (PRIMARY, full 27-page PDF opened and read locally. Source for: the definition of 100% SOC at the end of the manufacturer's specified charging procedure, quoted verbatim; the statement that rated capacity is supplied by the manufacturer or established at beginning of life and remains fixed during life aging, quoted verbatim; the note that a manufacturer may specify a voltage range corresponding to a design life rather than the chemistry's maximum and minimum safe voltages; the constant-current / constant-voltage / taper charging procedure and the threshold that ends the taper stage; the definition of rated capacity as charge supplied at a C/3 rate between manufacturer-defined voltages; and the description of discharge capacity as the integral of current over time in ampere-hours and discharge energy capacity as the integral of current times voltage in watt-hours.)
- DR Conover, SR Ferreira, AJ Crawford, DA Schoenwald, J Fuller, DM Rosewater, SN Gourisetti and V Viswanathan, "Protocol for Uniformly Measuring and Expressing the Performance of Energy Storage Systems," PNNL-22010 Rev 2 / SAND2016-3078 R, Pacific Northwest National Laboratory and Sandia National Laboratories, prepared for the U.S. Department of Energy Office of Electricity Delivery and Energy Reliability, April 2016. (PRIMARY, full 101-page PDF opened and read locally. Source for: the definition of Stored Energy as the product of rated power and discharge time at rated power, quoted verbatim; the stored-energy test procedure in Section 5.2.1, including charging to the manufacturer's upper SOC limit and constant-power discharge to the lower limit with charge and discharge energy measured directly; the instruction that the BMS-reported SOC shall also be recorded, quoted verbatim; the State-of-Charge Excursions metric in Section 5.4.3, which reports the highest and lowest SOC reached during a duty cycle; and the foreword's explanation that SOC was retained as the term because it is what the battery management system relies on in controlling the system. Checked specifically for a test that grades BMS SOC accuracy against a metered reference; the reference performance tests in Section 5.2 contain none.)
- Kiarash Movassagh, Sheikh Arif Raihan and Balakumar Balasingam (Department of Electrical and Computer Engineering, University of Windsor), "A Critical Look at Coulomb Counting Towards Improving the Kalman Filter Based State of Charge Tracking Algorithms in Rechargeable Batteries," arXiv:2101.05435, version 1, 14 January 2021. (PREPRINT, full 16-page PDF opened and read locally, and pinned to version 1. Source for: the four enumerated error sources; the rectangular-approximation description of current integration, quoted verbatim; the timing-oscillator sentence, quoted verbatim; the statement that Coulomb counting assumes perfect knowledge of a capacity known to vary with temperature, usage and age; the conclusion sorting the four errors into time-cumulative and state-of-charge-proportional types, quoted verbatim; the fused process-and-measurement model built on an open-circuit-voltage-to-SOC curve; and the Monte Carlo setup with a true capacity of 1.5 Ah and a capacity-estimate standard deviation of 0.1 Ah over 1,000 runs. A peer-reviewed version was published as Energies 14(14):4074, DOI 10.3390/en14144074, 6 July 2021, under a different title and with Krishna Pattipati added as a fourth author; that version was verified to exist via the Crossref metadata API but the publisher blocked every attempt to retrieve it, so it was NOT read and nothing here is quoted from it. Version 1 of the preprint carries three authors, all at Windsor, and states on its first page that it was submitted to IEEE Transactions on Control Systems Technology in January 2021.)
- Onur Oncer, "When a battery warranty actually ends," The Signal Report 144; "What a battery's efficiency number leaves out," The Signal Report 047; and "What actually kills a grid battery," The Signal Report 036. (Earlier reports in this beat on throughput-denominated warranty limits, on what a round-trip efficiency figure omits, and on degradation mechanisms.)
Scope note: this report describes what the state-of-charge quantity is and how two U.S. national-laboratory test documents treat it. It is not an assessment of any manufacturer's battery management system, makes no claim about the accuracy any specific product achieves, and is not a recommendation for or against any product. One of the three cited sources is a preprint and is labelled as such above. Disclosure: the author helps design AI battery-cycling systems for a veteran-owned energy-storage integrator, as stated in the body of this report, and does not own that company.
Onur Oncer
U.S. Army combat veteran (Counter-IED / Electronic Warfare), peer-reviewed researcher in microwave spectroscopy, and founder & CEO of Shroombiosis. Consults on laboratory operations, AI, and supplement formulation.