CarKept

Methodology & Data Source

Data source

All statistics on this site are calculated from the Driver and Vehicle Standards Agency (DVSA) “Anonymised MOT tests and results” dataset, published on data.gov.uk under the Open Government Licence v3.0. This site contains public sector information licensed under the OGL.

This site’s dataset

Filters applied

Only test class 4 vehicles are included. DVSA defines class 4 as “cars, passenger vehicles, motor caravans, private hire vehicles, motor tricycles, quadricycles and dual-purpose vehicles” up to eight passenger seats, plus goods vehicles up to 3,000kg and taxis/ambulances. This is the closest DVSA test class to “cars”, but the dataset has no separate body-type field, so a small number of light vans, motor caravans and taxis are included alongside cars within class 4.

Only normal (initial) tests are included (DVSA test type “NT”), excluding retests, partial retests and appeals. This matches DVSA’s own published effectiveness-report methodology, which uses “Normal (Initial) tests with outcomes of Pass, Fail or PRS” and omits all other test types.

Pass rate counts both straightforward passes and “Pass with Rectification at Station” (PRS) — where a defect was fixed on the spot before the certificate was issued — as a pass, since the vehicle left with a valid MOT either way.

Failure reasons are drawn from tests with a Fail or PRS outcome, using only test items marked as a Fail-type or PRS-type reason for rejection (excluding advisory notices and minor items that do not affect the test result). Each reason is mapped to its top-level DVSA test item category (e.g. “Brakes”, “Tyres”) using DVSA’s own item/RfR lookup tables.

Average mileage excludes tests with a blank or zero mileage reading, which DVSA’s documentation notes means no reading was taken (for example, an aborted test).

Make and model normalisation

The raw DVSA data records make and model as free text entered by the tester, which contains inconsistent capitalisation, spacing, misspellings and, for a small number of makes, genuine duplicate entries (for example “VW” and “VOLKSWAGEN”, or “MERC” and “MERCEDES-BENZ”). These are merged using an explicit, manually reviewed alias list rather than automatic fuzzy matching, so that genuinely distinct historic marques (for example “ROVER”, which is not the same manufacturer as “LAND ROVER”) are not merged incorrectly. See the README for the full list.

Minimum sample size

A make or model only gets a page on this site if it has at least 1,000 qualifying tests in the dataset. This avoids generating pages from small, noisy samples.

Within a model’s page, an individual vehicle-age band only shows a pass rate or average mileage if it has at least 30 qualifying tests. A model can clear the 1,000-test threshold overall while still having only a handful of tests in one age band (for example, very few near-new examples of an otherwise common older model) — showing a rate from a single-digit sample would be misleadingly precise, so those bands are marked as having too few tests rather than shown as a rate.