The traditional battery current and voltage, and hence state of charge, is managed by a simple analog to digital conversion. There are scaling factors that mean you may not be getting the full energy out of your battery. In addition different batteries have different internal resistances, and react differently to temperature changes. For example, you won't get the same energy out of a battery that is operated in the cold. Some systems exist even to warm up a battery to an optimal temperature.