How it works · 5 min read
How airlines price flights: the fare class system explained
Airline pricing is not one price per route. It's a stack of dozens of fare classes, each with its own price and seat allocation. When you see a $189 fare to Los Angeles, the airline isn't deciding $189 is the right number; it's selling whichever fare class has seats left in cheapest-to-most-expensive order. The instant the $189 bucket sells out, the next bucket up (maybe $219) becomes the new lowest price. Understand the bucket system and you understand 90% of why prices change minute-to-minute on the same flight.
By Marcus Chen, Route + Pricing Analyst, Deal Wings
Published May 15, 2026 · 5 min read
What fare classes actually are
Every commercial airline uses a fare-class system inherited from the 1960s IATA framework. Single letters (Y, B, M, Q, K, L, X, etc.) each correspond to a fare bucket with a specific price, refund / change rules, and a fixed seat allocation on each flight. The flight has one schedule and one set of seats, but dozens of overlapping price layers running on top.
- Y: full-fare economy. Most expensive, most flexible. Almost no leisure travelers buy this.
- B, M: full-flexible economy. Lower than Y, still flexible.
- H, Q, K: mid-range economy. Often the lowest bucket that earns full miles and qualifies for upgrades.
- L, V, X, N: discount and deeply discounted economy. The actual leisure traveler price range.
- G, E, T: basic economy / restricted fares. Cheapest, but with the most restrictions.
On a typical SLC → LAX flight, an airline might have 4 seats in L class at $99, 10 seats in V at $129, 20 in N at $169, 30 in K at $199, and so on up the stack. When the L bucket fills, the next person searching for that flight sees $129 as the cheapest fare. That's why a fare you saw yesterday can disappear by morning even if dozens of seats are still empty: the cheap bucket is gone, not the seats.
Dynamic pricing on top of fare classes
Modern airlines layer dynamic pricing on top of the static fare-class system. Algorithms monitor demand against historical curves and adjust which buckets are open at which price. If a flight is selling faster than usual three weeks out, the algorithm closes the cheaper buckets earlier. If demand is weak, the algorithm pushes more seats into the cheapest buckets, sometimes opening discount buckets that wouldn't normally be available at all.
That second mode, the algorithm pushing extra inventory into cheap buckets, is what produces most flash sales and fare wars. A competing airline drops capacity on a route, the dominant airline's algorithm sees demand dropping vs. forecast, and the cheap buckets reopen aggressively to win back share. From the traveler's side, it looks like a sudden $300 → $179 drop with no announcement.
Deal Wings' anomaly detection runs precisely on this signal: a fare that drops 25%+ below the route's long-running baseline is almost always an algorithmic response to competitive pressure or a misconfigured bucket. We surface it within seconds of detection.
Why prices change minute-to-minute
The big sources of intra-day price changes on SLC routes:
- Bucket exhaustion. The cheap fare class sold its last seat. Next bucket up takes over.
- Competitor move. Delta dropped to $129 on SLC → LAX; United's algorithm matches within hours.
- Algorithm reforecasting. End of day, the algorithm recomputes demand vs. forecast and adjusts which buckets are open for tomorrow.
- Fuel cost passthrough. Less common today, but jet fuel spikes still propagate into base fares within days.
- Manual revenue management override. An airline analyst manually reopens or closes inventory on a specific flight, usually for high-traffic events or weather disruption.
The myth that 'airlines watch your cookies and raise prices when you search twice' is mostly false. Bucket exhaustion is the real explanation 90% of the time, and bucket exhaustion happens to everyone simultaneously; incognito mode doesn't change it.
What this means for booking strategy
Three practical takeaways:
- Book the cheap bucket the moment you see it. Treat any deal that's below baseline as a sell-within-the-hour situation. There's a real chance the bucket sells out before you finish dinner.
- Set alerts rather than refreshing manually. Bucket-driven price drops happen at unpredictable times. An alert service watching every fare 24/7 catches the bucket reopen the instant it happens.
- Stop worrying about cookies. Use whatever browser is convenient. The bucket-exhaustion pattern eats 90% of the supposed cookie-based price discrimination.
Frequently asked questions
What are airline fare classes?
Fare classes are single-letter codes (Y, B, M, Q, K, L, X, etc.) that correspond to a price bucket on each flight. Every flight has dozens of overlapping fare-class buckets, each with a specific price and a fixed seat allocation. The cheapest available fare you see is whichever bucket still has seats remaining.
Why does the price of the same flight change throughout the day?
The most common reason is bucket exhaustion: the cheap fare class sold its last seat and the next bucket up takes over. Other causes include competitor price moves, algorithmic demand reforecasting, and occasionally manual revenue-management overrides. It's almost never about cookies tracking your search history.
Does incognito mode actually get cheaper flights?
Almost never. Airline price discrimination based on cookies is rare and minor, well under 5% on routes we track. The price changes you see between searches are bucket-exhaustion events that affect every customer simultaneously, not personalized targeting.
What's the lowest a fare can drop on a route?
Below the floor set by the airline's lowest fare class for that route. On SLC → LAX, that floor is typically around $79 round-trip on ULCCs like Spirit or Frontier; on Delta the same route's floor sits around $149. Anything below those floors is a misconfigured fare class or a mistake fare.
Catch the next deal ✈
Free deal alerts for one priority destination, or $39.99 / year for unlimited destinations and instant delivery.