Back to list

Car rental price simulation and prediction

  • Python
  • Prediction
  • MySQL
  • PostgreSQL

The goal of the project is to train models for car rental price prediction in Japan based on the prices and demand for car rental from some Japanese car rental companies and the history of weather data in Japan.

Prices and demand of the Orix and NicoNico companies are used as working data.

Preprocessing includes parsing additional initial price data in .csv format and writing the resulting data to MySQL database tables. The obtained data is compared to the data in PostgreSQL databases that contain information about competitors' prices, stores, distances, as well as predicted prices based on trained models. In case mismatches are detected, the necessary changes are made.

Competitors are determined by the type of car for which training is carried out and the distance to the nearest competitors within a certain radius.

MySQL database tables include auxiliary tables for mapping Japanese names to those used in the code (event tables, tables with weather data, cities, shops, holidays, and service tables used in the training process).

The XGBoost model with the selection of properties by means of the cross-validation method is used for training.

In case there is no real weather data for a specific date, auxiliary weather prediction models are used. They are obtained by a learning algorithm similar to the one used to train price and demand prediction models that use average readings for a certain period.

Price predictability models use various property set, depending on the model classifier. For price and demand models, classes of models are distinguished by company, type of car, and additional parameters used in training. For weather models, classes of models are distinguished by the city, the weather for which the model predicts, and additional parameters used in training.


Development time
50 weeks of 1 developer