10 comments

[ 3.9 ms ] story [ 35.6 ms ] thread
Flight Delay Predictor from Upside Business Travel is a machine learning based product that attempts to predict the likelihood your flight is to be delayed. The algorithm is trained on historical flight delay information from the FAA and factors in both historical and forecasted weather and the current state of the National Airspace System. Happy to answer any questions here on how we built it! Check it out at labs.upside.com/delay
How have you accounted for - Flights getting delayed and Airlines fixing the issue - during your model training. If you haven't accounted for this, I assume the precision wouldn't be good for the future data.
The model currently only takes weather forecasts from Dark Sky into account for predicting future flight delays. We are working on integrating actual flight status as well as inbound status into an ensembled prediction. In testing the model on real time data, we've been able to forecast delays as far as 24 hours in advance due to bad weather affecting airports!
I just checked on UA2154 LAX->BOS for today. United is already saying that there is a 150 minute delay (probably due to the weather) and upside is saying probably a 30-60 minute delay. [I picked this flight as I had to pick up someone at BOS last week at about 0115 in the morning. Ugh!]
Predicting flight delays has been a favorite topic of research in the Air Traffic Management (ATM) community. There has been ongoing research on this topic even before Machine Learning gained traction. Accurate predictions of far out delays is of course impressive but refining these predictions to a point of making a product that someone will actually pay for is going to be steep challenge. The primary challenge is to account for airline operations through publicly available data e.g., airlines usually pad schedules to account for delays, flight arriving at the end of the day are more likely to get delayed, flights between hubs are less likely to be delayed - data features that can model these do not exist in public data. Instances that cause the most disruption (mechanical failure, staff shortage etc.) are impossible to predict with just schedule data and this is where people would be willing to pay of such an app.
do you happen to know whether internal schedules for airport and/or carrier operations are ever published? It would be really interesting to know how much slack is built into these schedules to recover from delays.
Thanks for your feedback! We are planning on using our predictive model to help our customers make informed decisions about whether they should consider taking an earlier flight or an alternate route to get to their destination on time. If you book your travel on Upside, our customer support team will be notified if we believe a flight has a high likelihood of being delayed (or we get a notification that it has already been delayed) and will help you change your flight!
There used to be a terrific company called FlightCaster that did exactly this. They had a mobile app that would tell you much more reliably than airlines when your flight was likely to depart. It was fantastic for getting ahead of the queue for re-booking when there were flight delays. I hope someone makes a clone!

https://www.crunchbase.com/organization/flightcaster

I'm not sure I understand why you felt that you need to remove seasonality if you already have weather information as features for your model. Isn't season usually just used as a proxy for weather? If you have all the weather data you need (temperature, precipitation rate, type of precipitation, etc.), it seems a little weird that you subsequently only train the model on short time series to "remove the effect of seasonality".
Yes, you make very good points here about seasonality and weather. We have looked at training the model on a small window of flight dates vs randomly sampling across all dates and the former performed better in testing. We wanted to limit our modeling complexity to random forest and gradient boosting as an initial proof of concept here. Our plan is to retrain the current weather model weekly while monitoring performance, store the data, and then maybe look to using a more complex model like a neural net to train a model using data across all dates.