Battery Analytics

From a BMS log to battery decisions.

MW Battery Analytics reads the ordinary BMS/CAN log your pack already produces and separates the single health number into how cells actually age. Every result says how sure it is and what you can decide with it.

What goes in

A standard BMS/CAN log: cell voltages, pack current and voltage, temperature sensors, BMS state of charge and health. One day is enough to start.

The reference analysis: 20.6 hours at one sample per minute, 1,313 rows.

What comes out

An MW Battery Assessment Report: findings with evidence, confidence, actions and time horizons, and the limits of what one log can show.

What it sees

How cells actually age, separated out

A BMS report gives one number per pack. The MW Battery Engine separates the same log into mechanisms, each backed by a signal you can check.

  • Lithium-inventory loss

    The cell permanently loses some of the lithium that shuttles between its electrodes, mostly into side reactions such as SEI growth. Usable capacity follows. It is the main capacity-fade mode in LFP.

    SignaldQ/dV peak position and shift

  • Resistance growth

    Power fades, the cell runs hotter and sags first under load.

    SignalR25 (DCIR) with a 95% interval, dR/dT

  • Slower internal transport

    The voltage takes longer to settle after current stops: the cell is losing rate capability before it loses capacity.

    SignalRelaxation time constant τ, tracked across logs

  • Active-material loss and non-uniformity

    Less of the electrode takes part, or different parts of it transition at different voltages.

    SignaldQ/dV peak height and width (FWHM)

  • Heat

    Local hot spots, cooling faults and the extra ageing each degree costs.

    SignalSensor gradients, Joule-heating check, learned Arrhenius rate

  • Weak and imbalanced cells

    The cell that ends every discharge and sets usable capacity, or drifts away from its neighbours at rest.

    SignalPack-minimum share, resting voltage spread

  • Data integrity

    Dead sense wires, drifting state-of-charge estimators, health counters that disagree with how the cell behaves, or manipulated values.

    SignalIntegrity laws MP1–MP10, manifold vs BMS health

  • Operating conditions

    How the pack is actually used, and which operating lever would change its life.

    SignalTime at high SoC, depth of discharge, C-rate

What it answers

The questions your team actually asks

Including the ones MW cannot answer, and what can.

A BMS gives one health number per pack. A point-estimate tool gives one life number. Neither can answer these.

  • How likely is this pack to last the warranty?

    MW givesThe probability of reaching end of life before N cycles.

    Reference packP(end of life before 1,000 cycles) = 0%; a 1,600-cycle target sits at the 38th percentile.

  • How sure is the life forecast?

    MW givesA 90% credible window around the estimate.

    Reference pack1,503–1,700 cycles around a mean of 1,620, about 5 years.

  • Is this cell really different, or is it noise?

    MW givesWhether a difference exceeds measurement uncertainty.

    Reference packCell 6’s higher resistance (4.48 mΩ) sits inside every other cell’s interval: no alarm, no truck roll.

  • Will this operating change actually pay off?

    MW givesWhether the change in forecast exceeds model uncertainty: “resolved” or “not resolved”.

    Reference packLets you skip spending on levers that are indistinguishable from noise.

  • Can I trust the forecast for this pack?

    MW givesMW distance and a training-range check that flag extrapolation.

    Reference packMW distance 1.7σ; the rated-cycle label flagged at +8.5σ outside training.

  • What is driving the life number?

    MW givesCycles added or removed by each driver.

    Reference packRated-cycle label +926 cycles; temperature about −100 cycles.

  • Is this log physically consistent, or faulty or tampered?

    MW givesTen integrity laws: Ohm, Arrhenius, coulomb closure, Joule heating and others.

    Reference pack1 of 10 fired: the thermal gradient near sensor T5.

How it works

Measure, check, infer, forecast, decide

Training learns the model’s posterior once. Every new log is projected through it, and every output keeps its uncertainty to the end.

  1. BMS / CAN data

    The log you already record: cell voltages, pack current, temperatures, BMS state of charge and health.

    Your data16S LFP, 1,313 rows at 1 sample/min

  2. Measured signals

    Resistance, relaxation and dQ/dV peaks fitted from the raw log. Anyone with the CSV can recompute them.

    MeasuredCell 1 dQ/dV peak −13 mV

  3. Physics checks

    Ten integrity laws test whether the log is physically consistent: Ohm, Joule heating, charge counting and more.

    Physics-checked1 of 10 laws fired: thermal (MP8)

  4. Bayesian model

    Places each cell on a learned map of physically consistent states, with its own uncertainty.

    Bayesian posteriorManifold health 0.976, MW distance 1.7σ

  5. Forecast + uncertainty

    Many simulated futures through the map give a range for remaining life, not a single guess.

    Bayesian posterior1,620 cycles, 90% window 1,503–1,700

  6. Decision

    Each signal becomes an action and a time horizon your team can plan against.

    Your actionCell 1: verify and budget a spare, in weeks

Inside the MW Battery Engine

dQ/dV curves: the pack median peak sits at 3.376 V; cell 1's peak sits 13 mV lower at 3.363 V. Peak width (FWHM) is 30 mV.

Schematic. Peak positions and width use the reference pack’s values; the curve shapes are illustrative, not the cell’s measured curve.
Early warning

An ageing signal before the health number moves

On the reference pack, cell 1’s dQ/dV peak sat 13 mV below the pack median while the BMS still read 1.000. That left roughly 1,600 forecast cycles of lead time to verify, budget and plan, instead of reacting to a failure.

The full cell 1 case
Remaining useful life

Six questions a single life number can’t answer

A point estimate says “about 1,620 cycles”. A distribution lets you say much more, and defend it.

Remaining useful life distribution for the reference pack: mean 1,620 cycles, 90% credible window 1,503 to 1,700 cycles, probability of end of life before 1,000 cycles is 0%, OEM rating 2,000 cycles.

End-of-life posterior for the reference pack. Mean, window, P(EOL < 1,000) and the OEM line are the pack’s values; the curve shape is illustrative.
  • Will it last the warranty?

    Single number“About 1,620 cycles.”

    With the distributionP(EOL before 1,000 cycles) = 0%. A 1,600-cycle target sits at the 38th percentile of the posterior.

    Warranty reserves and pricing set from a probability, not a hunch.

  • How sure are you?

    Single numberNo answer, or a made-up ±.

    With the distribution90% credible window 1,503–1,700, stated as a lower bound on the true uncertainty.

    A defensible error bar a third party can review.

  • Is this cell really different?

    Single number“Cell 6 has the highest resistance.”

    With the distributionCell 6’s 4.48 mΩ sits inside every other cell’s interval, so it is not resolved and there is no alarm.

    Fewer false alarms and fewer wasted truck rolls.

  • Does this operating change matter?

    Single numberTwo forecasts that differ by some cycles.

    With the distributionThe sweep reports whether the difference exceeds posterior σ. If not, it says “not resolved”.

    Spend money only on levers that actually move the answer.

  • Can I trust the model here?

    Single numberSilent extrapolation.

    With the distributionMW distance 1.7σ; L6 fires at +8.5σ on the rated-cycles label; attribution shows the label adds +926 cycles.

    The model flags when it is outside what it knows.

  • How hot is too hot?

    Single numberA rule of thumb.

    With the distributionActivation energy is a learned posterior (0.50 eV), so 39.5 °C means 2.46× the 25 °C ageing rate.

    Puts a cycle and money cost on the T5 hot spot.

Thermal analysis

Where the heat comes from, and what it costs

The hottest sensor reading says where it is hot. Physics checks say whether that heat follows the load, and a learned ageing rate puts a number on it.

2.46×

With a learned activation energy of 0.50 eV, a cell at 39.5 °C ages about 2.46× as fast as at 25 °C, under this reference model. That puts a cycle and cost figure on fixing the hot spot. Bayesian posterior

Reference-model result for this pack only. The factor uses the central value of the activation-energy posterior, without its interval.

Thermal: the T5 hot spot

Reference pack example
T1–T4 mean temperatures37–42 °C
Range across four sensors
T5 mean41.5 °C
T5 maximum56.8 °C
Largest sensor-to-sensor gradient15.8 °C vs 10 °C line
Fire line marked; integrity law MP8 fires at 1.4× the line
Share of the log T5 is the hottest sensor62%
Measured Physics-checked
Temperature bars on a 30–60 °C scale. The Joule-heating correlation is loose (Spearman +0.49), which points to a local cause rather than load heating. The physics flags the inconsistency; it does not name the cause.
Decision guide

Signal, action, horizon

How a maintenance or asset team turns each signal into a decision. Filter by how soon you need to act.

  • SignalChannel reads 0 V for the whole log
    Threshold or patternLabel = dead
    What to doCheck the sense wire and BMS channel before condemning the cell
    When to actImmediate
  • SignalThermal physics law fires (MP8)
    Threshold or patternσ above fire line
    What to doPhysical inspection at the hot location; thermal imaging; torque check
    When to actDays
  • SignalHot sensor with loose Joule correlation
    Threshold or patternSpikes at low current
    What to doSuspect a connection, busbar joint, airflow or the sensor itself
    When to actDays
  • SignaldQ/dV peak shift
    Threshold or pattern< −5 mV vs pack median
    What to doWatch list; confirm on next log; targeted capacity test; budget and order a spare
    When to actWeeks
  • SignalResistance above peers, intervals not overlapping
    Threshold or patternhigh_IR label
    What to doCheck that cell’s connections first, then the cell. Expect heat and voltage sag
    When to actWeeks
  • SignalPersistent pack minimum
    Threshold or pattern> 50% of samples
    What to doBalance; include in capacity test; candidate for replacement with an LLI cell
    When to actWeeks
  • SignalShift grows across logs
    Threshold or patterne.g. −13 → −20 mV
    What to doConfirmed active lithium-inventory loss: schedule replacement in a planned window
    When to actNext maintenance
  • SignalPeak widening or height falling
    Threshold or patternTrend vs own history
    What to doAdd to watch list; check for electrode heterogeneity or active-material loss
    When to actMonths
  • SignalRelaxation τ rising across logs
    Threshold or patternTrend
    What to doRate capability falling: derate charge current or plan replacement
    When to actMonths
  • SignalManifold vs BMS SoH gap
    Threshold or patternMP10 fires
    What to doAudit the BMS SoH counter; verify with a capacity test
    When to actBefore any transaction
  • SignalMW distance above 3σ
    Threshold or patternOff-manifold
    What to doDo not rely on the forecast. Gather more data or retrain
    When to actBefore quoting RUL
  • SignalRUL window inside warranty term
    Threshold or patternP(EOL within N) > target
    What to doWarranty reserve and pricing review
    When to actQuarterly
  • SignalOperating-change sweep
    Threshold or patternEffect > posterior σ (“resolved”)
    What to doAct on that lever. If “not resolved”, do not spend on it
    When to actNext config change
  • SignalLaw-coefficient interval wide
    Threshold or patternPosterior panel
    What to doTreat forecasts that lean on that law as weak; collect data that varies it
    When to actBefore retraining
  • SignalLong time at high SoC
    Threshold or pattern> ~70% above 0.9
    What to doModel a lower resting-SoC cap; change the setpoint if it pays
    When to actNext config change
The deliverable

What is in an MW Battery Assessment Report

The free assessment covers one log you share. Each new log re-runs the forecast and tracks trends.

  • Findings, ordered by how actionable they areEach with its evidence, what it may mean and the action it supports.
  • Per-cell measurements with their intervalsResistance, relaxation and dQ/dV values you can recompute from your own CSV.
  • Integrity resultsWhich of the ten physics laws hold, which fire, and what to suspect when one does.
  • Health and model confidenceManifold health beside the BMS figure, and MW distance to show whether the model is on familiar ground.
  • Life forecast as a distributionMean, credible window, warranty probabilities, what drives the number and the assumptions behind it.
  • Decisions with time horizonsWhat to do immediately, within days, weeks or months, and before any transaction.
  • The limits of one logWhat this data can and cannot support, stated plainly.
Why teams use it

Built for the data and budgets you already have

  • Uses the data you already have

    Works on the standard BMS/CAN log. No new sensors, no lab test, no downtime.

  • One day of data is enough to start

    The reference analysis used a 20.6-hour log at one sample per minute: 1,313 rows.

  • Auditable

    Every measured number can be recomputed from the raw CSV. Model estimates are kept separate, so they never pass as measurements.

  • Hard to fool

    CAN has no authentication, but physics is hard to forge: a spoofed state of charge must still match the current that flowed, and faked temperatures must still follow load heating.

  • Screens fleets

    One integrity score per log, the share of physics laws that hold, ranks many packs quickly.

  • Fewer false alarms, cheaper testing

    Only differences that exceed uncertainty raise a flag, and lab tests go to the flagged cells only.

  • Gets sharper with use

    Each new log re-runs the forecast and tracks trends such as a growing peak shift.

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.