Technical methodology

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

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.
Physics-checked

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 posterior

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.
Out of scope

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.

Before you quote any number

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.
Glossary

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.