AutoPredict is a tool to help predict how long a car in the UK will last given its MOT history.
In the UK every car more than three years old must take an annual MOT test to make sure it meets legally required safety standards. The results of these tests contain information about the condition of the car and details such as its current mileage, engine size, and fuel type. These results are also openly available for anyone to see, for any car, past and present.
I collected the MOT histories of more than 16 million cars (more than 100 million tests) which have already reached the end of their life. I then trained an ML model using a random forest to predict how much longer a car will last given its current MOT history. Just enter a valid UK number plate and get a prediction back, along with statistics about the make and model of the car. Feel free to use the random number plate button to get a prediction for a random car if you don’t know a valid UK number plate.
The model currently gets within a year of a car's actual end of life for 51% of cars.
It predicted my 2006 Mini One would die in 6 months. No way on Earth, she’s in perfect health, the most reliable car I’ve ever had and has another good 10 years in her at least.
Yeah the model is definitely not perfect yet, and if anything it is slightly pessimistic, particularly with older cars. I am planning to address this by doing more fined grained analysis on the MOT history to see if there is anything more we can draw out to identify a car in good health.
This is great. Years ago I did something similar in the US market, but since there isn't a centralized tracking authority, I resorted to grouping cars by drivetrain and scraping Craigslist/Autotrader as a proxy for mileage. Any chance of having a browse by make/model/trim option instead of just registration?
I am actually currently working on exactly this. It will allow you to view the statistics for make/model/engine/ year etc. Unfortunately I have found it more challenging to make an accurate AI model without the MOT history though, as the MOT history gives a reasonably complete picture of the cars life. So far I have found the averages to be the best predictor when just using a cars make, model, current miles and age, as opposed to any AI model. I have a few ideas left to try though to attempt to improve it!
BTW just out of curiosity, any other metrics you can share about how accurate it ends up being? Like RMSE/MAE?
And I would guess that there's a significant problem with outliers. Accidents for new cars, replacing an engine+gear for old cars, etc. Is this the case?
Yeah sure so the MAE is currently ~1.4 years, and the RMSE is ~ 1.8. Yeah there is trouble with outliers, and unfortunately in the data I have there seems to be no way to tell when an outlier has occurred. For example, if a car has an unusually short life I can't necessarily tell if that is from an accident or it was just poorly built/ maintained. To try to counter this I have trained only on cars where there is data for more than 1000 of that make/ model in the hope these outliers will get averaged out.
Would it be possible to have an input for model year, make and model?
I also wonder if adding maintenance history or at least one datapoint, the last maintenance done, would add some resolution and give better results for old cars that are maintained well.
12 comments
[ 2.9 ms ] story [ 40.3 ms ] threadIn the UK every car more than three years old must take an annual MOT test to make sure it meets legally required safety standards. The results of these tests contain information about the condition of the car and details such as its current mileage, engine size, and fuel type. These results are also openly available for anyone to see, for any car, past and present.
I collected the MOT histories of more than 16 million cars (more than 100 million tests) which have already reached the end of their life. I then trained an ML model using a random forest to predict how much longer a car will last given its current MOT history. Just enter a valid UK number plate and get a prediction back, along with statistics about the make and model of the car. Feel free to use the random number plate button to get a prediction for a random car if you don’t know a valid UK number plate.
The model currently gets within a year of a car's actual end of life for 51% of cars.
Try it out and let me know what you think.
Do you have a website / LinkedIn / Facebook?
My wife keeps nagging me to buy a new car, maybe she's right.
BTW just out of curiosity, any other metrics you can share about how accurate it ends up being? Like RMSE/MAE?
And I would guess that there's a significant problem with outliers. Accidents for new cars, replacing an engine+gear for old cars, etc. Is this the case?
I also wonder if adding maintenance history or at least one datapoint, the last maintenance done, would add some resolution and give better results for old cars that are maintained well.