I can’t find documentation of how the estimated on/off times are calculated or sourced, and in which circumstances it “should” or could be used instead of the scheduled on/off times to describe a Flight’s departure and arrival times most accurately.
My initial guess was that an enroute Flight’s estimated_on time would be more accurate than its scheduled_on time, and that leading up to a scheduled Flight’s departure the estimated_off time would be more accurate than its scheduled_off time. My simple order of preference for values to use was actual>estimated>scheduled. However, I started seeing delayed flights where the estimated_off was a time already in the past and the scheduled_off had been updated to a time in future, so it didn’t seem so cut and dry.
Can I get an explanation on the relative accuracy of these values, and is there any documentation I can refer to?
The actual_* times are based on actual indications of departure or arrival and can be either precise timestamps received from our upstream providers, or in the lack of such timestamps can be synthetically derived from the first/last detected ADS-B positions.
The scheduled_* times come initially from the airline flight schedules that are published weeks in advance for their recurring timeslots, or will be updated by the FAA flight plan when that is submitted in the hours before the individual flight. Flight plans can potentially be amended multiple times prior to departure by the pilot/flightdesk, however don’t expect many fine adjustments to be made as there is low incentive/necessity for accuracy here.
The estimated_* times are generally more synthetic in nature and can originate from algorithmic extrapolations that we receive from the FAA or we make ourselves based on flight conditions. In general, the estimates are derived from the scheduled times, plus any algorithmic adjustments that are necessary. These will continue to be revised continuously prior and during the flight to represent the best known information.
The predicted_* times (available in the /foresight/ endpoints) are generated by us using newer machine-learning algorithms that have been trained on past flight and weather activity. These will also continue to be revised continuously prior and during the flight to represent the best known information, but we consider them to generally be better than the estimated times.
Thank you @bovineone , that helps a lot. The Flight also has departure_delay and arrival_delay fields. Are the values of these fields also reflected in the estimated_* times, or are they independent? How is the delay calculated?
It would depend on what times are available for a given flight. Description below from documentation.
Departure delay (in seconds) based on either actual or estimated gate departure time. If gate time is unavailable then based on runway departure time. A negative value indicates the flight is early.