MOT Testing Data - User Guide

Introduction
Section 1 of this document aims to provide a brief overview of the MOT test and an introduction to the data provided in the MOT Testing Data Extract. Section 2 provides technical details of the datasets provided.
Section 1 - Understanding the MOT Data
What is the MOT Test?
Sections 45 to 48 of the Road Traffic Act 1988 provide the legislative basis for MOT testing. The purpose of the MOT test is to ensure that cars, other light vehicles (including some light goods vehicles), private buses and motor bicycles over a prescribed age are checked at least once a year to see that they comply with key roadworthiness and environmental requirements in the Road Vehicle Construction and Use Regulations 1986 and the Road Vehicle Lighting Regulations 1989 as amended. A Test Certificate is issued following successful completion of an examination.
The Test Certificate relates only to the condition of testable items at the time of the test and should not be regarded as evidence:
• of their condition at any other time;
• of the general mechanical condition of the vehicle; or
• that the vehicle fully complies with all aspects of the law on vehicle construction and use.
The test does not require the dismantling of parts of the vehicle although doors, boot lids and other means of access will normally need to be opened. In the case of motor bicycles, cover panels may also need to be removed or raised to examine the vehicle structure.
Detailed legislation on vehicles exempt from the MOT is set out in the Motor Vehicles Test Regulations 1981 regulation 6 (as amended), and in the Road Traffic Act 1988 Section 189. Examples of vehicles exempted from MOT testing include electrically propelled goods vehicles, track laying vehicles, vehicles constructed or adapted to form part of an articulated combination, works trucks, trailers, pedestrian controlled mechanically propelled vehicles and electrically powered pedal cycles. Legislation also exempts vehicles used in particular ways (e.g. travelling to and from test) or particular places (e.g. some islands) from the need to have a valid MOT test certificate. It should also be noted that even when a vehicle is not required to have a test certificate it must still be maintained in a roadworthy condition.
The MOT test is conducted principally at private garages and by some local authorities. These are authorised, or designated as appropriate, by VOSA, and known as Vehicle Testing Stations (VTS). VTS and their staff are subject to inspections by VOSA to ensure that testing is properly carried out using approved test equipment. Only specifically approved people may conduct tests, sign official test documents, and make database entries. VTS may only test those classes and types of vehicle that they are authorised to test and which are of a size and weight that can be accommodated on the authorised test equipment.
Test Classes
The vehicles subject to test under the Regulations are divided into the following classes: -
Class |
Description |
Age at which first test is required (years) |
1 |
Motor bicycles (with or without sidecars) up to 200 cm3 |
3 |
2 |
All motor bicycles (including Class 1) (with or without sidecars). |
3 |
3 |
3 wheeled vehicles not more than 450 kg unladen weight (excluding motor bicycles with side cars). (3 wheeled vehicles more than 450 kg unladen are in class 4.) |
3 |
4 |
Cars, passenger vehicles, motor caravans, Private Hire Vehicles, Motor Tricycles, Quadricycles and dual purpose vehicles in all cases with up to eight passenger seats |
3 |
Goods vehicles not exceeding 3,000 kg Design Gross Weight (DGW). |
3 | |
Taxis and ambulances in either case with up to eight passenger seats. |
1 | |
Passenger vehicles, ambulances, motor caravans and dual purpose vehicles in all cases with nine to twelve passenger seats that; • are fitted with no more seat belts than the minimum required because of their construction; or • are identified as having been fitted with a type approved seat belt installation when built; or • have been tested as class 4A, 5A or 6A (PSV) with at least the same number of seat belts as are currently fitted. |
1 | |
4A |
The class 4A test is the normal class 4 test with the addition of a check on the installation of certain seat belts. Passenger vehicles, ambulances, motor caravans and dual purpose vehicles in all cases with nine to twelve passenger seats that: • are fitted with more seat belts than the minimum required because of their construction and: • are not identified as having been fitted with a type approved seat belt installation when built; or • have not been tested as class 4A, 5A or 6A (PSV) with at least the same number of seat belts as are currently fitted. |
1 |
5 |
Private passenger vehicles, ambulances, motor caravans and dual purpose vehicles in all cases with thirteen or more passenger seats (including community and play buses, etc.) that: • are fitted with no more seat belts than the minimum required because of their construction; or • are identified as having been fitted with a type approved seat belt installation to all seats when built; or • have been tested as class 5A or class 6A (PSV) with at least the same number of seat belts as are currently fitted. |
1 |
5A |
The class 5A test is the normal class 5 test with the addition of a check on the installation of certain seat belts. Passenger vehicles, ambulances, motor caravans and dual purpose vehicles in all cases with thirteen or more passenger seats (including community buses, etc.) that: • are fitted with more seat belts than the minimum required because of their construction and: • are not identified as having been fitted with a type approved seat belt installation when built; or • have not been tested as class 5A or class 6A (PSV) with at least the same number of seat belts as are currently fitted. |
1 |
7 |
Goods Vehicles over 3,000 kg up to and including 3,500 kg DGW |
3 |
NOTE: A number of records have Test Class ‘NA’. These reflect tests carried out prior to MOT Computerisation, for which a duplicate or replacement test certificate was requested. This process created a valid test record, which has been included for completeness.
What do the datasets contain?
The MOT Testing data release is comprised of two main groups of data, each divided into calendar year.
• Test Results, containing: -
o Information about the time, place and final outcome of the MOT test.
o Information about the vehicle tested.
• Test Items, which contains information about individual RfRs (Reasons for Rejection) discovered during the test.
The remaining three datasets contain further information about individual RfRs, and the groups within which they can fall.
The current release contains test data from 01/01/2005 to 31/03/2010. MOT Computerisation was not fully implemented across Great Britain until 01/04/2006, therefore the dataset will not contain all tests performed between 01/01/2005 and 31/03/2006.
The data encompasses all tests for which a valid MOT pass could have been a potential outcome.
The MOT Testing Data release contains approximately 150 million tests, with 250 million associated test item records. As such, analysis will need to be performed using a suitable database system (e.g. MS SQL, MySQL, PostgreSQL, Oracle).
Test Result Data
Vehicle Mileage, Vehicle Colour, Fuel Type and Cylinder Capacity are as entered or validated by the Nominated Tester (NT) at the point of test.
A high level postcode region is provided. To avoid identification of any individual VTS, any region with less than 5 active sites on 31/03/2010 is merged under the code ‘XX’.
Vehicle make and model data is sourced from the DVLA’s vehicle registration dataset. A small proportion of vehicles (ca. 0.7%) do not have a valid record, and have therefore been marked ‘UNCLASSIFIED’.
Vehicle date of first use has been reduced to year to help prevent identification of individual vehicles. Vehicles that have an unknown date of manufacture are allocated a first use date of 01/01/1971 by the DVLA. As a result of this, data for 1971 will show anomalies.
Test Outcomes: -
Result |
Result Code |
Notes |
Pass |
P |
Test Pass |
Fail |
F |
Test Fail |
Pass with Rectification at Station |
PRS |
The process where minor defects may be rectified within one hour after the test, but before recording the result on the VTS Device (Vehicle begins test in a fail condition, but is in pass condition when result is input). |
Abandon |
ABA |
The term used when a test cannot be completed because the NT considers it unsafe to continue or because it becomes apparent during the test that certain items cannot be satisfactorily inspected. An appropriate fee may be charged for the test. |
Abort |
ABR |
The term used when a test cannot be completed because of a problem with the testing equipment or the NT. No fee may be charged for the test. |
Refusal to Test |
R |
An NT may refuse to test a vehicle for a number of specified reasons. If the presenter insists on documentation to show the Refusal then a test record will be created on the system |
Test Types: -
Test Type |
Type Code |
Notes |
Normal MOT test |
N |
Full initial test |
Full retest |
F |
Full retest of vehicle. Derived by system, not selected by NT |
Partial retest (minor items) |
PM |
Free partial MOT retest when vehicle has left VTS for repair of minor items only, and returned by close of next working day. |
Partial retest (repaired at VTS) |
PR |
Free partial MOT retest where vehicle has remained at VTS for repair. |
Refusal to test |
RF |
Refusal to test - customer has requested documentation. |
Partial Retest Left VTS |
PL |
Chargeable (half standard fee) partial MOT retest when vehicle has left VTS for repair of any items, and returned by close of next working day. |
Fuel Types: -
Fuel Type |
Type Code |
Notes |
Petrol |
P |
|
Diesel |
D |
|
Electric |
E |
|
Steam |
S |
|
LPG |
L |
Liquefied Petroleum Gas |
CNG |
C |
Compressed Natural Gas |
LNG |
N |
Liquefied Natural Gas |
Fuel Cells |
F |
|
Other |
O |
Test Item Data
Dangerous item markers are recorded at the discretion of the NT at the point of test.
RfR Types: -
RfR Type |
Type Code |
Notes |
Fail |
F |
A test failure item. |
PRS |
P |
An item in a failing state at the point of test, repaired within one hour of the test and before the result was entered. |
Advisory |
A |
An Advisory Notice |
Test Item Detail and Grouping
Each unique, usable combination of RfR ID and Test Class is a ‘leaf’ within the test item hierarchy. Every RfR can be grouped within one or more levels below its parent vehicle class.

Where a Test Item is of type Fail or PRS, the RfR description is printed upon the VT30 (test failure document). Where a Test Item is of type Advisory, the Advisory text is printed upon an accompanying advisory notice.
Failure Item Locations
Test Items may have 0-3 Failure Location details associated, for example, Front Offside, Rear Nearside Upper.
Front

Offside Nearside
Rear
Comparison with VOSA published statistics
Historically, VOSA has published MOT testing volumes and failure rates as part of its annual Effectiveness Report. Traditionally, Normal (Initial) tests with outcomes of Pass, Fail or PRS are used. All other tests are omitted.
Failure rates have been calculated as follows: -
Initial failure rate = (Test Fail Results + Test PRS Results) / Total Tests
Final failure rate = Test Fail Results / Total Tests
Initial Failures by defect category are calculated using a count of distinct tests with one or more Fail or PRS type Test Items associated. The categories used are derived from the top level items in the Test Item hierarchy.
Section 2 - Dataset Specification
Data is provided in a ‘csv like’ format, using the pipe character ‘|’ as a delimiter. The carriage return character signifies the end of a record. Examples of create table syntax with suggestions for indexing are provided, in a form suitable for a MySQL database. Import syntax for this database type would be as follows: -
LOAD DATA LOCAL INFILE 'file-name'
INTO TABLE table-name
FIELDS TERMINATED BY '|'
LINES TERMINATED BY '\n'
;
Entity Relationship Diagram

Vehicle Test Result
This contains details of individual MOT tests and of the vehicle tested. All tests which could result in a valid pass result are included. Datasets are provided by calendar year and can be concatenated if required.
Column Name (Suggested) |
Description |
Type |
Length |
Notes |
Test ID |
Unique Identifier for a test |
Integer |
10 |
Primary Key |
Test Date |
Date of Test |
Date |
Format ‘YYYY-MM-DD’ | |
Test Class ID |
Class of Vehicle Tested |
Character |
2 |
|
Test Type |
Type of MOT Test (See page 4) |
Character |
2 |
|
Test Result |
Test Outcome (See page 3) |
Character |
3 |
|
Test Mileage |
Mileage recorded at point of test |
Integer |
7 |
|
Postcode Region |
Test Location |
Character |
2 |
|
Make |
Vehicle Make |
Character |
30 |
|
Model |
Vehicle Model |
Character |
30 |
|
Colour |
Vehicle Colour |
Character |
16 |
|
Fuel Type |
Vehicle Fuel Type (See page 4) |
Character |
1 |
|
Cylinder Capacity |
Vehicle Cyclinder Capacity |
Integer |
5 |
|
First use Year |
Vehicle Year of First Use |
Integer |
4 |
Example MySQL Create Table Syntax
CREATE TABLE TESTRESULT (
TESTID INT UNSIGNED
,TESTDATE DATE
,TESTCLASSID CHAR(2)
,TESTTYPE CHAR(2)
,TESTRESULT CHAR(3)
,TESTMILEAGE INT UNSIGNED
,POSTCODEREGION CHAR(2)
,MAKE CHAR(30)
,MODEL CHAR(30)
,COLOUR CHAR(16)
,FUELTYPE CHAR(1)
,CYLCPCTY SMALLINT UNSIGNED
,FIRSTUSEYEAR SMALLINT UNSIGNED
,PRIMARY KEY (TESTID)
,INDEX IDX1 (TESTDATE, TESTTYPE, TESTRESULT, TESTCLASSID)
)
;
Vehicle Test Item
This contains details of individual MOT test failure items and advisory notices. Datasets are split by calendar year and can be concatenated if required.
Column Name (Suggested) |
Description |
Type |
Length |
Notes |
Test ID |
Unique Identifier for a test |
Integer |
10 |
References associated test in Vehicle Test Result table. |
RfR ID |
Reason for Rejection ID |
Integer |
4 |
|
RfR Type |
Reason for Rejection Type (See page 4) |
Character |
1 |
‘F’, ‘P’, ‘A’ |
Lat Location ID |
Latitudinal Location ID |
Character |
1 |
References associated failure location in Failure Location table. |
Long Location ID |
Longitudinal Location ID |
Character |
1 |
References associated failure location in Failure Location table. |
Vert Location ID |
Vertical Location ID |
Character |
1 |
References associated failure location in Failure Location table. |
D Mark |
Dangerous Item Marker |
Character |
1 |
Signifies that item was marked ‘Dangerous’ by NT. |
Example MySQL Create Table Syntax
CREATE TABLE TESTITEM (
TESTID INT UNSIGNED
,RFRID SMALLINT UNSIGNED
,RFRTYPE CHAR(1)
,LATLOCATIONID CHAR(1)
,LONGLOCATIONID CHAR(1)
,VERTLOCATIONID CHAR(1)
,DMARK CHAR(1)
,INDEX IDX1 (TESTID)
,INDEX IDX2 (RFRID)
)
;
Test Item Detail
This contains details of individual RfRs
Column Name (Suggested) |
Description |
Type |
Length |
Notes |
RfR ID |
Reason for Rejection ID |
Integer |
4 |
Primary Key |
Test Class ID |
Class of Vehicle Tested |
Character |
2 |
Primary Key |
Test Item ID |
Test Item ID |
Integer |
4 |
References parent test item in Test Item Group table (with Test Class ID) |
Minor Item |
Minor Item Marker - Specifies whether an item can be classified as minor (qualifies for free partial retest). |
Character |
1 |
‘Y’, ‘N’ |
RfR Desc |
RfR Short Description |
Character |
250 |
Text printed on VT30 test failure document |
RfR Loc Marker |
RfR Location Marker - Specifies whether further location details are required against this item. |
Character |
1 |
‘Y’, ‘N’ |
RfR Insp Man Desc |
RfR Inspection Manual Description |
Character |
500 |
|
RfR Advisory Text |
Advisory Notice Text |
Character |
250 |
Text printed for type ‘A’ Test Items on Advisory Notice |
Test Item Set Section ID |
Integer |
4 |
References top level test item in Test Item Group table (with Test Class ID) |
Example MySQL Create Table Syntax
CREATE TABLE TESTITEM_DETAIL (
RFRID SMALLINT UNSIGNED
,TESTCLASSID CHAR(2)
,TSTITMID SMALLINT UNSIGNED
,MINORITEM CHAR(1)
,RFRDESC CHAR(250)
,RFRLOCMARKER CHAR(1)
,RFRINSPMANDESC CHAR(500)
,RFRADVISORYTEXT CHAR(250)
,TSTITMSETSECID SMALLINT UNSIGNED
,PRIMARY KEY (RFRID, TESTCLASSID)
,INDEX IDX1 (TSTITMID, TESTCLASSID)
,INDEX IDX2 (TSTITMSETSECID, TESTCLASSID)
)
;
Test Item Group
This contains details of RfR groupings within the test item hierarchy. The top level group for a Test Class is always ‘Vehicle’, with a Test Item ID of 0.
Column Name (Suggested) |
Description |
Type |
Length |
Notes |
Test Item ID |
Test Item ID |
Integer |
4 |
Primary Key |
Test Class ID |
Class of Vehicle Tested |
Character |
2 |
Primary Key |
Parent ID |
Integer |
4 |
References parent Test Item ID in hierarchy (with Test Class ID) | |
Test Item Set Section ID |
Integer |
4 |
References top level test item in hierarchy (with Test Class ID) | |
Item Name |
Test Item Name |
Character |
100 |
Example MySQL Create Table Syntax
CREATE TABLE TESTITEM_GROUP (
TSTITMID SMALLINT UNSIGNED
,TESTCLASSID CHAR(2)
,PARENTID SMALLINT UNSIGNED
,TSTITMSETSECID SMALLINT UNSIGNED
,ITEMNAME CHAR(100)
,PRIMARY KEY (TSTITMID, TESTCLASSID)
,INDEX IDX1 (PARENTID, TESTCLASSID)
,INDEX IDX2(TSTITMSETSECID, TESTCLASSID)
)
;
Failure Location
Reference for Location IDs in Test Item Table
Column Name (Suggested) |
Description |
Type |
Length |
Notes |
Failure Location ID |
Character |
1 |
Primary Key | |
Failure Location Text |
Character |
20 |
Example MySQL Create Table Syntax
CREATE TABLE FAILURE_LOCATION (
FAILURELOCATIONID CHAR(1)
,FAILURELOCATIONTXT CHAR(20)
,PRIMARY KEY (FAILURELOCATIONID)
)
;
Example Queries
The following assume that tables have been created using the above syntax, and that the annual Test Result and Test Item datasets have been concatenated into a single pair.
Initial, Completed Test Volumes by Class 2009-10 (As calculated in VOSA effectiveness report)
SELECT TESTCLASSID
,TESTRESULT
,COUNT(*) AS TEST_VOLUME
FROM TESTRESULT
WHERE TESTTYPE=’N’
AND TESTRESULT IN(‘P’,’F’,’PRS’)
AND TESTDATE BETWEEN ‘2009-04-01’ AND ‘2010-03-31’
GROUP BY TESTCLASSID
,TESTRESULT
;
RfR Volumes and Distinct Test Failures 2008 for Class 7 Vehicles by Top Level Test Item Group (For vehicles as presented for initial test)
SELECT d.ITEMNAME
,COUNT(*) AS RFR_VOLUME
,COUNT(DISTINCT a.TESTID) AS TEST_VOLUME
FROM TESTRESULT AS a
INNER JOIN TESTITEM AS b
ON a.TESTID=b.TESTID
INNER JOIN TESTITEM_DETAIL AS c
ON b.RFRID=c.RFRID
AND a.TESTCLASSID = c.TESTCLASSID
INNER JOIN TESTITEM_GROUP AS d
ON c.TSTITMSETSECID = d.TSTITMID
AND c.TESTCLASSID = d.TESTCLASSID
WHERE a.TESTDATE BETWEEN ‘2008-01-01’ AND ‘2008-12-31’
AND a.TESTCLASSID = ‘7’
AND a.TESTTYPE=’N’
AND a.TESTRESULT IN(‘F’,’PRS’)
AND b.RFRTYPE IN(‘F’,’P’)
GROUP BY d.ITEMNAME
;
Basic Expansion of RfR Hierarchy for Class 5 Vehicles
SELECT a.RFRID
,a.RFRDESC
,b.ITEMNAME AS LEVEL1
,c.ITEMNAME AS LEVEL2
,d.ITEMNAME AS LEVEL3
,e.ITEMNAME AS LEVEL4
,f.ITEMNAME AS LEVEL5
FROM TESTITEM_DETAIL AS a
INNER JOIN TESTITEM_GROUP AS b
ON a.TSTITMID = b.TSTITMID
AND a.TESTCLASSID = b.TESTCLASSID
LEFT JOIN TESTITEM_GROUP AS c
ON b.PARENTID = c.TSTITEMID
AND b.TESTCLASSID = c.TESTCLASSID
LEFT JOIN TESTITEM_GROUP AS d
ON c.PARENTID = d.TSTITEMID
AND c.TESTCLASSID = d.TESTCLASSID
LEFT JOIN TESTITEM_GROUP AS e
ON d.PARENTID = e.TSTITEMID
AND d.TESTCLASSID = e.TESTCLASSID
LEFT JOIN TESTITEM_GROUP AS f
ON e.PARENTID = f.TSTITMID
AND e.TESTCLASSID = f.TESTCLASSID
WHERE a.TESTCLASSID = ‘5’
;
Appendix A - Further Reading
DirectGov MOT information for public use
http://www.direct.gov.uk/en/Motoring/OwningAVehicle/Mot/DG_4022109
MOT Testing Manuals and Guides
http://www.transportoffice.gov.uk/crt/doitonline/bl/mottestingmanualsandguides/mottestingmanualsandguides.htm
Internal VOSA MOT Scheme Operations Manual
http://www.dft.gov.uk/vosa/publications/manualsandguides/internalmotschemeoperationsmanual.htm


