2003 hat Carl de Marcken am MIT einen sehr interessanten Vortrag zum Thema “Computational Complexity of Air Travel Planning” gehalten. Die PDF mit der Präsentation ist mir jetzt in die Hände gefallen. Mag 2003 doch schon ein wenig her sein, so hat vieles noch immer seine Gültigkeit.

Wir sehen nur einen Teil:

“A large portion of the flight, price and seat availability data, called published data, is used by all the major search engines, but a significant amount of private data is restricted.”

Über die variable Preisgestaltung:

“Why this mess? Why so many fares, such complicated rules, the logic of priceable units, and so on? The answer is often called variable pricing. Various airline economists make the following claim: there is no price such that the price times the demand at the price equals the cost of flying a large jet. There are a lot of technical issues that can be raised with their argument, but leaving those aside the argument is that if the airline charges $1 per ticket of course the plane will fill, but the total revenue of $150 barely pays for an hour of a pilot’s salary. If they charge $1000 a ticket then if they could fill the plane they’d make a fortune, but only a small number of people are willing to fly at that price, so again they can’t equal the fixed costs of flying a plane. But if the airline can make those who are willing to pay it pay $1000, and others pay $800, and others $500, maybe down to $100 or so, then the sum total over all passengers is sufficient to pay for the fixed costs. In fact, some estimates put the incremental cost of flying a single passenger as low as $30 (for the meal and baggage and ticket handling), so that once the airline has committed to flying the plane it is in their interest to sell a ticket for $30 rather than let a seat go empty. But they must keep those who can pay more from buying their ticket at low prices, a tough balancing act.”

Über die Ticketregeln:

“The airlines solve this problem in two ways, collectively called revenue management. The first is to use fare prices and fare rules to construct a system where in the cheapest fares have restrictions that increase their perceived cost for a business traveler to the point where the business traveler will choose to buy more expensive fares. For example, cheap fares require round trip travel, prohibit non stop flights and ticket refunds, et cetera. But the cheap fares remain available for leisure travelers with more flexibility, for whom the extra restrictions are not so onerous. The second way, discussed later, consists of dynamically deciding whether to sell a given fare for a flight based on how much demand there is for the flight. For example,if a flight is not filling, lower priced fares are made available (on the grounds that it’s better to get some money than none) but on high-demand flights only the most expensive fares are available.”

Die Verfügbarkeit von Tickets erklärt:

“Airlines dynamically ad just their responses to seat availability queries as they estimate demand for flights. The simplest case is for the most expensive fares. For example, months before a flight leaves all (first class) F seats will be available but as seats are reserved the counts slowly drops until the plane is full; similarly for the most expensive coach class booking code, Y.

But cheaper coach class booking codes like H have response profiles that reflect demand as well as capacity. Suppose the airline sees very high demand for this flight relative to similar flights in the past. They may decide to stop selling cheaper seats so as to force passengers to pay more, or viewed another way, so as to save seats for those who would pay more. Some cheap booking codes might not normally be available at all, and might only be enabled in very low demand situations. Importantly, the information the airline uses to estimate demand changes constantly, so seat availability responses may fluctuate up and down even in absence of any reservations.

One of the biggest problems for the airline is predicting demand. They devote huge efforts to “cleaning” historical data for use in training statistical demand models. Imagine trying to accurately predict demand immediately after a strike, or a plane crash, or for flights to the city hosting the Olympics.”

Suchmaschinen suchen in alten Daten:

“Another interesting aspect of seat availability is the number of questions that the airlines must answer. If every passenger poses 100 searches before buying a ticket (a number in line with actual behavior) and each search looks at 1,000 flights, then the airlines would need to answer 15,000,000 questions a second. Neither their networks nor their computers can handle this, a situation that forced ITA Software to develop a sophisticated seat availability caching system. The problem is aggravated by O&D availability: if the entire trip must be included in each query, something many airlines desire, then search becomes impossible because every potential solution must be independently validated with the airline.”

Eine Verfügbarkeit kann nur scheinbar sein:

“Finally, the airlines’ seat availability infrastructure does not include any locking mechanism, so even if an airline responds that a booking code is available, there is no guarantee that by the time a traveler says “yes, I’d like to buy it” it still will be.”

Die Präsentation: Computational Complexity of Air Travel Planning

Kurz gesagt: Die Suchmaschinen haben Probleme mit der enormen Vielzahl an denkbaren Verbindungen, den unterschiedlichen Regeln der Fluggesellschaften und der fluktuierenden Anzahl von möglichen Tickets. Deswegen versucht man zu abstrahieren. Flugsuchmaschinen sollen Ergebnisse erzielen, ohne jedoch alle möglichen Kombinationen zu prüfen.

Mit Brecht zum Weiterdenken: “Denn die einen sind im Dunkeln, und die andern sind im Licht, und man siehet die im Lichte, die im Dunkeln sieht man nicht.” Flugsuchmaschinen zeigen uns eben nicht unbedingt den billigsten Flug.

Danke für den Tipp: Flocutus.de