In many situations, potential buyers or other acquirers of various types of items (such as products and/or services) are faced with difficult decisions when attempting to determine whether acquiring a particular item of interest under current conditions is desirable or optimal based on their goals, or whether instead delaying the acquisition would be preferable. For example, when the potential acquirer desires to obtain the item at the lowest price possible before some future date, and the item is currently offered by a seller for a current price, the potential acquirer needs to evaluate whether accepting the current price is more advantageous than the potential benefits and costs associated with waiting to see whether the item will continue to be available and will be later offered at a lower price before the future date. Such potential acquisitions can include a variety of types of transactions (e.g., fixed-price purchase, auction-based purchase, reverse auction purchase, name-your-price purchase, rent, lease, license, trade, evaluation, sampling, etc.), and can be performed in a variety of ways (e.g., by online shopping using a computing device, such as via the World Wide Web or other computer network).
The difficulty of evaluating a potential current item acquisition is exacerbated in environments in which the prices of the items frequently change, such as when sellers or other suppliers of the items frequently modify item prices (e.g., in an attempt to perform yield management and maximize overall profits). The prices of items may change frequently when the items are of a limited quantity and are perishable (e.g., concert tickets and airline tickets). In such environments, the likelihood of future price changes may be high or even a certainty, but it may be difficult or impossible for the potential acquirer to determine whether the future price changes are likely to be increases or decreases, let alone the likely magnitude and timing of such changes. A large number of types of items may have such frequent price changes, such as airline tickets, car rentals, hotel rentals, gasoline, food products, jewelry, various types of services, etc. Moreover, a potential acquirer may in some situations need to evaluate not only a current price of an item of interest from a single seller or other provider, but also may need to consider prices offered by other providers and/or prices for other items that are sufficiently similar to be potential substitutes for the item of interest (e.g., airline flights with the same route that leave within a determined period of time, whether from the same airline or from competitor airlines).
Some systems attempt to identify a good buy for an item by comparing the price of the item offered by one supplier to the prices offered by other suppliers. If one of the suppliers offers the item at a price that is significantly lower than other suppliers, then the price from that supplier might be considered to be a good buy. Unfortunately, such a “good buy” is only relative to the current prices at which the item is being offered.
A method and system for identifying deals to facilitate travel planning is provided. In one embodiment, a deal identification system identifies deals on travel items and presents those deals to a person in a way that facilitates travel planning and travel shopping. The travel items may be airline trips, hotel rooms, rental cars, ship cruises, travel packages, or other travel-related items. The deal identification system may include an entity attributes service component that provides attributes of entities associated with the items. For example, an entity associated with an airline flight may be a destination city and an attribute may indicate whether the city is near a ski resort. The deal identification system may also include a historical price service component that provides historical pricing information for the items. For example, the historical pricing information may include the price for an airline flight sampled on a daily basis over the past year. The deal identification system may also include a current price service component that provides current pricing information for the items (e.g., current airfare of a flight). The deal identification system may also include a deal component that receives a criterion that defines a deal based on a combination of attributes of entities, historical pricing information, and current pricing information and identifies those items that match the criterion as deals.
The deal identification system may also identify deals based solely on non-pricing attributes of an item or based on a combination of pricing and non-pricing attributes. For example, the non-pricing attributes of an airline flight may include physical characteristics of the airplane (e.g., leg room, head room, and fabric of seats), characteristics of the airlines (e.g., financial strength), characteristics of the flight (e.g., on-time performance, number of stops, and layover time), characteristics of the airport (e.g., rental car locations and dining options), and so on. The deal identification system may allow a person to provide a criterion that defines items that match the criterion and defines a deal for the matching items based on non-pricing attributes of the matching items. For example, a deal may be considered to be an airline flight that is non-stop when all other comparable flights have at least one stop. The deal identification system identifies the items that match the criterion. For example, all flights between the same cities may match the criterion. The deal identification system then evaluates the attributes of the matching items to determine whether there are any deals.
The deal identification system may collect the travel information from various travel information sources (e.g., Sabre, ITA Software, airlines, or hotels). The deal identification system may collect that information at a specified observation rate (e.g., weekly, once daily, and twice daily) or at a variable observation rate (e.g., weekly during a low demand period and daily during a high demand period). If the travel information is collected more often than daily, then an observation date and time may be associated with each collection of travel information, referred to as an “observation.” The deal identification system stores the travel information in an observation store. The deal identification system is described below in the context of flight information.
In one embodiment, the deal identification system (or a system accessible by the deal identification system) collects observations of flight information for all possible trips on a daily basis and stores the flight information in association with its observation date. A trip is defined as a particular market and a particular departure and return date combination. For example, a market may be Seattle to Boston, Boston to Seattle, or Seattle to San Francisco. A departure and return date combination may be January 1 and January 5 or January 2 and January 5. Continuing with the example, one trip might be from Seattle to Boston departing on January 1 and returning on January 5, another trip might be from Seattle to Boston departing on January 2 and returning on January 5, and another trip might be from Boston to Seattle departing on January 2 and returning on January 5. Each trip may have multiple available flights. For example, the trip from Seattle to Boston departing on January 1 and returning on January 5 may have four available flights. Airline A may have a flight that departs at 6 a.m. on January 1 and returns at 5 p.m. on January 5, and a flight that departs at 6 a.m. on January 1 and returns at 10 p.m. on January 5. Airline B may have a flight that departs at 10 a.m. on January 1 and returns at 12 p.m. on January 5, and a flight that departs at 3 p.m. on January 1 and returns at 12 p.m. on January 5. An observation of a trip is flight information relating to all the flights of the trip. Each observation has an associated observation date that is the date the flight information for the flights of a trip was collected. For example, on December 20, the deal identification system may collect the flight information for all flights from Seattle to Boston departing on January 1 and returning on January 5. In such a case, the observation includes flight information for the four flights of Airlines A and B with an observation date of December 20. If on the next day, December 21, the deal identification system collects the flight information for the same trip, it will have another observation for the trip but with an observation date of December 21. The deal identification system may collect flight information for each flight that includes market, departing date and time, return date and time, airline, available seats, classes of available seats, number of stops, ticket restrictions, and so on. The flight information may be collected directly from the airlines or from an aggregation service that aggregates flight information for multiple airlines. The deal identification system may collect the observations for all trips on a daily basis and store the observations in an observation store.
In one embodiment, the deal identification system may collect flight information on a daily basis for each market. The deal identification system may limit the flights for which it retrieves flight information to flights that depart in the next 90 days and that are for durations of 2 to 8 days. One skilled in the art will appreciate that the retrieved flight information can be for any number of departure date and duration length combinations. Thus, for each market, the deal identification system will collect flight information for 630 trips (e.g., 90*7). The 630 possible trips are illustrated in the following table.
The deal identification system can also be used to identify hotel-related deals. The hotel rooms for a particular hotel market (e.g., city and hotel rating) may be aggregated in a manner similar to the way in which the airline flight information for a flight market (e.g., departure location and return location combination) is aggregated. For example, the four-star hotels in New York City can represent one market, the one-star hotels in New York City can represent another market, the four-star hotels in Las Vegas can represent yet another market, and so on. The hotel markets could further be divided into type of room (e.g., single king-size bed, two double beds, suite). Alternatively, the type of room could simply be a feature of the feature vector representing hotel rooms in the market. The deal identification system can collect hotel information on a daily or other basis for various stays in each market similar to the way in which information for airline trips is collected. A stay may be a particular arrival and departure date combination for a market. For example, one stay may be arriving on January 1 and departing on January 5 for a four-star hotel in New York City, another stay may be arriving on January 1 and leaving on January 3 for a four-star hotel in New York City, and yet another stay may be arriving on January 1 and departing on January 5 for a one-star hotel in Las Vegas.
In one embodiment, the deal identification system may analyze fares on a daily basis for departures in the next 90 days to determine what fares can be classified as deals.
The entity tagging service allows an administrator via a tagging dashboard to tag entities (e.g., airports or cities) with various attributes. The tagging dashboard allows an administrator to define arbitrary attributes. For example, the attributes may indicate whether a city is a ski destination, a beach destination, and so on. In addition, the tag may provide a score for that attribute for the airport. For example, Las Vegas may have a score of 1.0 for a gambling attribute, but a score of 0 for a ski attribute.
The entity ranking service ranks various markets and airports based on their popularity. For example, the market of Los Angeles to Las Vegas is likely more popular than the market of Los Angeles to Jersey City. Each airport may be scored based on its popularity of being a departing airport and a destination airport. The entity ranking service may generate the statistics or rankings aggregated for all users and may generate the rankings on a per-user basis. For example, a user who travels frequently from Seattle to San Francisco will have a high ranking score for the market Seattle to San Francisco, a high score for Seattle as a departure city, and a high score for San Francisco as a destination city.
The histogram service generates statistical information from the observation data that has been collected in the observation store. The histogram service generates a histogram for each trip classification. For example, the histogram service may generate a histogram for each market that accumulates for various fare levels the number of days over time that the lowest fare for that market was at that fare level. For example, the histogram service may bucketize the fares into $50 increments. For example, the buckets would be from $1 to $49, $50 to $99, $100 to $149, and so on. Each bucket for a market contains the count of the number of days that the lowest fare for observations taken on that day was in that bucket. The histogram service may generate the histogram for an all trips category, a weekend trips category, a weeklong trips category, and so on.
The current prices service retrieves the current fares for flights from the flight information sources in real time.
The deals service receives from the campaign service SQL-type statements defining a criterion of a deal, identifies flights that satisfy the criterion, and returns an indication of those flights that satisfy the criterion. The campaign service allows an administrator to define the criteria for various deals. The campaign service provides a campaign dashboard user interface through which an administrator inputs the criterion for a deal, which may include a filter specification and an order specification. The filter specification defines the flights that are deals, and the order specification defines how the flights are to be ordered when presented to a user. The campaign service receives requests for deals and submits the filters to the deals service. The campaign service sorts the results provided by the deals service and provides them to the clients.
The computing devices on which the deal identification system may be implemented may include a central processing unit, memory, input devices (e.g., keyboard and pointing devices), output devices (e.g., display devices), and storage devices (e.g., disk drives). The memory and storage devices are computer-readable media that may contain instructions that implement the deal identification system. In addition, the data structures may be stored or transmitted via a data transmission medium, such as a signal on a communications link. Various communications links may be used to connect the deal identification system to flight information sources and user computing devices, such as the Internet, a local area network, a wide area network, a point-to-point dial-up connection, a cell phone network, and so on.
Embodiments of the deal identification system may be implemented in various operating environments that include personal computers, server computers, multiprocessor systems, microprocessor-based systems, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and so on. The user devices may include cell phones, personal digital assistants, smart phones, personal computers, programmable consumer electronics, digital cameras, and so on.
The deal identification system may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, and so on that perform particular tasks or implement particular abstract data types. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments. For example, the functions of batch collection and providing the user interface may be performed on different computer systems.
Deal expressions are used as a part of a deal criterion to filter and sort markets and deals returned by the deals service. The syntax of a deal expression is SQL-like and allows referencing a number of properties of the market, origin, destination, observation, price prediction (see, U.S. Pat. No. 7,010,494, entitled “Performing Predictive Pricing Based on Historical Data” and issued on Mar. 7, 2006), and fare guard offer (see, U.S. patent application Ser. No. 11/599,607, entitled “System and Method of Protecting Prices” and filed on Nov. 13, 2006).
The filter consists of a single expression and evaluates to true or false. It is analogous to a SQL “where” clause. An example of a filter is:
market.distance<1000 and market.rank<100 and (dest.tag[Ski] or dest.tag[Disney])
Only markets/deals for which the filter evaluates to true will appear in the results.
The sorter or order specification is a comma-separated list of expressions with sort modifiers (ascending/descending). It is analogous to a SQL “order by” clause. An example sorter is:
hist_percentile, hist_low_delta, market.weight*dest.tag[Ski] desc
Markets in the results are sorted according to the list of values from an evaluation of sorter expressions. As an example, if there were three markets matching the above filter, for which the above sorter evaluated as follows:
The syntax for the deal expressions is defined as:
1. Data Types
2. Literal values
3. Property references
4. Ranking Properties
Name Type Description
rank NUMERIC Rank (1 is the highest)
weight NUMERIC Weight among all ranked entities in the domain (0 to 1)
points NUMERIC Number of recorded searches
5. Tags
6. Boolean Operators
7. Numeric Operators
8. Comparison Operators
9. “Between” Operator
10. “In” Operator
11. Case statement
12. Functions
13. Operator Precedence and Grouping
14. Sort Modifiers
15. Missing Data (NULL Values)
16. Case Sensitivity
From the foregoing, it will be appreciated that specific embodiments of the invention have been described herein for purposes of illustration, but that various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims.
This application claims the benefit of U.S. Provisional Patent Application No. 60/906,929, entitled “DEAL IDENTIFICATION SYSTEM,” filed on Mar. 13, 2007, which application is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60906929 | Mar 2007 | US |