What Is Depth of Discharge and Why It Decides Your Battery Warranty
A procurement manager in South Africa is comparing two 10 kWh wall-mount batteries for the same installer network. One datasheet promises 6,000 cycles at 80% DOD. The other promises 4,000 cycles at 100% DOD. Both brands claim to be “the longest-lasting battery on the market.” The manager has no idea which one actually lasts longer, because the answer is hiding inside a three-letter abbreviation neither sales rep bothered to explain.
Depth of discharge – DOD – is the percentage of a battery’s stored energy you use before recharging it. Discharge a 10 kWh pack down to 5 kWh remaining and you’ve used 50% DOD. Run it until the BMS cuts off and you’ve hit 100% DOD. It sounds like a definition, but it’s actually the single most important number on the datasheet, because it sets the cycle life, the usable capacity and the warranty terms all at once.
This article explains what DOD really is, gives you the numbers that decide how deep you should discharge, and shows you how a serious OEM/ODM partner uses DOD to tune a battery for your market.
The Number That Sets Cycle Life – How DOD Works at the Cell Level
DOD and state of charge (SOC) are two sides of the same coin. A battery at 30% SOC has been discharged to 70% DOD. The BMS tracks both, but the one that matters for longevity is DOD, because every discharge cycle wears the cell chemistry a little, and deeper discharges wear it faster.
Take a grade-A LFP prismatic cell with a 3.2V nominal voltage and a 2.5–3.65V operating window. Discharging to 2.5V per cell is 100% DOD. At 0.5C and 25°C, that cell typically delivers 4,000–6,000 cycles before it drops to 80% of original capacity. Now limit the same cell to 80% DOD – stop at 3.2V instead of 2.5V – and the cycle count climbs to roughly 6,000–8,000. Cut it to 50% DOD and you’re looking at 10,000 cycles or more.
You’ll also notice how close 3.25V and 3.2V are. The LFP discharge curve is so flat between 3.3V and 3.2V that voltage alone can’t tell you the DOD – which is why the BMS counts coulombs instead of just watching voltage. A cheap BMS that guesses DOD from voltage will drift, and the drift shows up as premature cutoffs or over-discharge in the field.
Here’s the counter-intuitive part. A 10 kWh pack cycled at 100% DOD for 5,000 cycles delivers about 50,000 kWh over its life. The same pack cycled at 50% DOD for 12,000 cycles delivers 60,000 kWh – 20% more total energy from the same hardware, just by discharging it half as deep each time. Depth of discharge doesn’t just change how many cycles you get; it changes how much total energy the pack will ever move.
That’s why the two datasheets in the opening can’t be compared directly. 6,000 cycles at 80% DOD and 4,000 cycles at 100% DOD are the same cell, tested under different rules. The first battery will actually deliver more total kilowatt-hours over its life.
What a Real OEM/ODM Partner Does With DOD
A trading company prints whatever DOD number the cell supplier gave them. A manufacturer treats DOD as a design decision, because it is one.
The DOD limit lives in the BMS firmware, not in the hardware. A genuine OEM/ODM partner will set the discharge cutoff voltage to match your market – 2.5V per cell for a 100% DOD product aimed at backup power, 3.2V for an 80% DOD product aimed at daily self-consumption – and they’ll tune the low-voltage warning thresholds to match. The same pack, the same cells, two different products, separated by a firmware parameter.
They’ll also align the warranty with the DOD setting. A serious manufacturer writes the warranty as a set of conditions – for example, 10 years or 6,000 cycles at 80% DOD, 0.5C, 25°C ambient – and they’ll tell you exactly what happens to the warranty if your installers run the pack deeper. If your market needs 100% DOD, they’ll spec a larger pack so the customer still gets the usable kilowatt-hours they paid for, instead of quietly voiding the warranty.
And they’ll handle the white-label side without blinking: your brand on the label, your connector variant, your firmware defaults, MOQ flexibility and sample lead times measured in weeks, not quarters. DOD is one of the parameters you get to own when you work with the factory directly.
50% vs 80% vs 100% DOD – The Decision Matrix
Here is the comparison that matters for a 10 kWh LFP residential pack, using grade-A cells at 0.5C and 25°C.
| స్పెసిఫికేషన్ | cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits | cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits | cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits |
|---|---|---|---|
| cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits | 5 కిలోవాట్ గంటలు | cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits | 10 కిలోవాట్ గంట |
| cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits | 10,000+ | cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits | 4,000–6,000 |
| cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits | cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits | cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits | cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits |
| cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits | cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits | cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits | cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits |
| ఉత్తమంగా సరిపోతుందని | cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits | cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits | cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits |
| cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits | cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits | ప్రామాణికం | cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits |
cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits.
cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits
- cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits. cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits.
- cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits. cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits.
- cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits. cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits.
- cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits. cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits.
cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits
cURL Too many subrequests by single Worker invocation. To configure this limit, refer to https://developers.cloudflare.com/workers/wrangler/configuration/#limits
Depth of discharge is not a spec to skim. It’s the number that sets your cycle life, your usable capacity and your warranty exposure in one stroke. Get it right and you sell a battery that delivers what the datasheet promises. Get it wrong and you’re fielding warranty claims in year three.
If you’re sourcing residential storage at volume, send us your daily load profile, your target warranty period and your market’s peak ambient temperature, and we’ll return a DOD recommendation with the cycle-life test conditions and warranty terms named in full within 24 hours.


