Where to Find First Class Anywhere in the World!

Apologies for being AWOL for the past two months, I’ve been pretty heads down working on my startup (avisell.com) and I just didn’t feel like there was a whole lot to write about post-holidays.

But I’m back! I’m currently planning a RTW (round the world) for next winter, hoping to diminish my glistening pile of AA miles on the verge of devaluing. First class seems like a good option given it’ll become a little less attainable in a few weeks.

The Problem: Find Routes with Three-Cabin First Class

So that led me to research what products I want to fly and where I want to go. Australia and Hong Kong were definitely on the list, and maybe Eastern Europe on the way back. Etihad, Emirates, Qantas and JAL were all likely contenders.

But then comes the chore of planning and picking apart route networks, routing rules, fifth freedom flights and cabin configurations to figure out how to maximize the redemptions (RTW’s generally are more than one ticket these days).

So I happened to have a dataset of nearly every scheduled flight over the past year, and it happened to have cabin and aircraft type data (as well as when the route was scheduled – if you read a typical airline schedule, it’s published as a “effective from” to “effective to” date, with some or all of the days of the week set to true (they fly that day) or false (they don’t – more common in routes that are 1x or 3x weekly service). And routes are often seasonal, so those flights with F to vacation destinations are swapped back on to high business demand routes outside of the holiday/summer seasons.

The Solution: Build a Script to Deduce Which Flights Likely Have First Class

I’ve been getting a lot better at Python recently as part of the startup and dusted off some Javascript and HTML for the Hackathon we competed in this past weekend (Go check out what we built at YippeeAir.com! – none of us are quitting our day jobs, but it was a great weekend project and experience – probably worth an article), so setting up a script to chew on this data in Python and find all likely first class routes wasn’t as hard as it may seem.

First, I wanted to restrict the schedules to only look at widebodies (and the AA a321T – sorry, no domestic first class for me!) 🙂 so I defined specific equipment types to look for.

Then, since some carriers fly widebodies that are only configured with business class, and others market business class as F in domestic/short-haul markets, I set constraints to only look for flights selling F (not J or C) > 0 and less than or equal to 14 – the largest first class cabins flying (BA, QF, EK).

I also added an alliance designation, since that’s fairly useful for matching up partner flights. I also excluded any schedule lines describing flights that were flying for less than 30 days so that we didn’t capture one-off repositioning flights. While many routes are not year-round (BA F to the caribbean), they hopefully will give you some ideas.

Lastly, it outputs to a user-friendly csv/excel file if you’d like to do your own crunching. In addition, since I love maps and visuals, I also had it output as a GCMAP-friendly string, color-coded by carrier.

The Results: Pretty Maps!

So without further ado, here are the maps in all their glory:

Oneworld

Comments:

Surprisingly, AA’s (red) only long-haul routes in the dataset were MIA and JFK-LHR, which are utterly buried under all the BA lines, but it’s interesting to see that they’re flying their A321Ts to places like Boston and Miami with some regular frequency. The lack of South America F seats might be a product of the 777-200 retrofits and removing the cabins from the 767-300’s, but I thought they were still flying the 777-300ERs to GRU/Sao Paulo. Feel free to chime in here if you know any details!

TAM (yellow) also is in the process of removing their first class cabins, so expect all of those lines to go away.

BA (blue) clearly is the winner here, with a lot of F seats flying to all corners of the earth. Though you may want to remove it too, since you’ll incur massive fuel surcharges. If you do that, you get the following route map (sans BA and JJ).

Not quite as rosy of a picture

Qantas is also cutting back on their F routes, though NRT (I think it’s now HND) and DXB-LHR are still going strong. Availability on the US routes is near nil.

I think this exercise especially highlights the value of Cathay and JAL. Cathay’s route HKG-JNB also stands out. You can also see CX’s and QF’s North American transcons, which are easily the best way to get between coasts.

Color Key:

British Airways (blue)

American (red)

Cathay Pacific (green)

TAM (yellow) – going away

JAL (purple)

Qatar Airways (white)

Malaysia Airlines (orange) – just LHR and CDG

Qantas (black)

Star Alliance

Wow, so many options! There’s especially a lot of density in Europe (thanks to LH) and East Asia (thanks to SQ, TG, OZ, CA, NH all next door to each other). Note that to get to South America, or Africa, you pretty much have to go through Europe and are heavily reliant on LH’s elusive space. Though it’s worth pointing out the Singapore/SQ fifth freedom routes from BCN/Barcelona-GRU/Sao Paulo and the Air China Route from MAD/Madrid-GRU/Sao Paulo.

Singapore also has great projection into Australia and New Zealand and may be good way to get there if you’re hamstrung by Oneworld.

It’s also pretty odd to see United’s deployments of their 777’s, with several bouncing between Guam/GUM, Honolulu/HNL and Japan. Wouldn’t think those are premium routes, but they were deployed for several months last year.

Also, Air India is starting more service to the US, so expect to see more navy lines pop up as well.

Lastly, ignore the green lines, since Swiss doesn’t really open up space to partners. But otherwise a lot of dense options, especially in the northern hemisphere.

Color Key:

Lufthansa (blue)

Air China (red)

Swiss (green)

ANA (yellow)

Asiana (purple)

United (white)

Singapore Airlines (orange)

Thai (black)

Air India (navy)

SkyTeam

Ah Skyteam, the alliance everyone loves to hate. Air France (red) has a fairly dense network, though sadly their First Class Awards are not available to partners or non-elites. What’s more impressive is the huge route network of Korean (in yellow above/purple below), blanketing nearly all of Eurasia and much of North America. Definitely a good option if you have Chase Ultimate Rewards Points lying around. China Southern also has a fairly noticeable route network in Green, particularly to Australia, though given Ben’s experience, I’m not keen to try them any time soon.

I also didn’t have the data for Garuda Indonesia (Orange) or China Eastern (Black), but their routes are fairly easy to keep track of, so I added them in manually. Check out the modified map removing Air France and adding Garuda and China Eastern (and modifying China Airlines – Blue to account for their retrofitted 747 routes to SFO, LAX, PVG and PEK) for a more realistic picture of Skyteam.

Note how there are no Transatlantic options and the entire continents of South America and Africa are untouched. Maybe with Etihad’s help, someone like Alitalia could step up to the plate (though unlikely any time soon).

Color Key:

China Airlines (blue)

Air France (red) – removed in 2nd map

China Southern (green)

Korean (yellow)

Korean (purple – changed for better visibility on 2nd map)

Garuda Indonesia (orange) – have heard nice things

China Eastern (black)

Non-Aligned Carriers

Lastly, I changed the perspective of the non-aligned carriers with first class because they’re all fairly close together — and completely dominated by Emirates (red) with all of the a380s and 777’s they fly to nearly every corner of the world. Even to Mauritius, Seychelles and the Maldives. Completely insane. Their route network is truly impressive, while Etihad (blue) and El Al (green) are practically buried underneath.

Well, at least they have the Apartments.

Conclusion

I hope this analysis was helpful and could further your travel planning efforts. By no means is it perfect, and I’m beholden to my increasingly out-of-date dataset. But feel free to download the code, send me an email or come to the SF Travel Hackers Meetups and let’s make it better!

Related Posts on Travel Codex

This is amazing, thank you!! Is there a way you could make a quick “to” – “from” drag down menu with all the data? For example, I am interested to see what my options for F in OneWorld are from HKG but its hard to see from the map!

Well, I hacked this together over my lunch break, so there’s no front end. You could take the csv file it generates and load it into excel, using the filter and sorting functions there to isolate all of the F routes going through HKG. I am experimenting more with Django, so this might be a good candidate for a simple UI

Dave Webster

This is really cool, I’m playing with your python code now. One question… where did you get the master excel spreadsheet that you’re working from? That thing is money!!

Interesting, but looking at the data and google, I don’t think they have actually switched up the planes (still mostly a330s) flying those routes from PHL and CLT – But this was over the PAST year, they certainly could add some 777-300ERs going forward (though I doubt those markets could support them)

Vaibhav Shetge

This is good representation of data… Where did you get the master sheet from? Wish you had access to availability in the master sheet too!!

Wow, this is pretty amazing. I might just download the csv file and play with it in Excel. Just wanted to add that CX no longer flies F between HKG and JNB (nor SYD I believe). Just out of curiosity, for someone with ZIPPO coding background and not a genius either, how long would it take to get to this level of proficiency?

Well, I learned enough Python to be dangerous in about 4 months, but I’ve been programming mostly C++/Java since I was about 14 (so 15 years now – but not full time, side project here or there) – A lot of it is what I’ll call “computer theory” (things like loops and conditionals, object-oriented programming, templating/poly-morphism) which is somewhat language independent and once you learn it in one language, it’s fairly easy to pick up in others.

None of it requires any genius-level thinking, but you have to be comfortable with and fully have the expectation that you’ll be doing extremely tedious tasks (debugging, reading copious amounts of documentation and tutorials, wrangling your own computer’s command line/environment and what software packages are installed on it) for a long time. Thankfully the internet is now much better at answering questions. If you’re just starting out, literally any problem you’ll come across has been asked and answered in great detail on Stackoverflow.com

If you were to start from scratch, there are programming schools that can get you up and running in about 12 weeks, with the goal of getting you employed as a software developer. But they often neglect the theory parts I mentioned above that translate across languages so it’ll be harder to switch around and pick up new languages. For instance, Python is better for data manipulation (back-end development), Javascript is better for building the functions that run behind/power/cause forms and buttons to actually do things on websites (front-end development), Java is better for industrial-sized software projects, but they’re all really similar if the theory makes sense to you. They just apply it in different ways.

Perhaps, since you come from the travel realm and there are some fun data sets at openflights.org to chomp on (anyone – check them out!), consider starting with Python or Ruby, since I think they’re really user-friendly, and hide a lot of the persnickety-ness other languages can often enforce on you (types, private variables) so they may be good for beginners. Start with simple scripts the take input data, manipulate it and output data (much like this thing I hacked together). As you get more comfortable with that, you can play with things like Django, Rails, Flask and other UI kits and hosting your script on a publicly available server (so it’s accessible after you close your laptop and not just “running on your local machine”).

But it’s a very worthwhile, very useful side project/hobby to work on. You can do some pretty impressive things even with just a rudimentary understanding of any language and remembering your basic stats class from high school or college. Happy to discuss in more detail via email.

Oh and thanks for the route updates, yeah the data set isn’t perfect (though they rarely are)

John in HKG

Thanks Eric. Definitely something to think more about when I have some time. Cheers!

John

re: http://avisell.com/
aren’t you the forth or fifth to the party with that product? whats makes your mouse trap better?

Matthew Haines

Wow! This is a great resource. How did you create the .csv file? Even the data from Q1 2015 will help me get started, but at some point I’m going to want to work with current data. My first project is to figure out all the creative ways to get across the Atlantic.

All content unless otherwise noted or quoted is the author's own and not provided or commissioned by any other entity. This site is for entertainment purposes only. The owner of this site is not a financial planner or tax professional. Articles are of a general nature and should not be relied upon for individual circumstances.

&nbsp

DISCLAIMER: Some links to credit cards and other products on this web site will earn an affiliate commission. Opinions expressed here are the author's alone and have not been reviewed, approved, or otherwise endorsed by the merchant or card issuer.