MW Battery Analytics powered by the MW Battery Engine

Understand what your battery data is really telling you.

Battery analytics for BESS operators, battery makers and fleets. We find early ageing signals in the BMS/CAN data you already record, check whether they are physically real, and tell you when to act.

Your BMS gives a health number. Battery analytics shows the mechanism, the certainty and the next step.

Pack view

Reference pack example
Chemistry
LFP
Cells
16 in series
Log
20.6 h
BMS state of health1.000BMS reading
MW manifold health0.976Bayesian posterior
Cell 1 dQ/dV shift−13 mVMeasured
  • Lithium-inventory loss suspect
  • Limits discharge
  • Next to the T5 hot spot
  • No signal (0 V)
  • Nominal

Cell 1LLI suspect

dQ/dV peak 13 mV below the pack median (threshold −5 mV).

Earliest sign of lithium-inventory loss. The BMS still reports this cell healthy. Put it on a watch list and verify.

Select a cell. States are findings from one 20.6-hour BMS log of a 16-cell LFP pack; they are not a live system.

Your BMS reports

1.000

state of health, on the reference pack

Why one health number isn’t enough

A healthy-looking number can hide an ageing cell.

The BMS is the operational baseline and the safety layer, and it should stay that way. But a single state of health cannot tell you:

  • What is actually ageing
  • Why it is ageing
  • Which cell is behaving differently
  • How certain the signal is
  • Whether the model is extrapolating
  • What to do next, and when
What MW Battery Analytics does

Battery data in. Evidence, diagnosis and a decision out.

Every assessment answers three questions, in this order.

  1. What is happening?

    Which mechanism is moving, in which cell. On the reference pack: cell 1 shows an early lithium-inventory-loss signal.

  2. Is it real?

    Physics checks separate battery behaviour from sensor faults and bad data. On the reference pack: cell 16’s 0 V reading is a wiring question, not a dead cell.

  3. When should I act?

    Each finding comes with an action and a time horizon. On the reference pack: inspect the T5 hot spot within days; verify cell 1 within weeks.

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

Which questions it answers

Questions only MW answers, questions it answers better, and the ones it can’t.

Every answer below comes from the same reference pack: one 16-cell LFP pack and one 20.6-hour BMS log.

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.

Reference pack example: model forecast, not a guarantee

When the BMS still says healthy.

On the reference pack the BMS reported 1.000 for every cell. Cell 1’s dQ/dV peak sat 13 mV below the pack median, well past the −5 mV threshold. That is the earliest sign of lithium-inventory loss, and it appeared roughly 1,600 forecast cycles before the end-of-life line.

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.

Why it shows up here first

LFP has a very flat voltage plateau, so the voltage a BMS sees barely changes as the cell ages. The dQ/dV peak is one of the few signals that moves early, and the engine extracts it from ordinary CAN data.

BMS state of health
1.000
Pack manifold health
0.976
Cell 1 peak shift
−13 mV
Flag threshold
−5 mV
  1. 1.000BMS says
  2. 0.976MW manifold: LLI flag on cell 1
  3. 0.917+500 cycles
  4. 0.853+1,000 cycles
  5. 0.80End of life ≈ 1,620 cycles
Pack-level forecast. It follows the weakest cell and is a model forecast for this reference pack, not a guarantee. The warning appears at about 0.976, roughly 1,600 forecast cycles before the end-of-life line.

What the signal supports

  • Verify it on the next log
  • One targeted capacity test on cell 1 instead of testing all 16
  • Track the trend: −13 growing towards −20 mV confirms active loss
  • Budget a spare and plan replacement in a maintenance window
  • Disclose or swap cell 1 before resale or second-life grading

What it does not prove yet

  • That cell 1 needs replacing today: manifold health is 0.976, the same as every other cell
  • A cell-1-specific life number: the pack forecast follows the weakest cell
  • Certainty from one log: confirm it on a second log
How it works

The MW Battery Engine, in six steps

Physics does the heavy lifting; Bayesian inference says how sure we are. Every number on the way carries its origin, so you always know how far to trust it.

  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

Measured

Fitted directly from your log: resistance, relaxation, dQ/dV peak shift and width. No model needed.

Anyone with the CSV can recompute them.

Physics-checked

Ten integrity laws test the log against physics: Ohm, Joule heating, charge counting, voltage windows, relaxation.

An engineer can read the law and the value behind it.

Bayesian posterior

Model outputs with their uncertainty: manifold health, MW distance, remaining-life distribution.

Quoted with the window and caveats, never alone.

How the MW Battery Engine works
Is this real?

Eight findings from one 20-hour log

A 16-cell LFP pack, a 20.6-hour BMS log at 1 sample/min, 1,313 rows. Each finding comes with its evidence and the action it supports.

Chemistry
LFP
Cells
16 in series
Log length
20.6 h
Rows
1,313
  1. Act

    T5 hot spot

    Signal
    T5 mean 41.5 °C, max 56.8 °C, hottest sensor 62% of the time. Gradient up to 15.8 °C against a 10 °C fire line; integrity law MP8 fires. Physics-checked
    What to do
    Inspect near T5: torque check, thermal imaging, cooling path, and the sensor itself.
    When
    Days
  2. Act

    Cell 16 reads 0 V

    Signal
    Voltage reads 0 V for the whole log. Measured
    What to do
    Check the sense lead and connector before condemning the cell.
    When
    Immediate
  3. Watch

    Cell 1 lithium-inventory loss suspect

    Signal
    dQ/dV peak 13 mV below the pack median (threshold −5 mV). The only clear outlier in the pack. Measured
    What to do
    Watch list, confirm on the next log, one targeted capacity test, add a spare to the plan.
    When
    Weeks
  4. Watch

    Cell 2 limits discharge

    Signal
    Pack minimum in ~56% of samples (cells 1 and 5 about 20% each). Measured
    What to do
    Watch alongside cell 1, check balancing, include it in any capacity test.
    When
    Weeks
  5. Lever

    Pack lives near full

    Signal
    ~80% of the time above SoC 0.9; shallow swings (typical DoD 0.1, deepest 0.3). Measured
    What to do
    The cheapest lever available: model a lower resting-SoC cap before changing the setpoint.
    When
    Next config change
  6. No action

    Resistance is uniform

    Signal
    DCIR at 25 °C between 3.66 and 4.48 mΩ (median 4.03). Every difference sits inside each cell’s 95% interval. Measured
    What to do
    No action, and that is useful too: it avoids a false alarm on cell 6.
    When
    None
  7. No action

    Balance is acceptable

    Signal
    Resting spread median 22 mV, p95 30 mV. Physics-checked
    What to do
    None now. Re-check if cell 1 or cell 2 drifts.
    When
    None
  8. Plan

    Life ≈ 1,620 cycles

    Signal
    Posterior mean 1,620 cycles; 90% window 1,503–1,700; about 5 years at 0.88 cycles/day. Bayesian posterior
    What to do
    Use the distribution, not the mean. Treat the window as a lower bound on uncertainty and re-run as more logs arrive.
    When
    Quarterly
Read the full reference-pack case study
How might it evolve?

Remaining life is a range, not a promise.

A single number hides how sure the model is. The distribution is more useful than the mean.

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.
Estimate
1,620 cycles mean, about 5 years at 0.88 cycles a day. Bayesian posterior
Uncertainty
90% of simulated futures end between 1,503 and 1,700 cycles. P(end of life before 1,000 cycles) = 0%.
Assumptions
Duty as logged: DoD 0.1, resting near full, 0.2 C. The forecast leans on the 2,000-cycle OEM label (+926 cycles of attribution), which is outside the training range.
Decision
Planning grade. Use it for replacement budgets and warranty probabilities; re-run as more logs arrive. Never quote it as guaranteed life.
When should I act?

Every signal ends in an action and a time horizon

Analytics that support decisions, not a dashboard full of charts. These are the engine’s own decision rules.

  • SignalCell channel reads 0 V for the whole log
    What it may meanSense-wire or BMS-channel fault more likely than a dead cell
    What to doCheck the sense wire and channel before condemning the cell
    When to actImmediate
  • SignalThermal physics law fires
    What it may meanPossible local connection, busbar, airflow or sensor issue
    What to doPhysical inspection, thermal imaging, torque check
    When to actDays
  • SignaldQ/dV peak shifts below −5 mV
    What it may meanPossible lithium-inventory loss
    What to doWatch, verify on the next log, targeted capacity test, budget a spare
    When to actWeeks
  • SignalPersistent pack minimum
    What it may meanPossible weak cell, balance or capacity issue
    What to doCapacity test, balancing review, replacement assessment
    When to actWeeks
  • SignalShift grows, e.g. −13 → −20 mV
    What it may meanActive lithium-inventory loss confirmed
    What to doSchedule replacement in a planned window
    When to actNext maintenance
  • SignalRelaxation τ rising across logs
    What it may meanRate capability falling before capacity does
    What to doConsider charge-current derating, plan replacement
    When to actMonths
  • SignalMW distance above 3σ
    What it may meanThe model is outside what it has learned
    What to doDo not rely on the forecast; gather more data or retrain
    When to actBefore quoting RUL
  • SignalRUL window approaches the warranty term
    What it may meanPlanning risk
    What to doWarranty reserve, pricing and maintenance review
    When to actQuarterly
See the full decision guide
Why you can trust it

Knowing when not to trust a forecast is part of the analytics.

MW distance: is the model on familiar ground?

1.7σ this pack: inside the learned map, so the forecast can be used with its stated caveats.

> 3σ outside what the model has learned: do not quote a remaining-life number. Gather more data or retrain.

MW distance measures how far a battery’s state sits from the learned map of physically consistent states.

What we say openly

  • One reference pack and one 20.6-hour log so far; no lab capacity test yet. Validation across 20–30 packs is next.
  • The life forecast leans on the 2,000-cycle OEM label, partly outside the model’s training range.
  • The credible window is a lower bound on uncertainty: it excludes label, sensor and duty uncertainty.
  • Reference work to date is on LFP.
  • Not a safety system and not a certified test. It never overrides a BMS warning.
All documented limits

Who is behind it

Built by a team combining decades of applied Bayesian statistics with clean-energy and battery leadership. We are working with battery startups founded by globally leading battery researchers.

About the team
  • Rahul ModakCo-founder & CEO, Technical Lead
  • Dr. Rahul WalawalkarCo-founder & Executive ChairmanPhD, Carnegie Mellon University
  • Rajas JoshiCo-founder & COO
An extra layer

Physics is hard to forge.

CAN has no authentication: any node can send a valid frame. But a spoofed state of charge must still match the current that flowed, and a faked temperature must still follow Joule heating. The same integrity laws that catch a dead sense wire also expose inconsistent or manipulated data.

Questions

Before you send us a log

Does MW Battery Analytics replace our BMS?

No. The BMS stays the operational baseline and the safety layer. MW reads the same data afterwards and adds the context behind the health number: which mechanism, which cell, how sure, and what to do.

What data do you need?

An ordinary BMS/CAN log. The reference assessment used a 20.6-hour log at one sample per minute with cell voltages, pack current and voltage, temperature sensors and the BMS state of charge and health. No lab capacity test is required to start.

Is the remaining-life number guaranteed?

No. It is a planning estimate given as a distribution, with a credible window and the assumptions behind it. On the reference pack it leans on the OEM cycle rating, which we state alongside the number. Re-running on more logs narrows it.

Is it a safety system?

No. It cannot detect thermal runaway, internal shorts, venting or fire, and it must never override a BMS warning. It is decision support for maintenance, planning and asset teams.

Which chemistries does it support?

Reference work to date is on LFP. Tell us your chemistry when you request an assessment and we will say plainly what the engine can and cannot support for it.

What does the free assessment include?

We analyse one log you share and send an MW Battery Assessment Report: the findings with their evidence, the confidence behind each, an action and time horizon for each, and the limits of what one log can show. A detailed metrics guide is available on request.

Get a free MW Battery Assessment.

Send one BMS/CAN log. Get back what is ageing, how sure we are, and what to do next.

  1. Share a logAny BMS/CAN export with cell voltages, current and temperatures. We agree how to transfer it.
  2. We run the MW Battery EngineMeasured signals, ten physics checks, the Bayesian model and a life forecast.
  3. You get the MW Battery Assessment ReportFindings with evidence, confidence, actions and time horizons, plus its limits.

Prefer email? rahul.modak@bayesiananalytics.in

About the battery system

We use your details only to reply. Logs are shared separately, after we agree how.