This Data Model Shows MH370 Could Not Have Flown "Accidentally" To Its Destination

None of the plane's paths can be reconciled with a geodesic, meaning the plane took multiple, intentional turns before going dark.

Over the past two weeks, FastCoLabs has been building a Monte Carlo model to predict potential paths of MH370. I wrote about Version 1 last week and after the piece hit Reddit I added a more technical description. Now I've updated and extended the model, using information that wasn't yet available earlier.

Picking Up Where We Left Off

We last left off with a relatively simple Markov Chain Monte Carlo (MCMC) model, trying to predict possible flight paths for the missing airliner. I used the plane's previous heading—assuming MH370 tended to along a similar direction as before, with some ability to turn—and the tendency to head to the last ping arc (8:11 am) at each time to probabilistically determine its subsequent locations.

See the post that sparked this discussion here: How I Narrowed Down The Location Of Malaysia Air Using "Monte Carlo" Data Models. Then read our followup entitled More About Our Methodology.

The last ping arc took into account enough distance on either side—through the standard deviation—to effectively cover an area which blanketed the other pings as well [1]. Each new location only depended on the heading of the previous step, while the ping arc probability grid which made the plane tend toward the last ping arc, remained constant.

Results consistently showed, across a range of reasonable variations, that MH370 "chose" the southern arc most frequently and ended off the Australian West Coast, confirming independent Inmarsat Doppler analysis identifying a similar area of ocean nearby:

5% error, normal distribution

Heading Off Criticism

Yet the normal distributions I used for the plane heading, and the probability grid, were still criticized for being, well, too normal. So I implemented two heading choice distributions as well, both quite popular in some circles (unit circles, actually): the Wrapped Cauchy and the Von Mises. Both generated heading selections that were similar and then dramatically different, from how I chose the heading in Version 1.

This project is also available as code: Part 1, Part 2, and Part 3, and as a full file via GithHub.

I also found the Inmarsat ping error range: a specialty satellite industry blog pointed out a careful calculation on PPRuNe [2], which determined 1º to 2º error. For the last ping, where the satellite was 40º from the plane’s perspective, this would mean error of 2.5% or 5% of the total distance between the satellite and the plane, measured by the lag time [3].

Here is one set of the results:

Von Mises, uniform distribution, 5% error

Wrapped Cauchy, quasi-uniform distribution, 5% error

All showed that if MH370 did a true random walk—picking plane headings which wandered any which way, and using just the ping arc to constrain MH370’s ultimate location—MH370 ends up all over the arc within its flight range. This was the uniform distribution so vaunted on Reddit, confirming my original intuition on how to not pick the heading.

Desserting The Data Through Cherry-Picking

Next, I wanted all the pings to make my model the Queen of them all. Enough infographics had shown multiple pings, and my error assumptions were accommodating enough, that with some effort in Mathematica, I could now plot all of the plane pings. So each time step would have its own unique ping, instead of ping-ybacking on the generous error assumptions of another ping. I also plotted the Great Circle path from MH370’s last known location to where it ended up in all of my models, a standard feature in the Python library I used [4]. Importantly, a Boeing 777 such as MH370 will either fly by magnetic bearing (unlikely just by eyeballing) or alternatively via the Great Circle to maximize fuel efficiency (via distance efficiency) between two waypoints.

Version 1 of the model simultaneously and independently came to the southern route conclusion; now, I wanted to see the complete picture of the flight. All of the plane’s possible locations, over the whole duration. I had not yet seen modeled, let alone guesstimated with specific scenarios in mind.

The National Transportation and Safety Board provided Australia with few possible paths to aid in the search, in a reserved or miserly manner, depending on your perspective. Malaysia, in turn, has released its own few paths; but none of them appeared to plot the pings arcs to see whether these paths were actually possible, let alone showing them in the plot.

Now, it was time to generate thousands of paths. Our simulation would be the ultimate pathfinder (sorry, Nissan!) No more cherry-picking several fortunate few. This would be equal opportunity, Monte Carlo style, which would lead to unequal outcomes [5] in a fraction of the time and expense of the traditional way you can narrow down potential paths of MH370.

Reconstructing The Pings, And Why This Is Right (On Average)

Several quick points about accuracy:

  1. The error I assume in each ping is still generous; the standard deviation is 2.5% and 5% of the last ping’s radius arc—which is more than the distance differences between the pings. So I am allowing for as much wiggle room as possible in terms of how I pick where the pings are; and then some.
  2. Even if the ping timings between the first ping and the last ping are not exact in an absolute sense, they certainly are in an average sense. Which means that using the plane’s ultimate location on the arc, as the end point for the Great Circle, is a sound strategy.
  3. Looking at where the plane is plotted over time, the conclusions are plain to see—there is just not enough wiggle room to adjust the ping spacings in a way that allow for a flight path which does not make turns contrary to what an autopilot would automatically pick.

MH370 Flight Trajectory Through All Pings

So, here are the results, with the realistic normal heading assumption of Version 1 along with the realistic options in Version 2 for Wrapped Cauchy [6] and Von Mises:

normal distribution, 5% error

normal distribution 2.5% error

Von Mises distribution, 5% error

Von Mises distribution, 2.5% error

Wrapped Cauchy distribution, 5% error

Wrapped Cauchy distribution, 2.5% error

Autopilot Analysis

Through many thousands of simulations of various parameters specific to MH370’s predicament, we now have a much better idea of what MH370’s flight paths could be. My model shows likelihoods for MH370, not a definitive location. Is it possible that what is most likely is not in fact the case? Yes, of course, but the very notion of a Monte Carlo is predicated on the odds, meaning this analysis comes with an unfortunate realization—even if you don’t want a scenario to be true, if all of the available information points to that, then it is the likely leading outcome.

What does this all mean? Autopilot is out of options. You see, here is the simple problem—none of the possible paths can be reconciled with a geodesic (Great Circle) which means that the plane turned at multiple points. How could it turn? Well, the plane was "flown" to its final location—either manually by a human, or by a program entered into the flight management system. These results strongly suggest that wherever MH370 is, the odds are that someone wanted it there.

Inmarsat Ping Timeline Table

2:11 am — First ping.

2:15 am — Last sighting of MH370 by Malaysia military radar.

3:11 am — Second ping. First ping after plane disappeared [7].

4:11 am — Third ping.

5:11 am — Fourth ping.

6:11 am — Fifth ping.

7:11 am — Sixth ping.

8:11 am — Seventh ping. Last full ping from MH370. (What earlier was thought of as the 5 th ping after disappearance, but is actually the 6th ping.)

8:19 am — Partial ping?! (Still not understood.)

Source: MH370 Article, Wikipedia.

Additional Note: TMF Associates blog, with insightful previous analysis, references a different set of aperiodic ping times from 2:11 am and 8:11 am, and an MH370 radar disappearance at 2:22 am, inferred from Inmarsat Doppler analysis. These are at odds with the Wikipedia timeline. I use the hourly pings for simplicity’s sake. The 2.5-5% error more than accounts for any timing discrepancies.

[1] 5%, 10%, and 20% of the distance from the last ping arc to the Inmarsat geostationary satellite, a coarse way to account for all pings with just the last one.

[2] Professional Pilots Rumor Network. No, I am not making this up !

[3] I was modeling 5%, 10%, and 20%, and trying to encompass multiple pings in that breadth, which wasn’t bad but could be improved on.

[4] Matplotlib Basemap. "You know you want it!"

[5] Probably a libertarian’s dream.

[6] Note that using a Wrapped Cauchy distribution splits roughly even-steven north and south; all of my other results show southern tendencies.

[7] Below 1 hour; accounted for in my model.

[Image via Wikipedia]

Add New Comment


  • Sy Gunson

    Where your calculations fall apart is that on 24 June 2014 Angus Houston declared in an interview with the Malaysian Chronicle that after studying tapes of the civil radar tracking when MH370 disappeared just past IGARI, investigators concluded MH370 never climbed to 45,000ft, turned back west and dived to below 23,000ft.

    In other words the flight west through the Straits of Malacca never happened.

    Thai radar at Surat Thani never could have seen MH370 flying low over Kota Bharu because of the curvature of the Earth. Radar at Surat Thani could not see any aircraft over Kota Bharu flying below 37,000ft.

    The problem is all your calculations are all formed on an assumption that MH370 flew through the Straits of Malacca.

    All the cummulative vector additions which you have used to string together BOF satellite data start from north of Acheh around 18:25 UTC.

    The flaw in your calculations is whether MH370 was even in the Straits because all your tracking effort starts from above Aceh?

  • Sy Gunson

    Here's the real problem with your tracks Conor. From 19:40 UTC the BOF chart shows a relatively steady velocity towards INMARSAT (albeit probably obliquely)

    Your plot from Aceh to the Southern Arc exhibits a steady velocity away from INMARSAT.

    That is an inconvenient fact which you can't reconcile.

  • rlc747capt

    Well, the one point you fail to include in the gee-whiz modelling is the effects of varying Winds and Temperatures Aloft at different altitudes through its entire flight path, also, the slightest change in outside air temperature would have affected the aircraft's True Airspeed . . . All of the above would have certainly affected the aircraft's Ground Speed. Oh, forgot to mention, varying thrust at various altitudes or the point the aircraft had no thrust, from fuel exhaustion to point of contact with the surface -and what was the aircraft's speed, upon contact with the surface, did it skip along the surface for another few kilometres? Too many variables that you have not considered in your model.

  • Ashwar Aziz

    A commendable effort by you. Btw, there is another prediction that can be factored in, sightings claims by a british couple sailing from india to phuket and the sightings by some villagers in maldives. its a long shot but wud be interesting to compare the outcome with those already done by you.

    reagrds, ashwar@gmx.com

  • Sy Gunson

    That silly woman on her yacht is just an attention seeker. Anybody who knows didley squat about aviation understands an aluminium aircraft can't fly for 7 hours with a wing on fire.

    You should study the famous crash of the second prototype B-29 bomber in WW2 when an engine caught fire. Within a matter of minutes the heat melted and buckle the Aluminum wing spar until the wing dropped off.

    Aluminium aircraft cannot fly for hour after hour on fire.

  • free_ware

    Plot in known military landing fields in the Northern areas ignoring the "it didn't fly over us " responses and see where it leads

  • You say the northern route is less likely - could a skilled pilot and/or engineer fly the plane in such a way that makes the final destination appear to be the least likely when looking at the data?

    Perhaps whoever did this knew about the pings that could not be turned off, and planned for it.

  • I think that would be hard to pull off, as it's hard to imagine that whoever would do that, would know about reconstructing Inmarsat satellite pings (which you can't turn off). This is the first time these techniques have really been used. However, your broader point of, "well, could a less likely scenario like the northern route be possible", is, "absolutely!" But I would say it's still not as likely as the southern route. Especially when you take into account Doppler analysis from Inmarsat, which we at FastCo Labs did not did not use in this model.

  • Joseph Schaal

    I must commend you on your work. I think your assumptions are conservative. I wonder if you are able to add possible primary radar detection as well as eliminate TCAS detection by other aircraft, if there where any. I also wonder if satellite are able to detect contor trails or heat signatures of images taking during the flight?

  • Joseph Schaal

    I must commend you on your work. I think your assumptions are conservative. I don't think you have mentioned drift and the resulting track given the last know heading. I wonder if you are able to add possible primary radar detection as well as eliminate TCAS detection by other aircraft, if there where any. I also wonder if satellite are able to detect contor trails or heat signatures of images?

  • Actually, two flaws: 1) the time of the comms events (there are only 4 evenly spaced events 19:40-22:40UTC) and 2) the B777 Autopilot Flight Director System can fly the aircraft on a fixed heading selection. Very interesting approach when there's so little else to go on. Also, have you a confirmed source for the routing taken from the initial deviation from plan at IGARI across to & around the north of Sumatra, I can't find anything other than some very casual, later retracted, comments by Rodzali Daud and some equally casual depictions of tracks presented at the family briefings.

  • Rob Matson

    There is one unfortunate flaw in your analysis -- that the pings occurred at regular intervals (2:11, 3:11, 4:11, ..., 8:11). They did not. And as far as I know, the NTSB has not released the true satellite-to-aircraft ping ranges for anything other than that 8:11 ping (though I certainly wish they would). I'd like to believe that there are plenty of talented and competent scientists/engineers double-checking each other's work, but without the raw timing and frequency data there is no way for us to know.

  • That's a fair point to mention, and I address this at the bottom of this article, and also in my IPython notebook.

    Yet for each of my pings, I use 2.5-5% radius of the last ping for my error. So it's a generous error assumption for each ping, whose distance exceeds that of the adjacent pings.

    Since each ping arc's probability space already encompasses other pings due to the error I assume, and the results are still the drift to the West, I felt confident to come to the conclusion that autopilot wasn't possible in any reasonable scenario.

  • Hard to say. Limiting factor, which would give some inference as to likelihood, is how much ocean the black box detectors can cover in the next week to week and a half. After that, the plane will be much harder to locate.