It’s apparently a week of breakdowns, but I mean that in only the best way. Today, I’ve decided to delve into the world of airline flight numbers. Every airline can have up to 9,999 of them, and they use them in different ways. That sounds like a lot until you start thinking about all the codeshares around the world. Many airlines have found they’re running out.
Flight numbers are capped at only 4 digits, hard-coded from the early days of airline automation. You’d think by now that they’d figure out a way to add a 5th digit to flight numbers, but that is apparently the one thing that will break the entire airline ecosystem and plunge us all into a deep, dark nuclear winter. So, we just have to live with the limit that’s in place today.
Flight numbers are divvied up in blocks. Usually the lower numbers are saved for the flights the airline operates itself. Then there are blocks for each of the regional carriers, codeshare partners, and then some saved for charters and ferry flights.
So, what I did was dive into November 2022 Cirium schedule data to see how the flights were broken down for each of the big 3. To start, I went high level and broke them down into categories.
November 2022 Number of Marketing Flight Numbers by Category
I included the aggregate number of flights for the mainline-operated services to give you a sense of scale. But the differences in percentage breakdown here are what I find fascinating. American has 93 percent of the total allocated to flights operated either by mainline or regional partners. Delta is at 91 percent and United at 89 percent. That being said, Delta has a far higher proportion of mainline than the others thanks to those small narrowbodies.
Meanwhile, the rest of the pie is split in very distinct ways. American allocates most of the remainder to either its Alaska and JetBlue domestic codeshares or its joint venture codeshares. Delta and United don’t have the domestic codeshares. They both allocate the bulk of the remainders to their joint ventures, but Delta focuses more on bilateral one-off codeshares than on SkyTeam. United puts more effort into Star Alliance codeshares.
While this was fun, I decided it would be even better to break it down even further to show how partners break up. Let’s start with American’s November 2022 breakdown.
I suppose we can start with the regionals. I was actually surprised to see that Envoy is still at the top with the most flight numbers. Meanwhile, Mesa is in dead last. Keep in mind, this doesn’t necessarily fully correlate with flights. In theory, one regional could have all flight numbers handling a roundtrip while another might just have a one way. I didn’t go that far, but you get the point.
If we move up to the domestic codeshare, JetBlue is significantly bigger than Alaska. This makes sense considering how it’s the combined JetBlue/American operate in the Northeast that makes the partnership work. Alaska is more about traditional feed.
On the joint venture side, it’s no surprise to see the Europeans dominate, especially BA. There are just a lot more places to connect beyond those cities than in other regions.
Lastly, there’s the piddly oneworld and bilateral codeshares. For oneworld, Qatar is the only one of note. Everything else is very small. And for the bilaterals, you have Gol in there which is what you’d expect as American tries to regain its footing in South America after breaking up with LATAM. Then you also see representation from subsidiaries of joint venture partners, like Vueling and Jetstar.
Now let’s move on to Delta.
Delta has far fewer regionals tha the rest, but SkyWest is the big dog there with Endeavor close behind. On the joint venture side, Air France, KLM , and LATAM are all fairly similar. For LATAM, it may be odd to see such a large codeshare, but Delta really needs to rely on LATAM for feed so it puts on a code on a ton of flights. I didn’t think, however, that I’d see Korean as low as it is, but also… what’s missing here?
Remember, Aeromexico is an important joint venture partner, but since Mexico is currently rated as Category 2, Delta can’t codeshare with the airline. That will change sometime, and Delta will have to make some decisions and how to reallocate.
Within SkyTeam, the number one is former joint venture partner ITA. The rest are pretty small, including Czech, which is apparently still flying. And lastly, we have the bilaterals which are dominated by WestJet. You’ll remember that WestJet was going to be a joint venture partner, but the airlines walked away after the feds asked for too many concessions. The relationship remains, but it’s just not as potent as they’d hoped.
Finally, let’s take a look at United.
Delta and United do share one thing… they both have more regional flight numbers allocated to SkyWest than anyone else. Also look at those Air Wisconsin ones… remember those are going away and moving over to American at some point in 2023, but nothing has happened yet.
When it comes to the joint venture, if you didn’t guess Lufthansa would be the biggest, then that’s weird. Air Canada being right behind is also just what you’d think you’d see. I was actually shocked at just how low SWISS and Austrian were. Remember, this is just codeshares, so it doesn’t mean you can’t still buy connections between the two airlines. But it still is not what I’d expect to see.
Within Star Alliance, United has a whole lot of codeshare partners. Air China is the biggest, which is kind of a surprise since US-China flying is basically non-existent right now. I’m not sure why they bother with that much. Then there’s Copa and TAP Air Portugal.
On the bilateral side, look at Hawaiian hanging in there. It’s not much, but remember that’s all interisland flying right there. I’ll also note the subsidiaries of joint venture partners in this group with Eurowings and Air Dolomiti on the list.
Ok, ok, I know I said that was it, but I have one more for you. BONUS! Curious what it looks like on the other side of the Pond? Here’s Lufthansa.
The regional/wet lease madness at that airline is really apparent here. Note that Air Dolomiti, Eurowings, and Eurowings Discover show up there and on the Lufthansa Group codeshare side, because they perform both services. It’s a mind-numbing level of confusion.
United is again the big boy on the joint venture side, and like United, Lufthansa spreads its Star Alliance codeshares around. For Lufty, however, SAS is the big partner.
The bilateral side is very small, but I do find it fun to see which airlines Lufthansa has bunked up with for specific purposes.
Now I’m really done with this… though maybe I should look at… nevermind. I’m done.
I know you’ve covered “fun”/”famous” flight numbers before, Brett, such as 212, 007, etc, but could you perhaps talk a bit more about the blocks of flight numbers themselves?
I’m not sure how “firm” of a rule it is, but I often see unscheduled, test, ferry, etc flights as 9xxx, such as the FedEx test flight (#9030) from Mobile on Oct 25 that lost an engine cowling. Beyond that and beyond airlines using flight numbers in the lower blocks for mainline flights, are there any other patterns? Are 1- or 2-digit flight numbers typically reserved for “prestige” flights on key routes?
Kilroy – There is no firm rule. Airlines can do whatever they want. It used to be more rigid where, for example, old numbers went west and even numbers went east. But that’s all out of the window now with the need to maximize flight numbers.
At my airline, we used 9xxx series numbers for “dummy” flights in proposed or experimental schedules. This was to avoid accidentally loading proposed flights as live flights when transitioning to the published schedule.
Thanks, that makes sense, and should be relatively simple to add logic to check to ensure that “dummy flights” are not accidentally published, or that they will be easily detected (without drawing undue attention) if a mistake happens.
It’s great to have dummy values & such to test things in systems and databases, but considering how things would look if the dummy values hit the live data by mistake is important… As happened when (in one court system) the press discovered that some criminal cases had been transferred to a new prosecutor named “Easter Santa Bunny”, and that “Santa Claus” had been convicted of felony burglary & kidnapping.
Funny how WN doesn’t follow the same convention for obvious reasons.
Southwest probably needs its own article to figure out its flight numbers. One thing that gets me is that we’re used to seeing higher flight numbers up in the 6000 range, for example, being codeshares or regional flights, but Southwest has their own mainline flights there.
What I’ve been wondering about recently is how Southwest decides that one flight number should make its way across the country and halfway back (for example, last week WN3037 was OAK-SAN-DAL-TPA-BWI-MCI), while another flight number will get just a single segment.
I believe the Southwest flights with the 6XXX numbers started during the Covid era. Southwest would publish its schedule, but then alter it based on what cities were “open” or “closed” during the pandemic. Florida, for example, was much more “open” than the Northeast. When Southwest saw strong demand in the “open” cities, they would add close-in service. Those were the flights given 6XXX numbers. Hope this helps.
WN also has a pattern of frequently changing flight numbers for essentially the same service. I take their midday MDW-LGA flight about 3x a year. It hasn’t been the same flight number twice since well before the pandemic. The legacy carriers, so far as I can tell, don’t do this.
I’ve wondered if WN did this to avoid or distort the DOT required disclosure of on-time statistics.
Brett, you’re the WN expert. What do you think?
Greg M – That doesn’t work with DOT anymore. They do it by flight times.
Changing numbers will no longer get them a clean slate, so that wouldn’t be why they do it.
Because I was curious, I went searching.. If a flight between two city pairs has been moved 30 minutes it still affects the historical ontime performance. If it has been moved 31 minutes it does not affect the historical ontime performance.
Is there a reason United/Thai is missing? Or some of the other missing combinations within alliances?
I could have sworn I flew on a TG-operated UA codeshare at some point but I don’t remember how many years ago.
Jason – The last time United had its code on a Thai-operated flight was in 2012.
Haha I guess it was quite a while ago then.
Can you perhaps elaborate or write about how airlines (especially alliance partners) decide where to codeshare and where not? Is there a downside (cost) for UA that keeps from code-sharing with Thai given that they don’t fly to Thailand anymore (which remains a popular destination for US travelers).
Oliver – I don’t really know the inner workings about that, but it does require an agreement to codeshare on commercial terms by both sides, so sometimes it may not make sense. But in this specific case, Thai is not a good option. United would much rather connect people in Tokyo to ANA as part of the joint venture between the two. I could imagine Thai being a useful codeshare partners to smaller places in Thailand that other airlines might not serve, but I guess not.
It probably is the same debate as codesharing vs. just interlining which should still be possible, assuming that appropriate fares are filed in the first place.
I looked it up, it was late 2010 on LHR-BKK, connecting from IAD-LHR. I guess either the fares or timings were better than through NRT at that time. From the east coast it’s about the same time and distance to Bangkok either direction you go, but maybe it just wasn’t as popular or UA didn’t actually want passengers to buy it.
The title and intro paragraph is a bit misleading, as the analysis is about how the *flights* are scheduled within a month, but not whether the airlines are running out of flight numbers.
Although, doing some back of the napkin math, since there are 300,000 possible flight numbers in a month, it does not appear that all three airlines are approaching that limit.
This left me a bit confused too. After reading the info, when I started looking at the pie charts I expected them to be showing the breakdown of the 9,999 available flight numbers. I think an explanation that we’re looking at 9,999 x 30 days would be helpful, as would adding in an “unassigned/unused” slice of the pie to account for all the ~30,000 possibilities. But it’s definitely interesting stuff!
I agree 100%
Curious why more carriers don’t keep the same flight number going through multiple legs of an aircraft’s routing. I notice when I get off a Delta 738/739/752 after a CHS-ATL leg and see the same aircraft is continuing on to SAN/SJC/PDX (or any other cool west coast destination without a CHS direct flight) under a new flight number. Why not keep the original number going and maybe get some network marketing points by claiming direct flights to destinations not otherwise served from CHS? I know this used to be more common (and still kinda is on Southwest), but definitely see it much less now.
*Southwest’s model doesn’t make a ton of sense to me either because I’m seeing more non-directional routings keep the same number (BWI-CHS-MDW-DCA for example). Why do that? No one is flying that end to end… or more than 1 leg and each city pair has plenty of non-stops.
Assigning through-flight numbers reduces flexibility with aircraft routing and maintenance. Even if both flights are daily, they likely turn differently on different days of the week to avoid “locking” the aircraft in a particular rotation. A certain percentage of each fleet must receive regular maintenance each night. So each aircraft needs to be able to rotate through a maintenance station periodically to get its required maintenance. The end result is that each aircraft migrates through the entire network for that fleet type. Airlines still sometimes schedule through-flight numbers with a change of aircraft, but some find the practice deceptive.
As some have noted, it would be interesting to see a summary of the average number of segments per flight number by carrier and also see how often a flight number operates in a given month – both of which would be indicators of how efficient airlines are using their flight numbers.
The use of out and back type flight numbers (ie ATL-DCA-ATL) are an indication that the operator likely wants to maximize use of flight numbers but doesn’t want to commit to connecting segments at its hubs (ie DCA-ATL-MSY) for purposes of crew rotation or aircraft equipment changes. In contrast, WN flows flights through its focus cities and has defined “break points” in its schedule where crews change so they can create more multi-segment flights.
The percentage of mainline vs. regional carrier vs. joint venture and other codeshares is significant in light of ongoing pilot negotations at virtually every airline as well as the need to acquire more pilots; not all airlines are equally as attractive to pilot candidates and not all airlines need the same number of future pilots in order to reach their strategic goals. While flight numbers alone don’t paint that picture, the way flight numbers are allocated does provide insight.
Brett, perhaps a quibble, but you classify Hawaiian, Capeair, and Silver as Domestic Codeshare for AA, but as Bilateral Codeshare for DL and UA. For consistency, perhaps the two categories should be combined (or separate) for all marketing airlines?
Yep, b/c it wasn’t worth having a full category for those domestic codeshares. It’s a rounding error anyway, so I didn’t bother changing.
DL and UA provide international service to/from Hawaii while AA does not
Reading this, I’m kinda curious how Skywest fits all their partners’ flight numbers in. I guess its not as tight as the majors, but they’ve got about half of the available capacity taken, and I’m curious if they coordinate each major’s numbers to a specific range that doesn’t overlap, or if they just assign each major’s range a specific range internally, and the flight numbers between Skywest and the major might not correspond exactly.
Also, I wonder why the airlines haven’t looked at solutions to the 9,999 problem. Like either expanding to a fifth digit. Adding letters to the flight “number” or allowing each airline to have more than one IATA code. I’m sure each has its plusses and minuses.
I think any changes would have to be at the IATA level. Any of the ideas you suggested would work. I like the idea of expanding one character from 10 options to 26.
Another option may be to simply let one airline sell another airline’s flight number. As I understand it now, in order for airline x to sell a flight on airline y but retain control over pricing, it must utilize a codeshare. If it sells airline y’s flight number, then it uses airline y’s pricing for the segment (someone can correct me if I have that wrong). If airline x could retain pricing control when selling airline y’s flight number, then the need for the codeshare would be reduced.
Bravenav – There isn’t anything blocking airlines from pricing on other airlines’ codes as long as that airline has its own code on something in the reservation. So if you do, say, United from LA to London and then connect to a SWISS-coded flight on to Zurich, that’s still easy to price using United fares. It just has to be noted in the “Flight Application”
area of the tariff.
I bet that these three airlines (AA, UA, DL) are the only airlines that are close to approaching the 9,999 limit.
Lufthansa is one of the largest after those three and their totals are less than 1/4 of the AA numbers. Maybe Emirates or some of the China-based airlines are in the top 10 as well but with much less regional flying and codeshares.
Did you check how close these airlines actually are to using all 9999 flight numbers? I added up the numbers in your pie chart for American; the sum is 158,581 for November. That’s 5286 per day, on average. Even if it’s considerably more than that on peak days, that’s actually a reasonable amount of breathing room, though it limits their ability to do things like all xxx, 1xxx, and 2xxx flights being mainline, 3xxx being one regional operator, 9xxx being charters (just like we don’t need truly anywhere near as many area codes or license plate digits as we allocate: the 10 million 7 digit numbers per area code can accommodate many more phone numbers than they do because of various restrictions).
I’m also surprised that codeshares are such a tiny fraction. I thought AA (for example) put their code on a large fraction of flights on certain partners which would add up to a lot more than 7% of AA’s flights, but I guess not.
Alex- I didn’t not look to see how many of the flight numbers are used, because it’s really hard to do. All those charters, ferries, etc are not filed, so I can’t really be sure of what they are and aren’t using.
Of note on Southwest, this year I was on a WN flight that changed aircraft while retaining the flight number. I don’t think that that’s intentional, but it does happen. But they also operate “only” 4k+ flights per day, so if they wanted each could have its own flight number.
Was rather odd seeing AA 6xxx on a BA 789 recently though. I think of 6xxx as regionals. Though AA regionals go down to 2xxx these days, at least on Envoy.
Are there really only 9999 possibilities? Or can an airline have a flight 0? I mean, I’ve never heard of that, but it has a neat nihilistic ring to it.
grichard – I have never heard of a flight 0, so I’m assuming it can’t happen.
Is anyone operating flight 666? Are flights with that number required to have HEL as the destination?
Of course, someone looked into that before:
(no affiliation… and no flights to HEL, it seems)
Numbering scheme in China is a bit different as you’ll find many “mainline” flights in the 8xxx and 9xxx range, likely for auspicious reasons.