Flight Search

In this project, I have implemented a Matlab-based tool to collect and track flight prices as well as to analyze pricing patterns. Websites such as Expedia or Priceline offer current snapshots of flight prices but not a price history or price development over time. The flight search tool collects data of selected routes and specific flights over time and visualizes flight price development. The motivation in starting this project was to confirm or reject the hypothesis that the best day to book flights is on Wednesdays and the ideal time to book is roughly four to six weeks in advance. Current results do not confirm this hypothesis and make the best time to book and the cheapest day to fly highly dependent on the route and the airline.

The technical implementation of the flight search tool is based on a data collection script, an SQL database as backend, and a Matlab-based graphical user interface to visualize the data. The data collection script sends http requests to flight search engines such as Expedia or Priceline, stores the returned homepage as a string and parses the relevant information. All the pricing data is stored in an SQL database directly through a Matlab-SQL interface. The GUI then creates an SQL search string based on the filter parameters set, queries the database and displays the retrieved data in both the plot and the text fields on the right hand side of the user interface. Available plot types include

  • Price distribution by weekday of the search request
  • Price distribution by weekday of the requested flight
  • Price distribution by flight time of day
  • Distance search to flight date
  • Airline price distribution
  • Number of stops distribution
  • Track flight
  • Track cheapest flight
  • Track most expensive flight