The Warranty Cost Hiding in Your Battery Pack TCO Model
Warranty is a landed-cost line item, not a footnote, and it gets computed the same way cells and freight do: expected field failure rate multiplied by the fully burdened cost of one replacement — the pack itself, return freight with dangerous-goods handling, inbound test and triage, scrap or disposal, and the administrative labor to process the claim — then multiplied across expected unit volume, and re-run at three different failure rates to see whether the supplier ranking flips. If the ranking doesn't move, the warranty assumption is decoration. If it moves, you just found the money.
I keep two quote packages open on my second monitor when I do this, and the thing I look at first is never the unit price. It's the warranty page. Supplier A will have a lower piece price, a shorter lead time, and a line that says "3 years" in the same font as everything else on the sheet. That phrase is doing an enormous amount of quiet work. Three years of what, at what failure rate, paid by whom, and shipped back how?
Asking the question the quote doesn't answer
The last time I ran this, the rep told me the field return rate was "under one percent." I asked under one percent of what, measured over what window, with what denominator, and how many of those returns tested good. He didn't have it. He was repeating a number off a slide his company shows to everyone.
So I asked for it in a form I could actually use: returns per thousand units per year, for two or three comparable programs, broken out by failure mode, with the denominator stated. One supplier sent a spreadsheet. The other sent a certificate of quality management system registration, which is not the same document.
That asymmetry told me more than either price did. A supplier who has run a program long enough to have field data generally knows where the data lives. A supplier who hasn't will hand you paperwork about their process instead of their outcomes.
Where the failure rate should come from
Three sources, in descending order of trust. Your own prior programs, if you've shipped anything similar. Supplier field return history with a stated denominator and a real program name behind it. Published reliability data for the cell chemistry and format, which is better than nothing but usually describes cells in conditions your pack will never see.
What you cannot do is take "under one percent" at face value. For a three-year warranty the number has to be cumulative, not annual. A constant 0.7 percent annual rate compounds to about 2 percent over three years. Suppliers quote the annual figure because it's smaller, and buyers accept it because the cell in the spreadsheet stays round.
The shape of the curve matters too. Infant mortality in the first ninety days is a separate animal from wear-out in months 30 through 36, and they get paid from different places. Early failures usually trace to assembly, weld quality, contamination, or a BMS setting, and they show up as dead-on-arrival claims you eat before you've even shipped a full quarter. Late failures trace to cell aging and show up as capacity claims. If your model uses one flat rate for the whole term, you'll under-reserve for one and over-reserve for the other.
The return leg costs money even when the pack is free
This is the part that gets dropped from quote comparisons almost every time. A failed lithium-ion pack doesn't come back by regular ground parcel with a prepaid label and a smile.
It comes back as Class 9 dangerous goods, which means declared freight, often a specific state of charge, packaging that meets the packing instruction, and a carrier who will actually accept it. Damaged or defective packs can be harder to ship than new ones. On a small volume you may be paying per-shipment rates that have nothing to do with your inbound freight lane, and the return is going to a different address than the one your forward logistics was negotiated for.
Then it lands. Somebody has to receive it, log it, quarantine it, and test it. Test benches and technicians aren't free, and neither is the engineer who gets pulled into a failure analysis. Then there's disposition: repair, scrap, or ship back to the supplier. Scrap of a lithium pack is a disposal cost, not a zero. It has a recycling or regulated-waste pathway attached, and the paperwork is real.
And here's the piece I wish more buyers modeled: not every return is a failure. No-fault-found returns are a genuine, sometimes large share of what comes back — a customer's host device failed, the connector wore, the installer miswired the harness, the firmware cut off early and the pack got blamed. You pay the entire return leg, the test time, and the restock on those, and the pack goes back into inventory with a new label. Model them at zero and your reserve will look great right up until finance asks why it keeps getting revised upward.
Nobody in the supplier's quote will price the return leg for you. You build that number yourself.
Building the line in the worksheet
I put it in as its own block, below freight and above the margin row, so it can't hide inside an overhead percentage.
Start with units you expect to ship over the warranty period, not units you expect to sell in year one. Multiply by expected failure rate. That's your expected claim count. Then stack the burdened cost of a single claim: replacement pack at the price you'll actually pay in year two or three, not today, because spare pack pricing usually isn't the same as production pricing and often carries a minimum order quantity. Add outbound replacement freight, inbound return freight with the dangerous-goods surcharge, receiving and test labor, failure analysis time, disposal, and a flat allowance per claim for the administrative handling — RMA issuance, customer communication, credits, and the accounting entry.
Do the same for the no-fault-found bucket, minus the replacement pack, and you'll see how much of your warranty spend is actually logistics and labor rather than hardware.
Why the ranking moves
Run it with your own numbers and watch what happens. Suppose you're shipping 10,000 units. At 0.8 percent returns you're looking at 80 claims. At 2.5 percent you're at 250. That's 170 extra claim cycles. Multiply by your burdened per-claim cost and the gap between the two suppliers is no longer a rounding error on the piece price — it can be larger than the entire price difference that made supplier A look like the obvious award.
I do this at three rates: a low case from the supplier's own best program, a middle case from a comparable program, and a high case that's roughly what the chemistry and the pack architecture suggest when the supplier has no field data at all. Then I look at which supplier wins in each column. If the same supplier wins all three, the warranty line isn't driving the decision and I can move on. If the winner changes between the low and middle case, I know exactly how much of my award decision is riding on a number neither of us can prove yet, and I write that down in the award rationale instead of pretending it's settled.
The reserve is a placeholder, not a promise
Finance will want a warranty reserve, and what they're really asking you for is a defensible rate and a range. Give them the middle case, show them the high case, and tell them what data would move you from one to the other — first 90-day return data, first 1,000 units in the field, the first failure analysis reports.
Then actually do the review. The worst version of this model is the one that gets built once during sourcing, blessed at award, and never touched again while field data accumulates in a returns log nobody reads. Warranty accrual is an estimate. Estimates get revised. If you're the one who set the assumption, you're the one who should be revisiting it when the actuals land, and it's much easier to revise a number you flagged as provisional than one you presented as fact.
What I deliberately leave off the line
Legal liability, recall campaigns, and brand damage stay out. They're real, they're just not computable at the sourcing stage, and putting a made-up number on them makes the whole worksheet easier to dismiss. I keep a separate risk note for those and keep the warranty line clean.
Freight rates and duty treatment also stay out of the warranty block. They move on their own schedule and belong in their own rows, refreshed on whatever cadence your category plan uses, not frozen into a per-claim cost that quietly goes stale.
Two questions before you award
Ask the supplier for their field return rate in returns per thousand units per year, by failure mode, with the program and denominator identified — and ask what their process is for a pack that comes back testing good. The answer to the second one tells you whether they've actually run a returns operation or just written a warranty clause.
Then ask what a replacement pack costs in year two and year three, and whether the cells in it will still be available then. Obsolete cells turn a warranty claim into a redesign, and a redesign is not a line in anyone's TCO model until it happens to them.
That's the whole method. The unit price tells you what you're buying. The warranty line tells you what you're actually going to pay.