How we calculate your Tesla battery health
No black boxes. Every number on your Tesla dashboard and passport is derived from raw Tesla Fleet API data using the formulas below. The same inputs always produce the same outputs — so anyone can verify our work. This page covers Tesla only; BYD and Volvo have separate methodologies because their BMS exposes different signals.
The short version — what VoltValue actually does, in four steps.
Technical specification — for engineers and sophisticated buyers
Before the formulas, here's the everyday version of what VoltValue does behind the scenes — no engineering required.
- 1You connect your Tesla onceThrough Tesla's official login page (OAuth). We get a read-only key. We can never unlock, honk, drive, or change anything in your car.
- 2Once a day, automaticallyOnce a day (automatically, at 2 AM UTC) we ask Tesla for your battery level, mileage, and charging sessions — whether or not you have the app open. You'll also get a fresh reading any time you tap Refresh or generate a new Passport.
- 3Each daily reading is saved to your accountOn day one we pull up to 180 days of past charging history straight from Tesla, so most cars already have a rich baseline the moment you connect. From then on each daily snapshot grows the record — typically you'll see real behavioural patterns emerge within the first few weeks: how often you use Superchargers, how often the battery sits in the healthy 20–80% zone, etc.
- 4When you're ready to sell, we issue a passportWe pull a fresh live snapshot, run the formulas below, and produce a single-page certificate with a public verification link buyers can scan.
Pull raw data from Tesla
When you click Generate Passport, we call the official Tesla Fleet API endpoint /api/1/vehicles/{id}/vehicle_data with three endpoint groups:
- charge_state — battery_level (%), ideal_battery_range (mi), charge_limit_soc
- vehicle_state — odometer (mi)
- vehicle_config — car_type, trim_badging, exterior_color
Project full-charge range
Tesla reports the ideal_battery_range at your current state of charge. We linearly project that to a 100% charge:
range_at_100% = (ideal_battery_range / battery_level) × 100
Example: a Model 3 LR showing 220 mi at 65% projects to (220 / 65) × 100 = 338.5 mi at full charge.
Compare to EPA-rated range
We divide the projected full-charge range by the original EPA-rated range for your exact model, year, and trim:
SoH (%) = (range_at_100% / EPA_rated_range) × 100
On your dashboard, we display the SOC-weighted median of up to 180 days of snapshots — not a single live reading. Snapshots taken at SOC ≥ 80% are weighted 2×, SOC 50–79% at 1×, SOC 20–49% at 0.5×. The median resists outlier days caused by temperature or unusual driving. The live reading is shown separately so you can see both. Snapshots taken within 3 days of a Tesla OTA software update are excluded to avoid artificially shifting the trend.
EPA-rated values come from Tesla's filings (e.g. Model 3 LR 2021+ = 358 mi, Model Y LR 2024+ = 310 mi, Model S Plaid = 396 mi). Values below 75% are flagged as LOW rather than discarded — high-mileage cars can legitimately reach this range. Values outside 70–100% are flagged as sensor anomalies and excluded from the median — never clamped or adjusted.
LFP vs NMC chemistry
We detect battery chemistry from three signals in priority order: average cell voltage from your uploaded BMS CSV (< 3.5 V = LFP), VIN prefix (LRW… = China-built LFP), and model/year/trim fallback (Model Y RWD 2023+, Model 3 RWD 2021+ = LFP). LFP packs use a different energy-per-mile baseline and a wider cross-check tolerance (±12 points vs ±7 for NMC) because range-based SoH is less precise for flat-voltage-curve chemistries.
Compute cycles & degradation rate
Cycle count is derived from the actual energy you've put through the pack. We sum every kWh logged in your daily telemetry (home + Supercharger) and divide by usable pack capacity. If you have no telemetry yet, cycles is shown as '—' — never a guess from odometer.
cycles = Σ(kwh_charged_home + kwh_charged_supercharger) / pack_kWh_usable
Pack capacity (usable): Model 3 LR/Performance ≈ 78 kWh, Model Y LR ≈ 75 kWh, Model Y Standard (LFP) ≈ 57.5 kWh, Model S ≈ 100 kWh (Plaid 95), Model X ≈ 100 kWh (Plaid 95).
degradation_rate (%/yr) = (100 − SoH) / vehicle_age_years
Compare against comparable Teslas
Your SoH is benchmarked against the live mean of the latest health report from every Tesla in our database that matches your model, year, and 20,000-km mileage band. No external benchmark, no hardcoded number — if 18 other 2022 Model 3s with 60–80k km are in the fleet, we average those 18. When the same-segment cell has fewer than 5 cars we widen scope to same model + year, then same model, and label the comparison accordingly. The segment average is recomputed every time a new passport is generated.
fleet_avg = mean(latest_report.soh_pct for peers in same model + year + 20k-km mileage band)
When even the broadest cohort (model only) has fewer than 5 comparable cars, the certificate omits the fleet comparison entirely rather than show a fabricated number.
Sign & publish the passport
Each passport is written to our database with a unique public_slug and a tamper-evident URL at /passport/{slug}. Buyers can verify authenticity at any time via the public verify endpoint — /api/public/verify/{slug} — which returns the issuance timestamp and the original SoH reading.
Where every number on your report comes from
Every figure on the dashboard and passport is computed from real data only. SoH comes from the live Tesla Fleet API snapshot (or your uploaded BMS CSV, cross-checked against the live Fleet API within ±7 points for NMC / ±12 points for LFP). Cycle count comes from your actual logged charging sessions — never approximated from mileage. Fleet average comes from the live mean of every Tesla currently connected to VoltValue. If a value can't be computed (no telemetry yet, no other cars in the fleet), we show '—' rather than a fabricated number.
Three terms worth knowing
We use these phrases throughout the dashboard and passport. Here's what they actually mean.
- EPA-rated range
- The Environmental Protection Agency (EPA) is the U.S. government body that tests and certifies how far an electric vehicle can travel on a full charge under standardized conditions. Unlike European WLTP tests (which tend to be optimistic), EPA ratings use a stricter five-cycle test that includes city, highway, high-speed, cold-weather, and air-conditioning scenarios. We use EPA as the baseline because Tesla's own range claims are based on EPA filings, making it the apples-to-apples standard when comparing real-world degradation.
- Ranking (against the fleet)
- Instead of saying 'your SoH is 92.3%' (a number nobody can verify perfectly), we line your car up next to other Teslas of the same model, year, and similar mileage and tell you where you stand — e.g. 'top 15% of 2021 Model 3s with 60–80k km.' The relative position is far more reliable than the absolute number, because any measurement error cancels out when every car is measured the same way.
- VoltValue fleet
- The full set of Teslas connected to VoltValue. We use this group as the live benchmark when ranking your car. The fleet average is the mean SoH of the latest passport from each connected Tesla — recomputed every time a new passport is issued, never hardcoded. If you're the first connected Tesla, the fleet average simply won't appear yet — same idea as a third-party vehicle history database: the more cars in the database, the stronger the signal.
An honest answer about accuracy
We don't claim to measure your battery cells directly — nobody outside Tesla can. Here's what we actually do, and why it still matters more than what your car's screen says.
How we keep BMS uploads honest
Verified passports use BMS data the owner uploads from Scan My Tesla, TeslaFi, or TeslaMate. CSV files can technically be edited, so we run three independent layers of defense before a Verified badge is ever issued.
- 1Sanity bounds at upload timeWe reject any nominal_full_pack value above 102% of the factory new-pack rating, or below 50% of it. A common tampering attempt — bumping 72.5 kWh to 78 kWh on a 78.5 kWh pack — is caught instantly because the gain is not physically possible.
- 2Live cross-check against Tesla Fleet APIWhen the passport is generated, we fetch a fresh range-based SoH directly from Tesla and compare it to the BMS SoH. If the two disagree by more than ±7 percentage points (NMC) or ±12 percentage points (LFP), we refuse to issue the certificate. Faking the BMS file alone is not enough — the car would actually have to drive farther on a charge.
- 3Transparent provenance on the certificateVerified passports explicitly say 'Verified · BMS + Fleet API cross-check' and the methodology line states the BMS data is user-submitted. Buyers see exactly what was measured and how it was confirmed — there is no hidden 'trust us' layer.