What battery bank sizing actually decides
Sizing a battery bank is an energy-balance problem, not a current problem. You are answering one question: how much energy must sit in storage so the loads keep running for the longest plausible stretch without useful charging, without taking the battery deeper than its chemistry tolerates?
Everything else follows from that. The amp-hour number people quote is simply that energy divided by the bus voltage, which is why a 400 Ah bank at 48 V holds four times the energy of a 400 Ah bank at 12 V. Amp-hours are meaningless without the voltage attached, and comparing a 12 V product against a 48 V product on amp-hours alone is the most common way people buy the wrong bank.
Three numbers drive the answer, and each of them is a decision rather than a measurement. Daily energy is what your loads consume in 24 hours; you can build it up from appliance nameplates, or read it off a shunt-based battery monitor after a week of normal living, which is far more accurate. Days of autonomy is your tolerance for a dark, still week: off-grid solar systems in cloudy climates are commonly built at two to three days, while a grid-tied backup system that only has to cover an evening outage may need half a day. Depth of discharge is the trade you make between capacity and cycle life; every cycle you take deeper costs cycles at the far end of the battery's life.
Once you know the energy, module count falls out of arithmetic. Series strings set the voltage, parallel strings set the capacity, and the calculator rounds up to whole modules because you cannot buy 3.47 batteries.
The formula, term by term
Start at the load and work backwards toward the cells, because every loss between the two has to be paid for out of stored energy.
The numerator is the energy the loads want. Daily watt-hours multiplied by days of autonomy. If you run 6 kWh a day and want two days, the loads want 12 kWh at the AC outlet.
Efficiency divides, it does not multiply. An inverter that is 92% efficient does not deliver 92% of the battery's energy as a bonus; it means the battery must give up 12 kWh ÷ 0.92 = 13.04 kWh for the loads to receive 12 kWh. Round-trip battery efficiency stacks on top of that: dividing by it as well sizes the bank for the energy you must put back, not merely the energy you take out. Setting the round-trip term to 100% therefore gives the smaller, withdrawal-only bank; leaving it at the battery's rated figure gives the larger one. Since only part of the round-trip loss occurs on discharge, the withdrawal-only figure is the sharper number and the full round-trip figure carries the margin — at 96% the two differ by 4%.
The denominator converts energy into amp-hours you can actually use. Nominal capacity is not usable capacity. A 100 Ah lead-acid battery at 12 V holds 1.2 kWh nominal, but at a 50% depth of discharge only 0.6 kWh of that is yours. So you divide by the bus voltage multiplied by the depth of discharge, giving a smaller number of usable volt-amp-hours per nominal amp-hour, and therefore a larger bank.
Rounding is always upward. Series count is the bus voltage divided by the module voltage — four 12 V modules make a 48 V string. Parallel strings are the required capacity divided by module capacity, rounded up. Because both round up, the installed bank is almost always larger than the calculated requirement, and the calculator reports both so you can see the headroom you bought.
Worked example: a 6 kWh/day cabin at 48 volts
A small off-grid cabin measures 6 kWh a day on its battery monitor. The owner wants two days of autonomy, runs LiFePO4 at 80% depth of discharge on a 48 V bus, and has a 90% efficient inverter. The batteries are 100 Ah, 12 V modules at $300 each. Work it through:
- Daily energy in watt-hours. 6 kWh × 1,000 = 6,000 Wh.
- Multiply by autonomy. 6,000 × 2 = 12,000 Wh the loads must receive.
- Divide by efficiency. 12,000 ÷ 0.90 = 13,333.3 Wh withdrawn from the bank.
- Usable volts per nominal amp-hour. 48 V × 0.80 = 38.4 V.
- Required nominal capacity. 13,333.3 ÷ 38.4 = 347.2 Ah at 48 V.
- Series count. 48 ÷ 12 = 4 modules per string.
- Parallel strings. 347.2 ÷ 100 = 3.47, rounded up to 4 strings.
- Modules and cost. 4 × 4 = 16 batteries, at $300 each = $4,800.
The installed bank is 400 Ah rather than 347.2 Ah, so it holds 400 × 48 ÷ 1,000 = 19.2 kWh nominal and 19.2 × 0.80 = 15.36 kWh usable — against the 13.33 kWh the calculation demanded, or roughly 2.3 days of autonomy instead of 2.0.
Now change one thing. Drop the depth of discharge to 50%, as you would for AGM: the denominator becomes 48 × 0.50 = 24 V, so the requirement rises to 13,333.3 ÷ 24 = 555.6 Ah, which is 6 strings and 24 modules. The chemistry choice, not the load, moved the bank by half again.
How to read the result
The usable kWh figure is the one to sanity-check first. Divide it by your daily energy: that quotient is your real autonomy in days, after rounding up to whole modules. If it comes out far above the days you asked for, you are paying for capacity you did not specify, and a smaller module size may fit your requirement more tightly.
Check the charge current the bank will need, not just the discharge. A bank of this size has to be refilled. As a working rule, lead-acid banks want a charge current of roughly 10-20% of their amp-hour rating, and LiFePO4 tolerates far more; a 400 Ah bank at 48 V therefore wants somewhere near 40-80 A of charge current, which is 40 × 48 = 1.9 kW to 80 × 48 = 3.8 kW arriving at the battery terminals, and more than that in array nameplate once conversion and weather losses are allowed for. Size the solar array against that requirement as well as against the daily energy, or the bank will never come back to full on short winter days.
Look at the current on the DC side. A 3 kW inverter at 12 V draws around 280 A at full output; the same inverter at 48 V draws around 70 A. That difference decides your cable size, your fuse ratings and your terminal hardware, and it is why anything above roughly 2 kW of continuous load belongs on a 48 V bus. Run the numbers through the voltage drop calculator and the wire size calculator before you commit to a bus voltage.
Treat the module count as a wiring plan. Series count sets voltage and must land exactly on the bus voltage; parallel count sets capacity and can be anything. Strings must be identical in age, chemistry and capacity, and each string wants its own fuse.
Required capacity by daily load and bus voltage
| Daily load | 12 V bus | 24 V bus | 48 V bus | Energy from bank |
|---|---|---|---|---|
| 2 kWh/day | 463 Ah | 231 Ah | 116 Ah | 4.44 kWh |
| 4 kWh/day | 926 Ah | 463 Ah | 231 Ah | 8.89 kWh |
| 6 kWh/day | 1,389 Ah | 694 Ah | 347 Ah | 13.33 kWh |
| 8 kWh/day | 1,852 Ah | 926 Ah | 463 Ah | 17.78 kWh |
| 10 kWh/day | 2,315 Ah | 1,157 Ah | 579 Ah | 22.22 kWh |
| 12 kWh/day | 2,778 Ah | 1,389 Ah | 694 Ah | 26.67 kWh |
The energy column is identical across the three voltage columns in the same row — the bank stores the same joules either way. Only the amp-hour label changes, because amp-hours are energy divided by volts.
Mistakes that leave a bank short
- Sizing on nameplate watts instead of measured energy. A 1,500 W kettle used for four minutes a day is 100 Wh, not 1,500 Wh. Estimate in watt-hours, and confirm with a shunt monitor over a full week before you buy.
- Forgetting the standby draw. An inverter left on all night, a router, a fridge control board and a battery management system can add several hundred watt-hours a day between them. That parasitic load is present on exactly the cloudy days when the bank is already stressed.
- Ignoring temperature. Lead-acid capacity falls sharply as the battery gets cold: manufacturers publish capacity-versus-temperature curves for a reason. An unheated garage bank in a northern winter delivers meaningfully less than its rated capacity, and the sizing calculation above assumes the rating holds.
- Discharging faster than the rating assumes. Amp-hour ratings are quoted at a specific hour rate — commonly the 20-hour rate for lead-acid. Draw the bank down in four hours instead of twenty and lead-acid delivers less total capacity. The battery runtime calculator applies the Peukert relation to quantify that.
- Mixing old and new modules in parallel. Strings share current in proportion to their internal resistance. A tired string drags the whole bank toward its own state of health, so expand a bank by replacing it, not by bolting a new string onto an aging one.
- Sizing storage without sizing charging. A bank that never returns to 100% state of charge sulfates (lead-acid) or drifts out of cell balance (lithium). Autonomy days assume the sun eventually comes back and refills the bank at a healthy rate.
Where the codes and standards apply
Two documents govern most of what you build around this number. IEEE 1013, Recommended Practice for Sizing Lead-Acid Batteries for Stand-Alone Photovoltaic Systems, sets out the same energy-balance method used here and adds design margins for temperature and end-of-life capacity fade. IEEE 485 covers the equivalent calculation for stationary standby applications.
On the installation side, NEC Article 706 covers energy storage systems, including disconnecting means, overcurrent protection and working space, and Article 480 covers stationary storage batteries. Lithium systems also need a listed battery management system; many jurisdictions require the assembly to be listed to UL 9540 for a permit. Confirm which edition your authority having jurisdiction has adopted before you specify hardware — adoption lags publication by years in many states.
Lead-acid, lithium, and choosing between them on this number
The calculator does not ask which chemistry you are using, because chemistry enters only through the three numbers you already gave it: depth of discharge, round-trip efficiency, and module capacity. That framing makes the comparison honest.
For the same 13.33 kWh withdrawal at 48 V, a LiFePO4 bank at 80% depth of discharge needs 347 Ah nominal, while an AGM bank at 50% needs 556 Ah. The lithium bank is also lighter, accepts far higher charge current, and holds its capacity better in the cold. Against that, its price per nominal amp-hour is higher, and it needs a battery management system and a charge profile matched to it.
The useful comparison is cost per usable kWh over the bank's cycle life, not price per amp-hour. Multiply usable kWh by the manufacturer's rated cycles at your chosen depth of discharge, then divide the bank cost by that total energy throughput. A bank rated for 3,000 cycles at 80% depth of discharge delivers far more lifetime energy than one rated for 500 cycles at 50%, even when the sticker price looks worse.
Once you have the bank, size the rest of the system around it. The array sizing calculator tells you how much PV is needed to refill it, the generator sizing calculator covers the backup charger or the standby set that carries you through a long overcast spell, and the appliance energy cost calculator is the fastest way to find which load is quietly driving your daily kWh up.
Key terms
- Nominal capacity
- The amp-hour rating printed on the battery, measured at a specified discharge rate and temperature. It is a laboratory figure, not a promise about your installation.
- Depth of discharge (DoD)
- The fraction of nominal capacity removed before recharging. State of charge is its complement: 80% DoD leaves 20% state of charge.
- Days of autonomy
- The number of consecutive days the bank must carry the load with no meaningful charging input. It is a design choice about acceptable risk, not a weather statistic.
- Round-trip efficiency
- Energy recovered from the battery divided by energy put into it over a complete cycle. The shortfall becomes heat during charge and discharge.
- Series string
- Modules wired positive-to-negative so their voltages add. Four 12 V modules in series make a 48 V string at the same amp-hour rating as one module.
