All case studies
✈️ Case study · Travel

How Airlines prices you

Airlines invented dynamic pricing in its modern form. Yield management systems have been adjusting fares in real time since the deregulation era of the 1980s, and the practice has grown more sophisticated with every generation of computing power since. Today, fare personalization has moved from pricing a seat to pricing a passenger, which is a meaningful shift.

Typical markup
20-80%
Fare spread, same route
Top signal
Search
Urgency
Disclosure
None
Disclosure required

How it works

The mechanics underneath
your ticket price.

Traditional yield management works on fare buckets. An airline divides every flight into a set of fare classes with assigned seat counts, and as seats sell, the system opens or closes buckets to target a revenue curve for that specific flight. This is why booking a seat nine months early can cost the same as booking it two weeks out, while booking it forty-eight hours out usually costs two or three times more.

Layered on top of the bucket system is a personalization layer that watches your search behavior. Every time you search for the same route, the airline or the booking engine logs the search. Repeated searches for the same flight within a short window can nudge you into a higher fare bucket, because the model reads the repeated searching as urgency.

Third-party booking engines add their own layer on top. Google Flights, Kayak, Expedia, and Skyscanner all use different relationships with airlines, and the prices they show can differ for the same traveler in the same session. Device, account, loyalty status, and browser history feed into which fares each engine is willing to show you.

The signals

What they’re actually reading
about you.

Weights are approximate and based on published research, regulatory filings, and reverse-engineering studies. Sources are cited in full on the Sources page.

🔍 Search frequency
+18%

The number of times you’ve searched for the same route in the last seven days is one of the highest-weighted inputs. Repeated searches signal urgency.

📅 Days to departure
+24%

This is a yield-management classic. Fares stair-step up as the flight fills and the departure date approaches, especially in the last three weeks.

📆 Day of search
+8%

Tuesday-afternoon fares trend lower than weekend fares for many domestic routes because revenue managers release fresh inventory mid-week.

🛫 Route and time of flight
+20%

Morning flights on business routes, red-eyes on vacation routes, and the specific airport combinations all feed separate demand curves.

💼 Booking engine and cookies
+12%

The booking site, previous cookies, and whether you’re logged in all contribute. Starting fresh in incognito is a genuinely reliable test.

📱 Device
+5%

Mobile vs desktop occasionally surfaces different prices, especially on carrier-owned apps that offer app-exclusive fares.

Loyalty and status
+8%

Frequent-flyer status cuts both ways. Sometimes it triggers loyalty pricing on your preferred carrier, sometimes it registers as reduced price sensitivity.

🌐 Country of origin
+5%

The country and currency associated with your IP can route you to a different fare database entirely. US-issued searches sometimes see different fares than EU-issued searches on the same flight.

Real example

A round-trip flight from Denver to San Francisco

A Washington Post reporter documented a 2023 test where the same nonstop flight from Denver to San Francisco returned fares of $199 to $389.47 across a week, varying by device, by logged-in loyalty account, by incognito versus normal browser, and by time of day the search was run. The cheapest and most expensive quotes came from the same booking engine, for the same seat, less than two hours apart.

Low end
$199.00
High end
$389.47
+95.7%

What you can do

Ways to push back
that actually work.

None of these are silver bullets, but together they can shift the signals enough to meaningfully change the number you see.

01

Always start in incognito

Open a private or incognito window for the first search of any trip. Cookies and prior searches absolutely change fare buckets, and incognito blocks both.

02

Compare three engines minimum

Price the same itinerary on Google Flights, the airline’s direct site, and one aggregator like Kayak or Skyscanner. Wide disagreement means you’re in personalized-pricing territory.

03

Search Tuesday afternoon

For domestic US flights, mid-week afternoon prices tend to run meaningfully lower than weekend searches. Revenue-management releases typically happen Tuesday morning.

04

Use flexible date views

Every major booking site has a grid or chart view showing a full week or month of fares. The grid blunts personalization because it draws from bucketed inventory in bulk, not from a single targeted quote.

Try it yourself

Watch a ticket price get built for you.

The simulator uses the same factor weights shown above. Change any signal and watch the price move.

Launch the Simulator

Other case studies