Cycle count alone hides the mechanism. 500 cycles at 80% retention means nothing if you can't tell SEI growth (√n) from lithium-inventory loss. Matflow's battery studio fits competing fade laws — SEI/parasitic, cycling-driven loss, linear inventory loss and an additive SEI+cycling law — picks the best by held-out RMSE, and says which mechanism won and by how much.
Minimal Python path:
# Neware BTSDA exports .xlsx per cycle step; normalize first:
import pandas as pd
df = pd.read_excel("neware_export.xlsx", sheet_name="Record")
cycles = df.groupby("Cycle ID")["Discharge Capacity(Ah)"].max()
cycles.to_csv("cycle_life.csv")No-code path: upload at /tools/neware → governed dataset → battery studio gives RUL with split-conformal intervals (coverage stated, e.g. 90% — wide intervals are honesty, not failure).
What to look at first: dQ/dV peaks shifting (active-material loss) versus uniform fade (inventory loss); EIS semicircle growth (SEI resistance) if you have Nyquist data — our EIS fitter extracts Randles/SEI/Warburg parameters from the measured spectrum.
Limits: RUL is PREDICTED with an interval, never a date. The fit requires at least ~8 clean cycles; with only a few more than that the conformal interval widens sharply — treat wide as honesty, not a number you can plan a warranty on.
FAQ: Which cyclers are supported? Bio-Logic, Neware, Arbin (plus XRD/GC-MS/FTIR/NMR/UV-Vis/rheology elsewhere). Do I need to install anything? No. Can I reproduce the fit? Yes — engine card plus export bundle.