Do these middlemen have to strike deals with the various airlines, or are they simply accessing public APIs that generally stink? What order of magnitude, cost wise, do these airlines charge in the deals? Could I, $random_guy, make a deal with $random_airline, for an amount that is sustainable without any special kind of funding?
In what is probably the biggest case, FlightAware, a lot of the data comes from a fleet of users running ADS-B[1] receivers feeding data into their system. ADS-B data is what Air Traffic Control uses to track planes, and it's receivable using using a cheap TV tuner and a raspberry pi[2]. It ends up being probably the best way to track planes very precisely, as long as you can get enough coverage, which flightaware manages to do pretty well [3]. They then package this data and sell it via an API/tools for Fixed Base Operators or apps like Just Landed.
Our network ADS-B ground stations is one of our fastest-growing data sources, but we also get data from the FAA, other national aviation authorities (UK, Australia, Eurocontrol, Central America, etc.), directly from airlines, satellite avionics providers, etc. Live flight tracking is a deceptively difficult problem - on the surface it seems as if you could simply collect data and regurgitate it (that's what I thought before I came onboard), but there is actually an enormous amount of processing and inference based on sometimes incomplete, inaccurate, and conflicting data, even for mainline airline flights. That's not even getting into GA or flights in areas of the globe where we lack complete coverage. It's a really interesting set of problems!
It sounds like FlightAware is a much smarter, and more technologically innovative company than some iOS app maker. How come we aren't reading an article about them?
I use FlightAware all the time, but didn't know they pull the data directly from the planes.
I'm guessing FlightAware is one half of the "duopoly" spoken about in the submission.
Edit:
Looks like the cost per 1k queries for flight arrival times is $7.90 USD, which is a Class 2 query @ $0.0079 USD per query at the highest tier [0], but it goes down with more queries. You actually also probably want to pull their "AirlineFlightSchedules" API data to pull initial schedules for the day, which is a Class 1 query @ $0.0120 [0].
How many flights globally, per day? ~100,000 [1]. Once you fall down into their tiered pricing, and use their "15 results per query" rule, it amounts to ~$80. Once there is flight information for each flight for the day, there will likely be periodic update times. There's a firehose feed, but they don't specify pricing, so I'm not sure what the cost is to provide live updates.
If we say 5 updates per flight (total guess), that becomes ~500,000 queries daily of Class 2 data. I'm confident there's a way to batch these, so this comes down to ~33,334 requests, which puts us at ~$181.34 in additional charges per day.
So our daily costs are now about ~$261.34, or ~$7,840.20 per month, assuming they're not pulling data on-demand. This changes somewhat significantly if an app (correctly IMO) only pulls data for flights it's asked about. You get to cut out the $80/day entirely, and only some portion of the $181.34 is actually paid each day. If you consider the ~28,500 domestic flights in the US [2], and if app users only search for half of those, costs drop to ~$162 per day, or $4,860 monthly (plus the unknown cost of the firehose).
So, because of the cost of the data alone, your app will have to pull in a bunch of users. Wait, how many? Let's figure that out, based on an estimation strategy I pulled off of Quora (so it might be wrong) [3]:
Each user checks their flight status 3 times, which takes them ~1 minute overall to read, so we get 2 impressions [3]. I don't really know what these other two things are, but I guess we'll next assume 100% fill rate and eCPM of $3. But that's just per flight. 694 million passengers took flights in the US this year [4], and while I know we're getting into some pretty speculative territory, that's at least 2 flights per person per year, not to mention all the other people who also check on flight statuses of their friends/family. I feel comfortable saying that each person would check this app at least 15 times a year (you'd use it if you had it), or 0.04 times a day, which would give 0.08 impressions per day.
To cover costs for the data alone, you'd need 810,000 users. Even if each person used this app twice as often, you'd still need 405,000 users. That's completely untenable. I'm actually wondering if my math and assumptions are correct...
Do these middlemen have to strike deals with the various airlines, or are they simply accessing public APIs that generally stink? What order of magnitude, cost wise, do these airlines charge in the deals? Could I, $random_guy, make a deal with $random_airline, for an amount that is sustainable without any special kind of funding?