PosTime and MLAT questions



I am trying to use FlightAware to provide fairly accurate position and times for aircraft in my area. I have two questions:

  1. Where does the PosTime time tag come from? It is quite poor, and clearly incorrect. For a single aircraft it jumps forward and back constantly, and if I sort the outputs using that time, it is nonsensical (making the aircraft hope around). If I want a good time tag for positions on aircraft, what should I do? What should I use?

  2. MLAT accuracy, while better than nothing, is still not good enough for my purposes. Because of that, I am very sensitive to how many aircraft are using MLAT rather than direct ADS-B reported positions. I note that many aircraft that say are using ADS-B are still getting MLAT positions. Also, I note that many large commercial carriers, which I assumed are already upgraded are still showing MLAT as well (notably, most JetBlue aircraft, who have been otherwise early adopters of ADS-B). Is there a possibility that MLAT is overwriting more accurate ADS-B positions, by any chance? If so, that is a serious bug. If not, just what percentage of commercial jetliners should I expect to still have MLAT solutions?

Thank you all very much for any help you can provide!


Here is some basic information about how transponders and MLAT work.

Transponders without GPS are not able to transmit their position. MLAT position are derived from timestamps from multiple receivers by sending their timestamps to the FlightAware servers. A MLAT solution is then found on FA servers and then transmitted back to the receivers as MLAT positions. MLAT accuracy depends on a lot of variables and is usually in the 1-2km error range but it can also be much more and sometimes less. This is a lot more accurate than radar positions which is used to separate planes from crashing into each other.

The big push for ADS-B is that with the accuracy of GPS positions planes can fly a lot closer together.

Transponders with GPS transmit their GPS positions using ADS-B messages. Accuracy is within a few meters (usually very similar to GPS accuracy of a smart phone).

  1. There isn’t anything better than ADS-B for plane positions but upgrading a plane is very expensive. I am sure if the airlines thought that $100-200k is worth the ADS-B upgrade cost they would have done it already. They are required to do the ADS-B upgrade by 2020.

There isn’t much more we can do on plane tracking side to increase accuracy.
More sites around your area will lower the MLAT position error to close to 1km errors.
Some ADS-B receivers have higher quality timestamps system will lower the error to below 1km but this can requires a lot of software changes.

If you want GPS position accuracy the airlines need to upgrade to ADS-B.

  1. If you are seeing a plane with MLAT positions than that specific plane doesn’t have ADS-B. It is expensive to upgrade to ADS-B and the transition is still on going.

For the number of planes that have upgraded to MLAT is probably about 50% in the USA. In other countries we are seeing 80%+. On your FlightAware stats page we break out the actual number of plane and positions that are ADSB or MLAT or other.



Thank you very much for your informative answer.

Are you on the technical staff at Flight Aware? Can you verify that the
system is not in some cases overwriting ADS-B positions broadcast from Jet
Blue airliners with MLAT positions? I believe that some of these aircraft
do have ADS-B transponders, and yet they are showing at MLAT-calculated

If you want to observe for yourself, I have been watching over central
Massachusetts for a while now, and seeing a large number of MLAT positions,
again in some cases for aircraft that I believe have ADS-B transponders
(though not all). If you have the time, you may want to check it out for
yourself; there may be a problem here.

And if not, and all is well, I apologize profusely for any wild goose
chase…it just seems like something is not right here.

And do you have any recommendations about what to do about the bad time
stamps? They jump around by minutes in many cases, making it nearly



MLAT self-suppresses on the client side when a valid ADS-B position message is seen, and on the server side ADS-B is preferred to MLAT when both are available.

Do you have a specific example of a flight that’s having problems? ( /live/flight/ABCDE/history/… permalink or aircraft address + UTC timestamp)

What API are you using for extracting positions?


Thank you obj,

I am using with additional query string.

Note the non-correlation between Transponder and MLAT (even though they say ADS-B, they frequently also use MLAT). Also, the MLAT solutions in this snapshot are relatively good, sometimes I have them jumping many km. Also see how it is large commercial airliners, including Jet Blue (who has been recognized as a leader in adopting ADS-B) that are still using MLAT.

To your point that it still might be just normal, I will see if I can track down further evidence that these airliners do have ADS-B, which raises the question why the system is preferring MLAT…


Also, regarding the PosTime accuracy, below is a plot of time tags for different aircraft. When I plot the lat-long on a map in the order that the fields come in, they look smooth. But when I look at the time tags we get a weird sawtooth on all of the aircraft. The units of the vertical axis are seconds since the first time signal was reported.

Of course, time should always be advancing forward, so you would expect smooth lines going up. Any ideas on what is causing the sawtooth? And where is the PosTime label coming from anyway, because I have no idea within tens of seconds when the reported position was actually valid.


That is adsbexchange; you should ask them about their data.


Ah, so sorry. I am definitely having trouble sorting out who is adding what value along this processing chain!

Can you recommend an alternative API or provider that may have a more accurate timestamp?



FlightAware offers Firehose for our ADS-B/MLAT data.