SOHpro

Your electric's passport — the historical battery-health record powered by scans from any partner shop.

Get your real Score at a partner shop

This page explains our data. Your battery deserves the real measurement — not an estimate.

DATA & METHODOLOGY

What's behind every SOHpro Score

Transparency is part of the product. Every threshold, every reference band, and every coefficient we use to compute a SOHpro Score is published below — with the source you can verify yourself.

This is the transparency. Your real Score is built by measuring your battery at a partner shop — this page exists so you know exactly what we do with the data once it arrives.

Counts are live from our catalog · Sources extracted from the codebase · Updated automatically

Live catalog

We publish current numbers from public.ev_catalog. No marketing inflation — these are the same rows the scoring engine reads.

1000
Models tracked
100
Brands covered
984
With known chemistry
96
Verified (≥2 cross-checked sources)

Chemistry distribution

LFP253(25%)
NMC693(69%)
NCA38(4%)
?16(2%)

Why it matters: chemistry decides how we read ΔV imbalance, how fast a battery should age, and which OCV-SOC curve we compare against. A score computed without chemistry uses fleet-default NMC math, which we surface as lower confidence.

Reference bands published

Every threshold the score uses is a published band with a primary source. The colored zones in your report come from this table — no hidden math. Bands version 4.0.0 (May 2026) recalibrated the LFP knee-region historical cell-spread band to 350 / 550 / 700 mV. Version 3.0.0 introduced the 7-tier letter rating over the composite Score (A+ / A / B+ / B / C+ / C / D) detailed in the section below, plus the customer-facing expectation chip that compares your battery to its physical-age baseline. Version 1.1.0 (April 2026) added five first-visit indicators: round-trip energy efficiency, coulombic efficiency, cell voltage σ, HV insulation margin, and OCV deviation.

MetricUnitZonesPrimary source
soh%
USABC Electric Vehicle Battery Test Procedures Manual, Rev. 2 (DOE/INL, 1996) — 80% rated-capacity end-of-life definition
sohproScorescore
SOHpro composite-Score product calibration
deltaVmV
Schuster et al. (2015) — Lithium-ion cell-to-cell variation during BEV operation, JPS 297:242–251
annualDegradation.nmc%/yr
Geotab — 22,700 Vehicle Battery Health Study
annualDegradation.lfp%/yr
Preger et al. 2020 (Sandia) — Degradation of Commercial Lithium-Ion Cells as a Function of Chemistry and Cycling Conditions, J. Electrochem. Soc. 167:120532
annualDegradation.nca%/yr
Preger et al. 2020 (Sandia) — Degradation of Commercial Lithium-Ion Cells as a Function of Chemistry and Cycling Conditions, J. Electrochem. Soc. 167:120532
degPer1k.nmc%/1k km
Geotab — 22,700 Vehicle Battery Health Study (NMC anchor)
degPer1k.lfp%/1k km
Preger et al. 2020 (Sandia) — Degradation of Commercial Lithium-Ion Cells as a Function of Chemistry and Cycling Conditions, J. Electrochem. Soc. 167:120532
degPer1k.nca%/1k km
Preger et al. 2020 (Sandia) — Degradation of Commercial Lithium-Ion Cells as a Function of Chemistry and Cycling Conditions, J. Electrochem. Soc. 167:120532
thermalOperating°C
Nature Scientific Reports — Aging of Li-ion above Room Temperature
cellThermalSpread°C
Battery Design — Cell-to-Cell Temperature Gradient
roundTripEnergyEfficiency%
NREL — Battery Energy Storage Testing Procedures (DC-side counter analysis)
coulombicEfficiency%
NREL — Battery Lifetime Testing & Modeling (Smith K. et al.)
cellVoltageStdDevmV
Schuster et al. (2015) — Lithium-ion cell-to-cell variation during BEV operation, JPS 297:242–251
insulationMargin×
ISO 6469-3:2021 — Electrically propelled road vehicles, safety specifications, electrical safety
ocvDeviationmV
Plett, G. (2015) — Battery Management Systems Vol. II: Equivalent-Circuit Methods
lfpHistoricalCellSpreadmV
Dubarry, M., Devie, A., Liaw, B. Y. (2017) — Identifying battery aging mechanisms in large format Li-ion cells, J. Power Sources 360

Letter rating (A+ → D)

The headline rating in your report is a 7-tier letter scale over the SOHpro Score (a 0–100 composite combining BMS-reported SOH 43%, cell voltage balance 22%, degradation pace 20%, energy efficiency 5%, OCV-SOC consistency 5%, and thermal uniformity 5%). The letter is not raw SOH%; it is the integrated health index.

MetricZonesUnit
A+≥ 97Excellent
A93 – 96Very good
B+88 – 92Good
B82 – 87Acceptable
C+76 – 81Mild attention
C70 – 75Attention
D< 70Service review

Lower cuts (70 / 76) reflect the convergence of OEM warranty floors — most manufacturers guarantee ≥70% at 8 yr / 100k mi (Tesla, Ford, VW, Hyundai/Kia, BMW, Mercedes, Polestar, Volvo); the 76 cut separates 'warranty-margin' cars from 'near-floor'. Upper cuts (88 / 93 / 97) reflect the empirical density of the global EV fleet per Geotab 2026 (22,700 vehicles, fleet-avg 2.3%/yr) — most healthy EVs in their first 100k km live above 88, and we want to differentiate 'near-new' (97+) from 'well-cared-used' (88–93) for resale and insurance pricing signal. The 7-tier scheme is product + empirical; no scientific paper claims these exact buckets. The bands_version stamp on every report row preserves the original letter at scan time so future scale revisions cannot re-letter historical scans.

When the letter is rendered

The letter follows the composite Score's confidence — not legacy SOH-only confidence. When it appears, when it hides, and where the SOH number comes from:

  • It appears when

    The composite Score is non-zero, the scan exposes at least one measurable signal (cell balance, thermal, capacity, BMS SOH, or trajectory), AND at least half of the score's weight actually scored.

  • It hides when

    The unscoreable tier (zero signals evaluable, Score 0 by construction), or coverage below half (no measured capacity and no degradation rate). Both the number and the letter give way to a neutral “estimated” state.

  • Estimated-SOH reports still letter

    Reports routed through estimated-SOH paths (cycle-count, km-age, physical-model) still show a letter when coverage is enough, because cell balance + thermal account for 27% of the composite weight, measured directly.

  • Quality gate — at rest, measured-first

    Cell balance (ΔV) and voltage-consistency are scored only when the pack is at rest, and that rest check sizes itself off the battery's measured capacity (the BMS's amp-hours, or the scanner's kWh) — biasing conservative, discarding borderline readings, when only an unverified catalog estimate exists, so an unverified spec can never relax the bar (score engine 1.4.0).

Where the SOH number comes from — measured first

SourceKindPriority
BMS SOH% — reported directly by the carMeasured1 — highest
BMS capacity ratio — current ÷ factory amp-hours (textbook State of Health)Measured2
Two-visit coulometry — energy observed across scansMeasured3
Cycle-count / km-age / physical-modelEstimated4 — fallback

The report always labels which path produced the number, with a “?” explainer next to it (Report Technical Guide §3.1). The legacy 4-tier grade (Excellent / Good / Fair / Attention) is preserved in the database for projection copy but is no longer the headline. Since July 2026 (engine 1.6.0), only the Measured rows of this table may become points in a vehicle's longitudinal SOH history and in our calibration ledger — estimated values are shown on their own report but never feed the trend, the degradation rate, or the model's self-evaluation (Report Technical Guide §3.10, the anticircularity rule). Measured non-BMS points carry an “estimated” disclosure badge next to the trend chart.

Expectation band — Δ vs physical-age baseline

Next to the letter we show how your battery compares to the physical-aging baseline for its age + kilometres + chemistry + climate. This is the existing `sohGradeContextual` Δ ladder (−1 / −3 / −6 percentage-point thresholds, calibrated against the Arrhenius-plus-cycle-life model documented in §3 of the technical guide), surfaced as a 4-state chip. The asymmetric ladder is preserved verbatim from prior bands_version releases; only the top tier splits at +1 pp to introduce a positive-direction signal.

  • Above expectedΔ ≥ +1 pp

    Battery is healthier than the model predicts for this age + km. Rare and good.

  • In line with age−1 ≤ Δ < +1 pp

    Within the model's ±1 pp band — typical aging for this chemistry, climate, and usage.

  • Below expected−6 ≤ Δ < −1 pp

    Trailing the model. Often early imbalance or above-average thermal stress.

  • Far below expectedΔ < −6 pp

    Material divergence from the model. Worth a technician deep-dive at the next visit.

Models in production today

These are the models running every time you generate a Score. Each is chemistry-aware where the science demands it.

  • Composite SOHpro Score — weighted combination of BMS SOH (43%), ΔV (22%), degradation pace (20%), thermal (5%), OCV consistency (5%), round-trip efficiency (5%). Components with missing inputs renormalize, never default to mid-band placeholders.
  • Chemistry × SOC ΔV thresholdsDELTA_V_STATE_THRESHOLDS_MV keyed by NMC/NCA/LFP/LTO and three SOC zones. LFP plateau (mid-SOC) gets the strictest thresholds because the plateau hides imbalance.
  • Contextual SOH gradesohGradeContextual measures observed SOH against expectedSohAtKmAndAge, which combines cycle fade (km × per-1000-km rate) with calendar fade (K · √year, K per chemistry).
  • Cycle-count fallback SOHsohFromCycleCount uses Sandia/NREL per-FEC loss rates when the BMS doesn't report SOH directly. Refuses to estimate without chemistry; floors at 50% to avoid runaway.
  • OCV-SOC consistency with rest gating — refuses to score when the pack is under load (|I|>2 A) or recently cycled (<30 min rest), so polarization isn't charged as imbalance.
  • LFP plateau detection — OCV check is automatically suppressed for LFP at 20–80% SOC where the voltage curve is too flat to be informative.
  • Projection scenarioscomputeProjections returns linear-from-pace; empiricalOptimistProject returns a chemistry-aware dampened scenario (τ NMC=50k / LFP=80k / LTO=120k km).

Country & climate context

Climate adjusts calendar fade through a coarse zone classifier (temperate / warm / tropical). It is best-effort: when zone is unknown the score falls back to the chemistry-only baseline, never blocks. Defaults below; users can override per VIN. Since engine 1.7.0 the same calendar term also carries a thermal-management offset: passively-cooled packs (no active cooling — e.g. Nissan Leaf, Renault Zoe, VW e-Golf) run the physics at +10 °C effective, forced-air at +5 °C, liquid-cooled at baseline. Source for the magnitude: Geotab's 10,000-vehicle fleet study (2015 Leaf, passive: 4.2 %/yr vs 2015 Model S, liquid: 2.3 %/yr) — fleet telemetry, not peer-reviewed; we model the conservative edge of the observed range: https://www.geotab.com/blog/ev-battery-study/ — when the cooling type is unknown, no adjustment is applied.

CountryDefault zoneNote
🇺🇾 UruguayTemperateCountry-wide
🇨🇷 Costa RicaTemperateCoast & lowlands (Guanacaste region, Liberia, Limón, Puntarenas, beach towns) override to Tropical
🇲🇽 MéxicoWarmCDMX overrides Temperate; Monterrey/Mérida Tropical
🇨🇴 ColombiaWarmBogotá overrides Temperate; Cartagena/Barranquilla Tropical
🇧🇷 BrasilWarmCuritiba/POA Temperate; Manaus/Recife Tropical

Range estimation inputs

Translating SOH into kilometres uses four numerical inputs alongside the catalog's WLTP range and usable kWh. Each input has a primary source and is published below — same audit standard as the score reference bands. The technical guide §15 documents the full math; this table is the at-a-glance audit.

InputValuePrimary source
Climate consumption multiplier — temperate (15–25 °C avg)× 1.00Baseline (no AC penalty assumed)
Climate consumption multiplier — warm (25–32 °C avg)× 1.07Midpoint between temperate baseline and AAA Foundation 2019 hot+AC bound
Climate consumption multiplier — tropical (>32 °C avg)× 1.15AAA Foundation 2019 — hot+AC at 35 °C measured 17 % range reduction (≈ × 1.20 consumption); 1.15 is a conservative tropical mid-band
Real-world consumption factor (vs WLTP cycle)× 1.18ADAC EcoTest aggregate, 100+ EVs since 2017 — WLTP-vs-real ratio 0.78–0.85; reciprocal ≈ 1.18× consumption
P10 factor (adverse conditions vs P50)× 0.80Liu et al. 2021, *Renewable and Sustainable Energy Reviews* 156, 111934 — energy-budget estimators cluster at 10–15 % MAPE; band widened on adverse side
P90 factor (favorable conditions vs P50)× 1.15Liu et al. 2021 — band asymmetry favors adverse spread
Fallback consumption (when WLTP + usable kWh unavailable)160 Wh/kmLiu et al. 2021 — conservative real-world average for compact NMC EVs; REAL_WORLD_FACTOR is NOT applied on top (160 already approximates real-world)

Note: cold-climate rows are intentionally not modeled — LATAM-first scope. The table needs cold rows (heater load below 0 °C adds 25–40 % consumption per AAA + Idaho National Laboratory fleet studies) before any cold-market launch. We do not claim the range estimate is accurate to ± any specific number — that would require an internal validation run we have not yet published.

Sources we cite

Deduplicated list of every primary and corroborating source published in our reference bands. Click through — every URL is real.

Our data commitments

  • No hallucinated specs. A row enters the catalog with verified=false until two independent sources agree on chemistry, capacity, and pack details. Verified rows show their source list.
  • Confidence travels with the data. When chemistry is unknown, the score uses NMC defaults and surfaces the assumption — it does not silently grade as if data were complete.
  • Reference bands are locked to published research. We do not move thresholds to flatter results. Every band cites a primary URL you can audit.
  • Climate is best-effort. The coarse zone classifier improves the projection when present and is skipped when unknown — it never blocks a report.
  • Old reports do not silently re-grade. When we update models, new scans get the new math; existing reports are preserved unless an explicit migration is approved and announced.

Ready for your real Score?

Everything above runs the moment a partner shop scans your battery. The demo report shows what you receive — verified, co-signed, locked to the VIN.