Certified
Self-directed project
Machine Learning for Automotive
AI / ML · July 2026
84/ 100
Built an end-to-end used-car pricing analysis for VW and Audi listings: combined the datasets, explored price and mileage patterns, cleaned invalid records, engineered predictive features, and compared Linear Regression against Random Forest using R², MAE, and RMSE. The work culminated in a business recommendation for a Certified Pre-Owned team, grounded in model performance and feature importance.
Graded against
- Exploratory Data Analysis20%
- Feature Engineering25%
- Model Building & Evaluation35%
- Business Communication20%
Passed · pass mark 60/100
What stood out6
- Combined VW and Audi listings into a single analysis frame and used brand-aware visualizations to compare market behavior.
- Identified and removed clearly invalid rows such as zero engine-size and extreme price outliers before modeling.
- Built and compared both Linear Regression and Random Forest models, then communicated the performance gap using R², MAE, and RMSE.
- Translated model output into a CPO-oriented recommendation with an explicit pricing-risk narrative.
- Exploratory Data Analysis
- Leakage-Free Feature Preparation
The work I submitted5 tasks
VW Sprint1 Complete
My solution
{"completed":true,"notebookName":"vw_sprint1_eda.ipynb"}VW Sprint2 Complete
My solution
{"completed":true,"notebookName":"vw_sprint2_features.ipynb"}VW Sprint3 Complete
My solution
{"completed":true,"notebookName":"vw_sprint3_models.ipynb"}VW Business Insights
My solution
{"text":"We have built a data-driven model to optimize our Certified Pre-Owned (CPO) valuations. Our Random Forest model vastly outperformed the baseline Linear Regression across all key metrics. It achieved an impressive $R^2$ of 0.9421, while significantly lowering both the Mean Absolute Error (MAE) and the Root Mean Squared Error (RMSE), proving its superior accuracy in predicting true market values.\nThrough this model, we identified the three most critical drivers of resale value: Car Age, total Mileage, and Engine Size. These features strictly dictate the core depreciation curve.\nCurrently, manual pricing introduces substantial financial variance. With our model's MAE of ~£1,500 per vehicle scaled across 100,000 annual sales, we currently face a £150M portfolio mispricing risk. \nRecommendation for the CPO Team: I strongly advise integrating this Random Forest model into daily operations as the automated baseline for all incoming inventory. This will standardize our pricing floors, drastically reduce our £150M mispricing risk, and ensure we capture maximum margin on premium stock.","charCount":1092,"selfChecks":[{"label":"Model comparison","checked":false},{"label":"Top features identified","checked":false},{"label":"Financial Impact","checked":false},{"label":"Clear recommendation","checked":false}]}Jupyterlite Code
My solution
base64:CiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiMgTm90ZWJvb2s6IHZ3X3NwcmludDFfZWRhLmlweW5iCiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgojIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxQTNDNkUgMCUsICMwQjEzMkIgMTAwJSk7IGJvcmRlci1yYWRpdXM6IDE2cHg7IHBhZGRpbmc6IDM2cHggMzJweDsgbWFyZ2luLWJvdHRvbTogOHB4OyI+CiMgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjsgZ2FwOjE2cHg7IG1hcmdpbi1ib3R0b206MjBweDsiPgojICAgICA8ZGl2PgojICAgICAgIDxkaXYgc3R5bGU9ImNvbG9yOiM2MGE1ZmE7IGZvbnQtc2l6ZToxMXB4OyBmb250LXdlaWdodDo3MDA7IGxldHRlci1zcGFjaW5nOjNweDsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBtYXJnaW4tYm90dG9tOjRweDsiPlByb29WIFdvcmsgRXhwZXJpZW5jZTwvZGl2PgojICAgICAgIDxkaXYgc3R5bGU9ImNvbG9yOiNmZmY7IGZvbnQtc2l6ZToyMnB4OyBmb250LXdlaWdodDo4MDA7IGxpbmUtaGVpZ2h0OjEuMjsiPlVzZWQgQ2FyIFByaWNlIFByZWRpY3Rpb248L2Rpdj4KIyAgICAgPC9kaXY+CiMgICA8L2Rpdj4KIyAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDsgZ2FwOjEwcHg7IGZsZXgtd3JhcDp3cmFwOyBtYXJnaW4tYm90dG9tOjIwcHg7Ij4KIyAgICAgPHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEyKTsgY29sb3I6I2ZmZjsgYm9yZGVyLXJhZGl1czoyMHB4OyBwYWRkaW5nOjVweCAxNHB4OyBmb250LXNpemU6MTJweDsgZm9udC13ZWlnaHQ6NjAwOyI+RGF0YSBTY2llbnRpc3QgLSBWVyBDYXNlIFN0dWR5PC9zcGFuPgojICAgICA8c3BhbiBzdHlsZT0iYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMTIpOyBjb2xvcjojZmZmOyBib3JkZXItcmFkaXVzOjIwcHg7IHBhZGRpbmc6NXB4IDE0cHg7IGZvbnQtc2l6ZToxMnB4OyBmb250LXdlaWdodDo2MDA7Ij5QeXRob24gLyBzY2lraXQtbGVhcm4gLyBwYW5kYXM8L3NwYW4+CiMgICAgIDxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xMik7IGNvbG9yOiNmZmY7IGJvcmRlci1yYWRpdXM6MjBweDsgcGFkZGluZzo1cHggMTRweDsgZm9udC1zaXplOjEycHg7IGZvbnQtd2VpZ2h0OjYwMDsiPkVzdC4gNC02IGhvdXJzPC9zcGFuPgojICAgPC9kaXY+CiMgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7IGJvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjE1KTsgYm9yZGVyLXJhZGl1czoxMHB4OyBwYWRkaW5nOjEycHggMTZweDsiPgojICAgICA8cCBzdHlsZT0iY29sb3I6Izk0YTNiODsgZm9udC1zaXplOjExcHg7IG1hcmdpbjowOyBsaW5lLWhlaWdodDoxLjY7Ij4KIyAgICAgICA8c3Ryb25nIHN0eWxlPSJjb2xvcjojY2JkNWUxOyI+TGVnYWwgbm90aWNlOjwvc3Ryb25nPiBUaGlzIGlzIGFuIGluZGVwZW5kZW50IGVkdWNhdGlvbmFsIGNhc2Ugc3R1ZHkgY3JlYXRlZCBieSBQcm9vVi4gVm9sa3N3YWdlbiwgQXVkaSwgVlcsIEdvbGYsIGFuZCBBNCBhcmUgdHJhZGVtYXJrcyBvZiBWb2xrc3dhZ2VuIEFHLiBUaGlzIG5vdGVib29rIGlzIG5vdCBlbmRvcnNlZCBieSwgYWZmaWxpYXRlZCB3aXRoLCBvciBzcG9uc29yZWQgYnkgVm9sa3N3YWdlbiBBRyBvciBhbnkgb2YgaXRzIHN1YnNpZGlhcmllcy4gRGF0YXNldCBzb3VyY2VkIGZyb20gdGhlIDxlbT4xMDAsMDAwIFVLIFVzZWQgQ2FyPC9lbT4gZGF0YXNldCBieSBhZGl0eWFkZXNhaTEzIG9uIEthZ2dsZSwgdXNlZCB1bmRlciBub21pbmF0aXZlIGZhaXIgdXNlIGZvciBlZHVjYXRpb25hbCBwdXJwb3NlcyBvbmx5LgojICAgICA8L3A+CiMgICA8L2Rpdj4KIyA8L2Rpdj4KCiMgIyMgWW91ciBNaXNzaW9uCiMgCiMgSW4gdGhpcyBzaW11bGF0ZWQgY2FzZSBzdHVkeSBieSBQcm9vViwgeW91IHdpbGwgc3RlcCBpbnRvIHRoZSByb2xlIG9mIGEgRGF0YSBTY2llbnRpc3QgYW5hbHl6aW5nIHRoZSB1c2VkIGNhciBtYXJrZXQgZm9yIFZvbGtzd2FnZW4gYW5kIEF1ZGkgdmVoaWNsZXMuIENlcnRpZmllZCBQcmUtT3duZWQgKENQTykgcHJvZ3JhbXMgcHJpY2UgdGhvdXNhbmRzIG9mIHVzZWQgdmVoaWNsZXMgZXZlcnkgbW9udGggLSBhbmQgb2Z0ZW4gZG8gaXQgbWFudWFsbHkuIFlvdXIgam9iOiAqKmJ1aWxkIGEgbWFjaGluZSBsZWFybmluZyBtb2RlbCB0aGF0IHByZWRpY3RzIHJlc2FsZSBwcmljZXMgYXV0b21hdGljYWxseSoqLgojIAojIFlvdSdsbCB3b3JrIHdpdGggcmVhbCBVSyBtYXJrZXQgZGF0YToKIyAtICoqfjE1LDIwMCBWVyBsaXN0aW5ncyoqIChtb3N0bHkgR29sZikKIyAtICoqfjEwLDcwMCBBdWRpIGxpc3RpbmdzKiogKG1vc3RseSBBNCkKIyAtIENvbHVtbnM6IGBtb2RlbGAsIGB5ZWFyYCwgYHByaWNlYCwgYHRyYW5zbWlzc2lvbmAsIGBtaWxlYWdlYCwgYGZ1ZWxUeXBlYCwgYHRheGAsIGBtcGdgLCBgZW5naW5lU2l6ZWAKIyAKIyBCeSB0aGUgZW5kIHlvdSdsbCBoYXZlIHRyYWluZWQgdHdvIG1vZGVscywgY29tcGFyZWQgdGhlbSwgYW5kIHdyaXR0ZW4gYSBidXNpbmVzcyByZWNvbW1lbmRhdGlvbiBmb3IgbGVhZGVyc2hpcC4KIyAKIyAtLS0KIyAKIyAqKkZvbGxvdyB0aGUgc2VjdGlvbnMgaW4gb3JkZXIuKiogRWFjaCBvbmUgaGFzIGEgY2hlY2tsaXN0LiBGaWxsIGluIHRoZSBgIyBZT1VSIENPREUgSEVSRWAgY2VsbHMuCgojIC0tLQojICMjIFNlY3Rpb24gMCAtIFNldHVwICYgRGF0YSBMb2FkaW5nCiMgPiAqKlJ1biB0aGlzIGNlbGwgZmlyc3QuIERvIG5vdCBtb2RpZnkgaXQuKioKCiMgSW5bMV06CiMgUHJvb1Y6IFZXICYgQXVkaSBVc2VkIENhciBQcmljZSBQcmVkaWN0aW9uCiMgVm9sa3N3YWdlbiwgQXVkaSwgVlcsI
…