← Research

// article

The Air-Traffic Network

Ten airports own a third of US air traffic, a partition pattern I have shipped

November 1, 2025 Article
Lorenz curve of US domestic flight concentration across 305 airports: the neon curve sags far below the dashed line of equality, with a Gini coefficient of 0.77 and the busiest ten airports accounting for 34% of all flights

Ten airports out of 305 carry 33.7% of every domestic flight in this dataset. Not a third of the long-haul flights, or the important ones. A third of all of them. The US flight network is the cleanest real-world power-law degree distribution I have found outside a synthetic benchmark, and it encodes every hard lesson I have learned about hot partitions and blast radius.

The first time I ran that number I assumed I had double-counted something. I had not. A Gini of 0.77 is the kind of figure you usually see in arguments about wealth, not runways. The skew is not an artifact. It is the shape.

The data

It is the airport-pair flight table from vega-datasets: 5,366 directed routes between 305 airports, three columns, origin, destination, and a flight count. Treat each airport as a node and each route as a weighted edge. That gives a directed graph with 7,009,728 flights riding on it. No networkx involved. This is groupby and a couple of set operations in pandas.

Every airport gets two numbers. Its degree, meaning how many distinct other airports it connects to, and its throughput, the total flights touching it as origin or destination. Picture a switchboard: degree is how many lines plug into it, throughput is how many calls run through. In a distributed system those are the two things you watch on a node before it becomes the reason you get paged.

The skew is brutal

ATL (Atlanta) is the busiest node by both measures. It touches 829,034 flights and connects directly to 173 of the other 304 airports. That is not a hub. That is a backbone. It alone handles 5.9% of all flights in the network.

Below it the drop is steep but the names stay familiar. ORD, DFW, DEN, LAX round out the top five by throughput. ORD (Chicago) pulls 700,832 flights across 150 connections. Then it falls off a cliff. Past the first couple of dozen airports you are into single-runway regional fields that connect to three or four neighbors and nothing else.

I quantified the inequality two ways. The Gini coefficient on airport traffic is 0.769, deep into the range where a handful of points dominate the whole distribution. The degree Gini is 0.651, slightly gentler because even a small airport needs a few routes to exist at all, while a big one cannot connect to more than 304 others. The ceiling compresses the top.

Degree distribution on log-log axes

The log-log degree plot is the giveaway. A power-law tail shows up as a roughly straight downward line on log-log axes. You can see it: a dense cloud of low-degree airports on the left, a long thin tail of mega-hubs stretching right. It is not a textbook-perfect line. The very top is ragged because there are only a few airports up there and the counts get noisy. The shape is unmistakable anyway. Most nodes are tiny, a few are enormous, and that asymmetry is the whole story.

The concentration curve is the part that should worry you

Cumulative share of flights by airport rank

Rank the airports by traffic and walk down the list summing their share. You hit 50% of all flights at 20 airports, 51.3% to be precise. Eighty percent takes 55. So about 18% of the airports move 80% of the traffic, and the remaining 250 split what is left.

If you have ever sharded a database, that curve is your nightmare partition. Twenty hot keys out of 305 holding half your write volume. You cannot round-robin your way out of that. Consistent hashing assumes a roughly uniform keyspace, and the flight network is the counterexample, because here the keyspace is the skew. The real-world fix is the one the airlines already use. You do not fight the hub, you provision for it. Atlanta gets five parallel runways and a dedicated everything, because pretending it is an average airport gets people stranded.

Top 15 hubs by throughput

Blast radius

This is where the power law stops being a curiosity and becomes a risk model. I asked a blunt question: if the top hubs go dark, how much traffic is stranded? A flight is stranded if its origin or destination was one of the removed airports.

Knock out the ten busiest airports and you have touched 60.0% of all flights. Sixty percent of the network depends on ten nodes staying up. It is worse than that. You only need to remove 8 of them before half of all traffic is stranded. ATL, ORD, DFW, DEN, LAX, PHX, IAH, LAS. Eight airports.

Share of flights stranded as the busiest hubs are removed one by one, rising past the halfway line at the eighth hub

This is targeted-failure math, and it is the dark side of the hub-and-spoke design that makes the network efficient in the first place. Power-law graphs hold up well under random failure: kill a random airport and you almost certainly killed a regional field nobody routes through. They are catastrophically vulnerable to targeted failure, because the targets are obvious and few. Every architect who has drawn a fan-out diagram with one shared service in the middle has built this exact graph. The shared auth service, the central message broker, the one Postgres primary: they are all ATL. Cheap and elegant until the day they are the blast radius.

The caveat, then the lesson

One honesty check before anyone quotes the 60% figure in a slide deck. This is a single snapshot of US domestic flights from vega-datasets, and the counts are not seasonally resolved. There is no time dimension, so I cannot tell you whether ATL’s dominance holds in a February blizzard or whether the concentration tightens at Thanksgiving. The structure is real. The dynamics are invisible here.

The structure is the point. When I size a system now, I do not start from the average node. I start from the assumption that some node will end up being ATL whether I planned it or not, because skew is what real networks do, in traffic, airports, social graphs, and key distributions alike. The question is not whether you will get a hub. It is whether you find out before or after the eight that matter go dark.