What every number means, and how far to trust it
A reference for engineers and technical reviewers. Each metric starts with a one-line explanation; open it for how it is computed, its value on the reference pack, and the decision it supports.
Measured signals
Twelve columns per cell. None needs the trained model: anyone with the raw CSV can recompute them. The smallest resistance difference the reference log can resolve is 0.031 mΩ.
R25 / DCIRHow hard it is to push current through the cell, normalised to 25 °C so cells at different temperatures compare fairly.
- How it is computed
- Measured on every current step of at least 5 A as ΔV/ΔI, fitted against temperature and normalised to 25 °C.
- On the reference pack
- Median 4.03 mΩ; range 3.66 (cell 2) to 4.48 (cell 6).
- What it tells you
- Resistance growth means power fade and more heat. A cell well above its peers is a high_IR candidate.
95% confidence intervalHow sure we are about each resistance value.
- How it is computed
- Bootstrap: resample the current steps, refit, repeat.
- On the reference pack
- ≈ 1–8 mΩ wide, because the log ran at 37.6–44.7 °C and 25 °C is an extrapolation.
- What it tells you
- Before calling a cell an outlier, check whether its interval overlaps the others. Here they all overlap, so there is no resistance outlier.
dR/dTHow resistance changes with temperature. It must fall as the cell warms.
- How it is computed
- Slope of resistance against temperature from the same fit.
- On the reference pack
- −0.15 to −0.20 mΩ/°C on every cell.
- What it tells you
- Must be negative (integrity law MP2). A positive slope points to a bad connection or a mislocated sensor.
Relaxation τHow quickly the voltage settles after current stops.
- How it is computed
- Time constant of the voltage recovery, fitted from the slope of log(relaxation).
- On the reference pack
- Median 77 s.
- What it tells you
- A cell whose τ creeps up across logs is losing rate capability before it loses capacity.
dQ/dV peak voltageThe voltage at which the cell absorbs charge fastest.
- How it is computed
- The argmax of its dQ/dV curve during charge.
- On the reference pack
- Pack median 3.376 V.
- What it tells you
- The reference point for the shift.
dQ/dV peak shiftHow far this cell’s peak sits from the rest of the pack.
- How it is computed
- This cell’s peak voltage minus the pack median.
- On the reference pack
- Cell 1: −13 mV. All other cells inside ±5 mV.
- What it tells you
- Below −5 mV flags a lithium-inventory-loss suspect: the earliest capacity-fade warning in the system. Plan, verify, track.
Peak width (FWHM)How sharp the peak is. A widening peak means the electrode material is becoming less uniform.
- How it is computed
- Full width of the peak at half its maximum height.
- On the reference pack
- Median 30 mV.
- What it tells you
- A widening peak is a heterogeneity or degradation sign even if its position has not moved.
Peak heightHow much charge is absorbed at that transition: roughly how much active material is still taking part.
- How it is computed
- Amplitude of the dQ/dV peak.
- On the reference pack
- Shown per cell in the engine’s table.
- What it tells you
- Falling height with a stable position points to active-material loss rather than lithium-inventory loss.
16p IRA second resistance estimator, shown on purpose next to R25.
- How it is computed
- The 16-parameter converter’s median |ΔV/ΔI| at log temperature. Not temperature-normalised, not step-filtered.
- On the reference pack
- 0.89 mΩ (vs R25 4.03 mΩ).
- What it tells you
- Do not mix the two. They disagree and reconciling them is open work, so quote R25 with its interval.
Voltage mean and rangeWhere each cell sits and how hard it was swung across the log.
- How it is computed
- Mean cell voltage, and max minus min, across the log.
- On the reference pack
- Per cell. A dead channel shows a range of 0.
- What it tells you
- A cell that sits persistently low is a balance or capacity suspect.
Integrity laws MP1–MP10
Each law reports a value, a fire line and their ratio. Below 1.0 it holds; above, it fires. Physics shows that something is inconsistent; a human decides whether it is a faulty sensor, a misconfiguration or deliberate manipulation.
- MP1Checks thatVoltage follows current across steps (Ohm)Fire lineShare of ≥ 5 A steps where V moves against I (0.5)Reference packHolds at 0.8 of lineIf it breaks, suspectV/I timing skew, channel mapping, spoofed voltages
- MP2Checks thatResistance falls as cells warmFire linez = dR/dT ÷ its bootstrap σ (+2σ)Reference packHolds comfortablyIf it breaks, suspectBad joint, mislocated sensor
- MP3Checks thatResting voltage agrees with BMS SoCFire lineOCV-implied SoC − BMS SoC (0.25)Reference packDoes not fire; weak check on the LFP plateauIf it breaks, suspectSoC estimator drift, spoofed SoC
- MP4Checks that∫I dt agrees with ΔSoCFire linep95 drift, restarts after gaps (0.15 SoC)Reference packHolds at 0.7 of lineIf it breaks, suspectCurrent-sensor error, falsified SoC
- MP5Checks thatCapacity ≤ nominalFire lineBMS full capacity ÷ nominal (1.02)Reference packHoldsIf it breaks, suspectReset or doctored SoH
- MP6Checks thatCell voltages inside the chemistry windowFire linemV outside 2.50–3.65 V for LFPReference packHolds (cell 16 excluded)If it breaks, suspectSensor fault, abuse, injected values
- MP7Checks thatString balanced at restFire lineCell rest V − pack median (30 mV)Reference packHolds: rest spread 22 mV medianIf it breaks, suspectWeak or self-discharging cell
- MP8Checks thatGradient consistent with Joule heatingFire linep95 sensor gradient (10 °C) + Spearman(I², ΔT)Reference packFires: 1.4× line, ρ = +0.49If it breaks, suspectHot joint, cooling fault, bad sensor, faked temperature
- MP9Checks thatVoltage relaxes back after stepsFire lineRobust z of τ vs pack (3σ)Reference packHolds (τ median 77 s)If it breaks, suspectTransport ageing, replayed or flat-lined voltage
- MP10Checks thatManifold SoH agrees with measuredFire linePosterior decode − BMS SoH (5 pp)Reference packHolds: 0.976 vs 1.000 = 2.4 ppIf it breaks, suspectBMS SoH drift or manipulation
Ageing laws L1–L7 (Physics Lab)
- L1What it doesArrhenius factor. Ageing rate at your temperature vs 25 °CFire line> 3×Bayesian linkLearned activation-energy posterior (39.5 °C → 2.46×)
- L2What it doesPlating window. Cold and fast chargeFire lineT < 10 °C and C > 0.5Bayesian linkPhysics prior
- L3What it doesVoltage window. Cells inside chemistry limitsFire lineAny excursionBayesian linkPhysics prior
- L4What it doesCapacity bound. SoH ≤ 1Fire lineSoH > 1Bayesian linkPhysics prior
- L5What it doesManifold distance. Is your state admissible?Fire line> 3σBayesian linkResidual after posterior projection
- L6What it doesTraining range. Largest input vs training normaliserFire line> 3σBayesian linkWhere the posterior is extrapolating (+8.5σ here, rated cycles)
- L7What it doesNo recovery. A forecast path must not gain capacityFire line> 0 rising stepsBayesian linkPrior that clamps every posterior path
Bayesian outputs
Pack-level or forward-looking values from the trained model: law posteriors, the latent posterior on the learned map, and posterior-predictive walks. Always quoted with their window and caveats.
Activation energy (Ea)
How strongly temperature speeds up ageing, learned from data rather than hand-set.
- Reference pack
- 0.50 eV, so 39.5 °C ages the pack 2.46× faster than 25 °C under this physics.
- What you can do with it
- Puts a number on the payoff of cooling, for example fixing the T5 hot spot.
Manifold SoH
A second opinion on health, decoded from how the cell behaves, independent of the BMS counter.
- Reference pack
- 0.975–0.976 for all cells; the BMS reports 1.000.
- What you can do with it
- A gap between the two (law MP10) can mean BMS drift, a reset counter or a doctored log.
MW distance (σ)
How far the battery’s state sits from the learned map of physically consistent states.
- Reference pack
- ≈ 1.7σ for every cell, stable through the log.
- What you can do with it
- Tells you when to trust the forecast. Above 3σ the model is outside what it knows.
RUL distribution
Cycles until health reaches 0.80, as a range of possible futures rather than one number.
- Reference pack
- Mean 1,620 cycles (≈ 5 years); P(EOL before 1,000 cycles) = 0%.
- What you can do with it
- Replacement and warranty planning. Re-run with a different duty to price an operating change.
90% credible window
90% of the simulated futures reach end of life inside this range.
- Reference pack
- 1,503–1,700 cycles.
- What you can do with it
- A lower bound on uncertainty: it excludes label, sensor and duty uncertainty. Never present it as the full error bar.
Life attribution
Which inputs are pushing the forecast up or down.
- Reference pack
- Rated-cycles label +926; temperature ≈ −100; DoD ≈ 0.
- What you can do with it
- Shows what is driving the number. The +926 label bar is the reason to read this forecast with care.
Questions MW cannot answer, and what can
Is this pack about to go into thermal runaway, short or vent?
Why MW can’tMW is not a safety system and must never override a BMS warning.
What canBMS safety functions and dedicated safety monitoring.
Can I certify this pack’s health for sale, insurance or regulation?
Why MW can’tCAN logs alone carry no traceable calibration, named standard or beginning-of-life baseline.
What canA certified capacity test by an accredited lab.
What is cell 1’s actual capacity today?
Why MW can’tThe flag shows the ageing mechanism, not a measured capacity loss.
What canA capacity test on that cell.
How does chemistry change the result?
Why MW can’tThe current model does not use chemistry as an input. Reference work to date is on LFP.
What canChemistry-specific models or lab characterisation.
What is the full error bar on remaining life?
Why MW can’tThe window covers model uncertainty only, not sensor, label or duty-cycle uncertainty.
What canField validation across many packs to actual end of life.
How will the pack age under deep cycling?
Why MW can’tThe training data had little depth-of-discharge variation.
What canRetraining on wider data, or cycling tests.
What is happening in a cell the BMS cannot see?
Why MW can’tMW needs a working voltage channel; cell 16 read 0 V for the whole log.
What canFix the sense wire, then re-run.
Documented limits
- One pack, one 20-hour log, no lab ground truth. Nothing here has yet been checked against a measured capacity test or an observed end of life. Validation across 20–30 prospect packs is the next step.
- The checkpoint is partly outside its training range for this pack. The rated-cycles label is +8.5σ, and DoD varied very little in training. The life forecast leans on the label. Both are fixed by retraining on wider-range data.
- Forecast uncertainty is a lower bound. It covers the model’s internal uncertainty, not label, sensor or duty-cycle uncertainty.
- Chemistry is not an input to this checkpoint. Reference work to date is on LFP.
- DCIR at 25 °C is an extrapolation from a 38–45 °C log. Read the confidence intervals.
- Two resistance estimators disagree (4.03 vs 0.89 mΩ). Both are shown; reconciliation is open work.
- Manifold SoH is near-identical across cells (0.975–0.976). The cell 1 flag comes from the dQ/dV peak, not from a lower SoH.
- Integrity laws use fixed fire lines, not posterior violation probabilities, and the forecast does not re-sample the law coefficients.
- Not a safety system. It cannot detect thermal runaway, internal shorts, venting or fire, and must never override a BMS warning.
- Not a certified test. No traceable calibration chain, defined protocol, named standard or beginning-of-life baseline can be closed from CAN logs alone.
Where v7 is not yet fully Bayesian
- MP1–MP10 use fixed fire lines. They report “fired / not fired”, not a posterior probability that the law is violated.
- L1 uses the central value of the activation-energy posterior. The 2.46× factor is shown without the interval that posterior implies.
- The forecast samples the cell’s latent state, not the law coefficients, so the credible window understates coefficient uncertainty.
- Latent σ is capped at the prior (σ ≤ 1). This keeps far off-manifold bands from blowing up, but also means the band cannot widen as much as it should.
Terms used on this site
The full MW Battery Engine metrics guide is available on request. Request the guide.
- SoH
- Usable capacity ÷ new capacity. 0.80 is the usual end of life.
- SoC
- State of charge: how full, from 0 to 1.
- DoD
- Depth of discharge: the depth of each swing.
- C-rate
- Current ÷ capacity. 0.2 C on a 100 Ah pack is 20 A.
- DCIR
- DC internal resistance.
- dQ/dV
- Charge absorbed per volt. Its peaks mark electrode phase transitions.
- FWHM
- Full width at half maximum of a peak.
- LLI
- Loss of lithium inventory.
- τ
- Relaxation time constant.
- σ
- Standard deviation: the common “how unusual” unit.
- Fire line
- The threshold at which an integrity law counts as broken.
- Posterior
- The model’s probability distribution after seeing data.
- EOL / RUL
- End of life / remaining useful life.
See what your own battery data is telling you.
Share a BMS/CAN log. We run it through the MW Battery Engine and send back an MW Battery Assessment Report: findings, how sure we are, and what to do next. The first assessment is free.