Vehicle Recommendation and Analysis System

Industrial Engineering Computing Two

Authors

Jack Bishop

Jason Bogdan

Trey Akins

Published

May 4, 2026

Introduction

This project is a vehicle analysis and recommendation system that uses real automotive data to help users make informed decisions based on their needs, preferences, and constraints. It allows users to explore vehicle options in multiple ways, including selecting a recommended vehicle based on trip requirements and priority rankings for factors such as passengers, distance, luggage, fuel efficiency, comfort, range, and speed. The system also provides analytical tools to compare fuel efficiency across different vehicle types by filtering real data based on body style and drivetrain, then calculating and evaluating average MPG values to test user assumptions. In addition, it can estimate a vehicle’s fuel efficiency based on engine characteristics such as cylinder count and displacement using observed data patterns. Finally, it includes a reverse planning feature that determines trip feasibility by calculating the maximum number of passengers and luggage capacity supported within a given distance and budget.

Techincal Explanation

The basic design of our project is to use separate classes for data handling, logic, and user interface in Vaadin. The core of our project contains several main components. We have a DataLoader class which handles reading and cleaning the data from our CSV file. Next, we have a Vehicle Java class which represents each vehicle as an object with attributes such as MPG, class, and displacement, along with additional calculated values used throughout the program. We also have a TripRequest class which takes the user’s inputs and stores them so they can be used across the program. After that, we built a VehicleRecommender class which handles filtering vehicles and applying scoring logic to determine the best matches. We also implemented a VehicleAnalysis class to support dataset-level comparisons and summary statistics. Finally, we have begun building the UI layer using Vaadin, which currently uses a mix of comboboxes and text inputs to gather user input and buttons to trigger the different functionalities and display results.

User Interface

Page 1

In this page you input the number of passengers, the distance of the trip, and the amount of luggage you have for the trip. Then, enter how important each category is to you, on a scale of one to five. The program uses this information to compare vehicle options and will generate the best overall vehicle type for your situation, along with a few alternative options.

Page 2

On this page you enter a body style, drivetrain configuration, and your assumption about the fuel efficiency of your combination. Using actual data, the program will analyze vehicles that match your input and determine their average fuel efficiency. It will also compare this group to others to show whether your assumption is accurate or not.

Page 3

This page you enter the body style, number of cylinders, and engine displacement (in liters) into their respective boxes. The program will use real data patterns to estimate the vehicle’s city and highway fuel efficiency (in miles per gallon) and display the predicted results.

Page 4

The last page you enter the distance you plan to travel and the total budget you have for the trip. Instead of selecting a vehicle first, the program works in reverse and calculates the maximum number of passengers and amount of luggage that can be supported within your budget for that distance.

Conclusion

This project was a test on my knowledge and understanding of different computing method topics throughout my softmore year of college. It challenged me to utilize my previous knowledge and outside resources to calculate various metrics about vehicles. This kind of data analysis and techincal application will set me up good for my future career and I look forward to applying the skills I learned in this project on other real world examples.