How we filled 836 missing specs — without guessing
- site-updates
- data-quality
If you have researched an EV on this site, you have probably hit a blank spot: the trim you care about is missing its crash-test rating or its cargo volume, even though the trim next to it has both. Our worst offender was the NHTSA overall safety rating — missing on 770 of our 1,602 vehicle listings, nearly half the database.
This week we filled 836 of those blanks. It cost nothing, involved no guesswork, and every filled value can be traced back to exactly where it came from. Here is how.
The data was already in the database
EVpedia lists every trim of every model separately, because trims genuinely differ — range, power, price, wheels. But many specs are properties of the body, not the trim. A Kia EV6 Wind and an EV6 GT-Line on the same platform share a wheelbase. Crash-test ratings are issued per model and drivetrain, not per trim level.
Our data sources don't always see it that way. A government dataset might match one trim's name and not its siblings', leaving the same physical fact recorded on one row and missing on the one beside it. So the fix was not to go find new data — it was to let the database fill itself in, sideways, within each (manufacturer, model, year) family.
The rules that make it safe
Copying specs between trims is only a good idea if it cannot be wrong. The script that does this follows a few hard rules:
- Unanimity. A blank is filled only when every sibling trim that has the value agrees on it exactly. One disagreement and the field is skipped — and logged as a data-quality conflict for us to investigate instead.
- Drivetrain matters. NHTSA rates rear-wheel-drive and all-wheel-drive variants separately, so safety ratings only propagate between trims with the same drivetrain. In our validation run, the rear-wheel-drive 2026 Hyundai Ioniq 5 was correctly refused the five-star rating its all-wheel-drive siblings carry — exactly the mistake this rule exists to prevent.
- Trim-variant specs never propagate. Seating capacity (a Kia EV9 seats six or seven depending on trim), tow ratings (the Mustang Mach-E GT deletes the tow option), body style, and award-style ratings that depend on optional equipment are permanently excluded.
- Physical dimensions need corroboration. Fields like ground clearance and cargo volume require at least two agreeing donor trims, plus every trim in the family sharing an identical wheelbase — a cheap proof they really are the same body.
Before we let any of this touch the live database, six independent AI review agents were pointed at the code with instructions to break it. They confirmed 18 real problems — including the drivetrain hazard above — and every one was fixed before the first production write.
The results
One deterministic pass, 836 field-fills across 267 listings, zero write failures, and a random spot-check of 25 filled values verified against the live site afterward:
| Field | Coverage before → after | Values filled |
|---|---|---|
| NHTSA overall rating | 51.9% → 65.0% | +210 |
| NHTSA frontal crash rating | 54.4% → 66.7% | +197 |
| NHTSA side crash rating | 53.7% → 66.6% | +206 |
| NHTSA rollover rating | 56.3% → 67.1% | +173 |
| Airbag count | 96.8% → 98.3% | +24 |
| Ground clearance, frunk & dims | — | +26 |
As a bonus, cleaning up for this work meant normalizing the charging-port location field, which had drifted into 70 different spellings of the same handful of physical locations ("Driver Side Rear", "rear_left", "Rear driver side"…). Those collapsed to 12 canonical values, which then let port location propagate too — another 68 fills, taking that field to 89% coverage.
What it cost, and what happens next
Nothing, and it keeps running. There is no AI involved at write time — the pass is plain deterministic code, so it costs $0 to run and produces the same answer every time. Each filled value records which sibling trims it came from, so nothing here is untraceable.
The sweep now runs weekly, right after our automated syncs with Natural Resources Canada, NHTSA, and EPA data — so when official data lands on one trim, its siblings pick it up automatically within the week.
The pass also surfaced 1,063 conflicts — places where sibling trims disagree on a value that should probably match. That list is now a standing to-do for data quality, and you will likely see the results of working through it in future posts.
Fewer blanks, no guesses. Happy EV hunting.