Transparent empirical battery capacity-fade fitting and bounded EOL projection
View the Project on GitHub mohammadrezwankhan/battery-cycle-life-analyzer
Fit transparent empirical capacity-fade models, compare diagnostics, and project battery end of life inside an explicit extrapolation limit.
View the source and documentation | Open the Colab notebook

git clone https://github.com/mohammadrezwankhan/battery-cycle-life-analyzer.git
cd battery-cycle-life-analyzer
python -m pip install .
python -m bcla --model all
For normalized capacity Q(n) at cycle n:
Q(n) = Q0 - k nQ(n) = Q0 - alpha n^betaQ(n) = Q0 - a ln(1 + b n)The package reports fit diagnostics before selecting the lowest-RMSE model. An in-window fit is not treated as proof of a trustworthy long-range forecast, so unsupported threshold crossings return no estimate.
This is an empirical research and educational baseline, not an electrochemical, pack-safety, or production BMS model. The bundled data are synthetic. Engineering conclusions require representative laboratory data and explicit consideration of chemistry, temperature, protocol, and uncertainty.