Cathode cycle-life prediction is one of the more humbling problems in materials ML. We've spent time on it, and the honest position is: ML models can rank cathode compositions by expected cycle stability better than random, and sometimes much better. But the underlying degradation mechanisms are complex enough that you should be skeptical of any claimed cycle-life prediction model that doesn't also tell you what it's actually capturing and where it gives up.
This post is about what composition-based ML models actually encode when they appear to predict cycle-life, why that sometimes works, why it often fails outside the training distribution, and what kinds of predictions we're willing to make at Matforgelab versus what we flag as beyond our current reach.
Why cycle-life is harder than first-cycle capacity
First-cycle capacity is a thermodynamic property, in the sense that it's largely determined by the amount of lithium that can be reversibly extracted from the cathode lattice. This is tied to the oxidation state of transition metals, the structural stability of the charged phase, and the voltage window applied. These are things you can connect to composition and structure through equilibrium models. DFT can give you a reasonable estimate of the theoretical capacity, and experimental first-cycle capacities correlate well enough with composition that ML models trained on composition data do respectably.
Cycle-life is different. It's determined by degradation, which is a kinetic, non-equilibrium process accumulating over hundreds or thousands of charge-discharge cycles. The relevant mechanisms include: surface reconstruction (the formation of rock-salt or spinel surface layers that impede Li-ion transport), microcracks from lattice volume change during Li extraction and insertion, transition metal dissolution into the electrolyte, electrolyte oxidation at the cathode surface forming resistive film layers, and cation disorder that locks Li in lattice sites that were previously mobile.
None of these mechanisms are captured by equilibrium thermodynamics. A DFT calculation of the relaxed LiNiO2 crystal tells you nothing about what happens to the surface after 400 cycles at 4.3 V cutoff. Yet cycle-life clearly correlates with composition in systematic ways. Substituting Al or Mg into NMC improves cycle stability. Higher Ni content increases first-cycle capacity but reduces cycle stability at high cutoff voltages. These correlations are real and learnable.
What the model actually captures
When a composition-based model appears to predict cycle-life, it's almost certainly not learning the degradation kinetics directly. What it's learning is a composition-to-stability proxy relationship, where composition encodes indirect indicators of degradation susceptibility.
Several mechanisms are learnable from composition data:
Lattice volume change during cycling: the volume mismatch between fully lithiated and delithiated phases drives microcracking. This can be estimated from composition and crystal structure through DFT. Compositions that show large volume change on lithium extraction (a computable quantity) correlate with poor mechanical cycle stability. A model trained on cycle-life data can implicitly learn this relationship through composition if the volume change information is implicitly encoded in element fractions and crystal type.
Transition metal solubility: the tendency of Mn and Ni to dissolve from the cathode into the electrolyte correlates with composition. Mn-rich compositions are more susceptible to dissolution than Al-substituted ones. This is partly a chemical intuition that a composition-informed model can reproduce.
Structural phase transition tendency: some cathode compositions undergo phase transitions (e.g., H2-H3 phase transition in high-Ni NMC) at certain state-of-charge thresholds that cause sudden volume changes and microcracking. The voltage at which these transitions occur depends on Ni content in predictable ways that show up in composition-cycle-life datasets.
The model doesn't know about any of these mechanisms. It finds composition correlations in the training data that happen to proxy for them. This is why the model works within its training distribution and fails outside it.
A concrete example: NMC cycle stability
Working with a dataset of approximately 220 NMC cathode cycle-life measurements covering a range of Ni, Mn, Co ratios tested under consistent conditions (C/3 rate, 2.8-4.2 V window, 25 degrees C), a composition-based gradient-boosted model achieved reasonable performance on held-out NMC compositions within the same Ni:Mn:Co ratio space. The model correctly ranked high-Ni against low-Ni compositions by cycle stability, and captured the effect of Mn substitution on cycle stability at constant Ni fraction.
Where it broke down: when tested on NMC formulations with dopant substitutions (Al, Ti, Mg at trace levels below 5 mol%) that were not represented in the training data, the predictions were poorly calibrated. The model had learned that within the Ni-Mn-Co ternary space, certain composition patterns correlate with stability. Al substitution, even at small concentrations, suppresses some degradation mechanisms in ways that are invisible to a model that only sees the bulk composition ratios.
This is the boundary we try to be explicit about: the model's predictions are reliable for interpolation within a well-sampled composition family, and unreliable for extrapolation to new chemistry that operates through different degradation mechanisms.
Encoding testing conditions: an underappreciated input
Cycle-life is not a fixed property of a composition. It's a measurement that depends on: cutoff voltage, C-rate, temperature, electrolyte, electrode coating, and definition of "end of life" (80% capacity retention? 70%? how many cycles?). The same NMC811 composition can show dramatically different cycle counts depending on these conditions.
This matters for ML because training datasets often aggregate measurements from different labs and protocols. A model trained on heterogeneous protocol data is implicitly learning a composition-to-average-cycle-life relationship averaged over protocols, which is not the same as the composition effect under your specific test conditions.
When we build cycle-life models, we require that training data comes with protocol metadata: cutoff voltage, rate, temperature, capacity retention threshold, and electrolyte class. We then encode these as additional model inputs alongside composition. The cycle-life prediction is conditioned on protocol. This adds training data requirements but substantially improves calibration within a consistent protocol.
What we do instead of a single cycle-life number
For cathode screening applications at Matforgelab, we don't produce a single predicted cycle count. We produce a predicted cycle stability ranking with confidence bounds, combined with composition-based flags for known degradation risk factors.
The flags are mechanistically grounded: volume change proxy score (from computed lattice parameters in DFT), phase transition susceptibility flag (based on Ni content and known H2-H3 transition composition thresholds), and Mn dissolution risk (from Mn fraction and electrolyte class). These flags are rule-based additions to the ML prediction, not outputs of the model itself.
This hybrid approach is more useful than a pure ML prediction because it separates the parts the model can learn from data (composition correlation patterns) from the parts that require mechanistic knowledge (degradation risk factors that are well understood but underrepresented in training data).
The protocol-consistency requirement
We've turned down requests to build cycle-life prediction models from datasets where the measurements came from inconsistent protocols. The model would appear to work on held-out data from the same mixed dataset, but it would be capturing protocol differences rather than composition effects. That's not predictive of anything you'd care about for synthesis planning.
The minimum data quality bar we require for a cycle-life model: all measurements from the same cutoff voltage window (within 0.1 V), same temperature range (within 5 degrees C), same electrolyte class (liquid vs. gel vs. solid-state), and same capacity retention threshold definition. These are not arbitrary requirements. They're necessary to make the composition signal learnable above the protocol noise floor.
If your data doesn't meet this bar, the most useful thing is to build a cycle-life model within a subset of your data that does have protocol consistency, accept that the model covers a narrower composition range, and collect new measurements under consistent conditions to expand coverage. A smaller, well-controlled dataset beats a larger, protocol-heterogeneous dataset for cycle-life prediction in every case we've seen.