Airline Economics · Revenue management

How a fare is built

From the fare an airline files to the price on the booking screen, one layer at a time.

A ticket price is a stack: filed fares and their rules, the airline's surcharges, government and airport taxes at each end, then the fare family and extras. Step through a return trip in economy as the ticket fills up, then decode a fare basis and see how offer-based pricing changes the picture.

Worked example: a return to Paris in economy

    Running total –

    Loading…

    Where the money goes

    Taxes and charges in the example, by country

    published rates, per passenger

    Governments and airports set these, and the airline only collects them. Each one is defined by who pays it (departing, arriving or connecting passengers, by cabin or by distance) and shows on the ticket under a two-letter code. They don't depend on the fare, so a cheap ticket carries the same taxes as a dear one and taxes weigh most on the cheapest fares.

    Fare basis decoder

    a teaching example

    A fare basis code names a fare and its rules. It is up to eight characters, starts with the booking class, and the rest is the airline's own convention, so the same letters can mean different things at different airlines. Type a code and see one plausible reading of each part.

    Try
    Teaching example: real codes are airline-specific, and only the airline's fare rules say what one means.

      Filed fares and offers

      what changes with offer-based pricing

      Everything above is the filed-fare model: prices published in advance and assembled by a pricing engine from fares and rules. Offer-based pricing, built on IATA's NDC and ONE Order standards, lets the airline answer each search with an offer it computes itself: a price that need not be one of a few filed steps, and a bundle it can put together for that request. The layers at the bottom of the stack stay: an offer still carries the same taxes and airport charges.

      Filed faresOffers
      Where the price comes fromFares filed ahead of time (mostly through ATPCO), a handful of price points per market and cabin.The airline's offer engine at the moment of the search; the price can be any amount.
      How seats are controlledRevenue management opens and closes booking classes; the cheapest open class sets the fare.Revenue management's bid price feeds the price directly (continuous pricing).
      Who builds the priceThe pricing engine of a GDS, an online agency or the airline, applying fare construction rules.The airline, through its own API (NDC) to agencies and on its website.
      What's for saleA seat with rules; fare families as branded sets of fares; extras sold separately on miscellaneous documents (EMDs).A bundle assembled per request: seat, bags, seat choice, flexibility, priced together.
      The recordA ticket, plus EMDs for extras.An order holding every item, with the ticket kept alongside during the transition.
      Taxes and chargesUnchanged: set by governments and airports, added on top either way.

      How it works

      The model

      The price is built as a sum of layers, in the order a pricing engine applies them. For a ticket of fare components c sold in a country whose currency has the IATA rate of exchange ROE:

      Fare = round( ROE × Σc NUCc ),   with NUCc = Fc / ROE truncated to two decimals,

      where Fc is each component's filed fare in local currency: half the round-trip fare for each direction of a return. Fare construction is done in neutral units of construction (NUC) so components filed in different currencies can be added; the total goes back to the currency of the country where travel starts. Then

      Ticket = Fare + Σc YQ/YRc + Σt τt × BSRt,

      with YQ/YR the carrier-imposed surcharge per component and τt each tax or airport charge in its own currency, converted at a bankers' selling rate BSR. Fare families and extras are added on top: a higher fare family is a different filed fare (here the same fare with a different brand suffix), and seats and bags are separate items.

      In the example, both directions use round-trip fares halved and combined (a "half round trip" combination, allowed by each fare's category 10). The outbound departs in low season and the return in high season, so the two halves come from different fares: the ticket's two fare components. Each component's rules apply to its own direction, and the strictest rule of the two governs changes to the whole ticket. The fare's routing allows only the nonstop here; under the mileage system, a connecting routing is allowed up to the maximum permitted mileage (MPM, 120% of the ticketed point mileage), with surcharges in 5% steps up to 25% above it.

      Data and sources

      Concepts were checked against ATPCO, IATA and pricing-system documentation; tax rates against the governments' and airports' own publications, as in force on . Everything is stored in farebuild.json.

      Fare basis conventions: no public standard covers the characters after the first one; the decoder's dictionary is assembled from common usage (see the Wikipedia article above) and is only one plausible reading.

      Limitations

      Fare classes, booking classes and fences in Revenue Management 101, chapter 01; offers, orders and NDC in chapter 08; fare families in the fare family designer, and prices set at any amount in the continuous pricing simulator. This is a personal project and isn't affiliated with any airline.