How this second-life battery capacity calculator works
Second-life batteries are typically EV packs or modules that no longer meet vehicle performance requirements but can still deliver useful energy for stationary storage. This calculator provides an estimate of (1) remaining usable capacity and (2) a simple risk score for dropping below an 80% capacity threshold in the next three years if similar usage continues.
Enter the pack’s original capacity, the number of completed full-equivalent cycles, typical depth of discharge (DoD), average operating temperature, and age. The model combines cycle aging and calendar aging into a single, semi-empirical estimate.
Inputs (what to enter)
- Initial Capacity (kWh): nameplate energy when new (or as-delivered). For modules, use the module’s kWh.
- Completed Cycles: full-equivalent cycles (e.g., two 50% cycles ≈ one full cycle).
- Average Depth of Discharge (%): typical usable swing per cycle (0–100%). Higher DoD generally accelerates wear.
- Average Temperature (°C): long-run average cell/pack temperature (ambient is a proxy if cell temperature is unknown).
- Age (years): time since commissioning/manufacture, capturing calendar aging.
Capacity fade model (with readable formulas)
We estimate the remaining capacity fraction as a baseline (100%) minus simplified cycle and calendar fade terms. Let:
- = initial capacity (kWh)
- = remaining capacity (kWh)
- = completed cycles
- = age (years)
- = average temperature (°C)
- = depth of discharge (%)
The remaining capacity ratio is:
Heuristic coefficients (chosen to produce reasonable screening-level behavior across common EV-like usage):
- a = 0.0008 (cycle fade baseline)
- b = 0.01 (calendar fade per year)
- c = 0.002 (temperature-aging coupling vs. 25°C baseline)
- d = 0.00002 (additional cycle fade scaled by DoD)
Once the ratio is computed, remaining capacity is:
Remaining capacity (kWh) = × (/).
Risk score (probability-style indicator)
To translate the estimate into a screening decision, we compute a logistic risk score intended to reflect the likelihood of dropping below 80% of original capacity within ~3 years if usage continues similarly. The risk is:
Risk (%) = 100 × σ(z), where σ is the logistic function σ(z)=1/(1+e−z), and:
z = (0.8×C0 − Cr) / (0.05×C0)
Interpretation: if remaining capacity is far below 80% already, z becomes positive and risk approaches 100%. If remaining capacity is comfortably above 80%, z becomes negative and risk trends toward 0%.
How to interpret results
- Remaining capacity: useful for estimating energy available in a stationary storage application (before considering power limits, BMS constraints, and safety derates).
- Remaining capacity (%): quick comparison against common end-of-vehicle-life conventions (often ~80% of original capacity, though it varies by OEM/application).
- Risk score: a screening indicator—best used to rank candidates, not to certify safety or warranty decisions.
Worked example
Suppose you have a pack with:
- Initial capacity C0 = 60 kWh
- Cycles N = 1200
- DoD D = 90%
- Average temperature T = 30°C
- Age A = 5 years
Compute the ratio:
- Cycle term: aN = 0.0008×1200 = 0.96
- Calendar term: bA = 0.01×5 = 0.05
- Temp-aging term: c(T−25)A = 0.002×(30−25)×5 = 0.05
- DoD-cycle term: d(D/100)N = 0.00002×0.9×1200 = 0.0216
Remaining fraction ≈ 1 − 0.96 − 0.05 − 0.05 − 0.0216 = −0.0816 (floored to 0 in practice). This shows why the coefficients should be treated as heuristic and why inputs like very high cycle counts can push the simplified model outside realistic bounds. In implementation, you should clamp results to a minimum of 0% and consider recalibration if you need engineering-grade estimates.
If instead cycles were 800 (with the same other inputs), remaining fraction ≈ 1 − 0.64 − 0.05 − 0.05 − 0.0144 = 0.2456, giving ~14.7 kWh remaining. Again, this is a coarse screening output; real packs at 800 cycles often retain substantially more depending on chemistry, DoD distribution, and thermal management.
Risk bands (screening guide)
| Risk (%) |
Second-life viability (rule of thumb) |
What it suggests |
| 0–25 |
Excellent |
Likely suitable for repurposing; validate with testing and BMS logs if available. |
| 26–50 |
Good |
Often workable with conservative operating window and thermal control. |
| 51–75 |
Marginal |
May need derating, refurbishment, or use in low-demand applications. |
| 76–100 |
Poor |
Higher chance of dropping below threshold soon; consider recycling or parts harvesting. |
Limitations and assumptions (important)
- Heuristic model: Coefficients are not chemistry- or OEM-specific and are not calibrated to your exact pack. Treat results as a first-pass screen.
- Average values hide variability: Real degradation depends on time-at-SOC, charge rate, temperature swings, storage SOC, and power demand—not captured here.
- Temperature proxy: Using ambient temperature can misrepresent cell temperature, especially in poorly cooled packs.
- Cycle counting: “Cycles” should ideally be full-equivalent cycles derived from throughput; odometer-based guesses can be misleading.
- No safety diagnosis: This does not detect internal damage, lithium plating, imbalance, or thermal-runaway risk. Use professional inspection/testing for safety-critical deployments.
- Clamping/edge cases: Extremely high cycles/ages can produce negative capacity fractions in the simplified equation; practical implementations should clamp to 0–100% and consider uncertainty bounds.