The present invention relates generally to data and information processing for computer-implemented database systems, and more particularly to methods, devices and systems for monitoring competition price and detecting price discrepancies or competitive disadvantages in order to provide corrective messages or corrective actions to remedy the fares discrepancies or to remove or reduce the competitive disadvantages in particular in the travel reservation and booking systems.
A computerized travel system is organized around a Global Distribution System GDS. The GDS system may be proprietary computer systems allowing real-time access to airlines fares, schedules, and seating availability and other data. It can be accessed by travel vendors such as travel agencies, online travel vendors and travel companies to make the booking.
Travel vendors use to handle multiple fares for various products emanating from several travel carriers (e.g. airlines) thereby involving plural databases. This confers a strong complexity to the monitoring of competition prices and to price comparison processes.
In one example of embodiment, a computer-implemented method of detecting price discrepancies over time and providing analysis messages comprises the steps of:
In another example of embodiment, an apparatus for detecting price discrepancies over time and providing corrective messages comprises:
The exemplary embodiments also encompass a non-transitory computer-readable medium that contains software program instructions, where execution of the software program instructions by at least one data processor results in performance of operations that comprise execution of the method of the present invention.
A computer-implemented travel reservation and booking system comprises a plurality of databases:
The foregoing and other aspects of the embodiments of the present invention are made more evident in the following Detailed Description, when read in conjunction with the attached Figures, wherein:
Although the following description is given in the context of an application to the airline industry, it does not represent a limiting example since the present invention is applicable to all sorts of travel and tourism products such as hotel rooms, car rental, railways tickets or the like.
A positioning analysis is a process of comparing the prices offered by a using entity such as a travel vendor which can be either a travel agency or an airline company with the prices found on the market or offered by the competition. For the rest of the description a travel vendor is taken as an example of using entity.
The positioning analysis functions are:
The invention provides a tool that can help a user perform all or any of the above goals. Even though the description given hereafter is in the context of providing advice for correcting competition issues, the invention can simply reach the objective of providing information on a current situation of the competition. In the embodiments described below the messages are corrective message (this means that the user should normally take them into account to effectively apply corrective actions). However this example is not limiting and the message may simply aim at providing the user with a report analysing the current situation of the competition, with advice as to the potential actions that may be taken.
In addition the invention can be used to detect price discrepancy even though it does not reflect a competitive disadvantage for the using entity. In that case the invention is mainly a tool for analysing the prices of various selling entities.
Traditionally, the positioning analysis is performed manually by an agent at the pace of a human intellectual capacity. It is a complex and time consuming task that requires an in-depth expertise of the market and the competition. Because of the limited human intellectual capacity in term of data quantity memorisation and data processing speed, the scope of the traditional positioning analysis is often limited to a few markets. Therefore, the difficulty of processing large volumes of data such as those involved when all markets are targeted by an airline or a travel agent will be a major obstacle for making frequent requests of price comparison or price updates on a periodical basis.
Furthermore, the long periodicity or frequency by which the positioning analysis is manually performed does not allow the price comparison to be accurate, which results in a lack of adaptability to the changes of the market and competition. The accuracy of the data and the reactivity to any change of the market and the competition are features which are useful for an improved Positioning Analysis. All the constraints explained above show that the manual Positioning Analysis has very limited possibilities as they are the sources of concern when the positioning analysis is performed by agents.
Therefore, the present invention proposes an automated and optimized method, apparatus and system for monitoring competition price, detecting price discrepancies, and for providing corrective messages or actions. With the present invention, a scalable and a frequently refreshed Positioning Analysis is possible with an extendable number of markets to be selected and monitored.
In the airline industry, Pricing is a complex activity since Prices can be influenced by factors that are available to the user such as a fare analyst. Those factors are numerous such as Coded Fares, Encoded Rules, as well as specified Routing or Mileage. For instance, the Encoded Rules has more than 40 Encoded Rules restrictions such as Category 1 Eligibility, Category 2 Day/Time, Category 3 Seasonality, etc. Each of these Encoded rules has numerous coding possibility offered to the airline, as well as several possible application levels such as Fare Component, Pricing Unit, Journeys etc.
Here are some examples of causes which are the source of Competitive Disadvantages:
Example 1 Fares: The using entity is offering a Public Fare as cheapest solution while the competition has negotiated a Private Fare.
Example 2 Encoded Rules: On Fridays, the negotiated private fare of the using entity is not applicable because Cat 02 Day/Time is failing. The cheapest public fare then is returned.
Example 3 Fees: The using entity applies a higher mark-up Fee than the Competitor
A manual intervention (human assessment) on each unitary analysis (city pair/stay level) would need expertise and some time to be executed (10 minutes at least in average) due to the complexity of the Pricing activity because of the volume of data to process in order to have an exhaustive view of the competition of all the markets/dates/stays. For example, in order to compare 10 Travel Vendors which includes one using entity and 9 competitors, on 50 000 Markets (100 Origins×500 Destinations) and 100 departure dates and 30 stay durations, the number of detailed unitary analysis (city pair/stay level) to be performed is 1.5×106. It would then require 2.5×105 hours (156 men years) to complete the full analysis of the data, which is not sustainable.
According to the present invention, an automated analysis is performed based on a number of recurrent Positioning Patterns (in average 10 positioning patterns by city pair/stay that is 1,5.107 patterns). Furthermore, since the analysis is automated, the average time necessary for each positioning pattern analysis is reduced to 2.3 ms:
By implementing the present invention, for the whole analysis, the above mentioned 1.5×107 Positioning Patterns to be analysed would use an overall time which can be estimated to one hour for 10 CPUs, which is operationally sustainable.
Request 11 of User 10 contain different elements that are selected among several choices, such as competitors, markets, advance purchase, date combination etc. These elements are then used in a Massive Computation Platform 20 to generate raw price results 21 which are then transmitted to a Price Results Database 30 and also to generate fare invalidation results 23 which are transmitted to an Invalidation Database 40. The price results may be used for several price discrepancy detection flows. The request 11 can be sent by user 10 to the platform 20 as depicted or via a recommendation advisor which will be described hereafter. The platform 20 contains an invalidation detector 22 which is used for detecting fare invalidations and stores them in the invalidation database 40. In the field of the travel and tourism industry, prices will generally concern travel recommendations that are bookable by customers.
According to the present invention, a Recommendation Advisor 60 is configured to analyse Price Results 31 provided by Price Result Database 30. The function of the Recommendation Advisor 60 is to detect the Competitive Disadvantages or Price Discrepancies and to return their related Pattern Causes and the Corrective Actions in the Corrective Messages 61 back to User 10.
Recommendation Advisor 60 accesses several existing databases such as the Price Result Database 30, the Invalidation Database 40, and a Pricing Database 50 whose functions and structures are as follows:
Recommendation Advisor 60 is composed of 3 subcomponents: a Pattern Detector 62, an Advice Generator 64 and an Advice Aggregator 66, whose functions and structures are as follows:
Pattern Detector 62 analyses at the most specific level (wherein the city pair and stay are defined) Price Results 31 provided by Price Results Database 30 to detect all types of Positioning Patterns 63. A Positioning Pattern 63 may be defined by:
For the competition price monitoring, User 10 may define different fields such as:
Market 250 may be defined by an Origin and Destination 251 with a selected origin Paris and destination New York City in this example. The market may also be defined by a competition 252 by selecting for instance a plurality of Online Travel Agency OLTA which are competitor 1, competitor 2, . . . , competitor N.
In the request options 260, User 10 may select:
Additional request options may be added and selected by User 10.
The advisor thresholds are defined for instance by:
In the exemplary illustration, User 10 selects three competitors which are: competitor 1, competitor 2 and competitor 3. Their respective graphs are respectively represented and referred as 210, 211, 212 and 213. More competitors may be selected by User 10 for this competition price monitoring and may be graphically represented in this detailed view. The set of price results used by the invention preferably reflects the evolution over time of the price of a given product or of comparable products as sold by several vendors (i.e. the selected competitors and the customer). Products here include services such as travel service reservations materialized by tickets (usually electronic tickets in today's travel and tourism industry). In such an application the using entity and the competitors may be online travel agencies acting as resellers of travel journeys operated by travel carriers.
Four associated graphs 210, 211, 212 and 213 show continuous curves which represent respectively their price variations over the time period between 21 January and 5 Mar. 2011 of Using entity and the three competitors. Theses graphs raise 2 types of issues, issue #1 and issue #2 respectively referred as 230 and 220 where the customer price is above one of the prices of the selected competitors or the lowest price of the competition. The issues advantageously correspond to events for which the price of the customer for a given product is higher than the price of any of the monitored competitors for the same product or a similar product (like a travel journey sharing the same service level between the same Origin and destination, for the same dates). The events can be used as basis for detecting patterns. Events are indeed reflecting a pattern which is defined as a group of events sharing similarities. Only one event may be sufficient to identify a pattern but patterns are often made of a repetition of events. Examples of similarities used to group events into one pattern were previously given in reference to
Issue #1 occurs approximately during the period between 12 Feb. 2011 and 5 Mar. 2011 where the prices of using entity are above the prices of competitor 2 but below competitors 1 and 3. In this example, competitor 2 is 25% in average cheaper from 15 Feb. 2011 on a particular airline A1.
Issue #2 occurs repetitively approximately on 28 Jan., 4 Feb., and 11 Feb. 2011 where the prices of using entity are above the prices of competitor 1 but below competitors 2 and 3. Competitor 1 is 15% in average cheaper on Fridays.
These issues #1 and #2 are spotted on the graphs to give a greater visibility, and referred as 231 and 221. In this example, the repetition of issues, such as Issue #2, are spotted and are linked to each other on the graphs in order to give a better a corrective action to User 10 and to simplify the corrective message that needs to be taken by User 10.
According to this example, the detailed view shows the graphs with the detected 2 issues, and an Advisory Dashboard 280 listing Issue #1 and Issue #2 with the associated corrective actions. These corrective actions are extracted from the Pattern Causes Database 68. For Issue #1, the corrective actions are first to negotiate the same private fares with a detected airline A1, and second to extend a private fare validity from 15 Feb. 2011 with a detected airlines A2. For Issue #2, the corrective action is to reduce the Fee on Fridays by an amount of 5.
All the corrective actions of the associated issues are listed in the Advisor Dashboard 280 as shown in
Issue #1: Competitor 2 is 25% (average) cheaper from Feb. 15, 2011 on A1
Issue #2: Competitor 1 is 25% (average) cheaper on Fridays
Additional detected issues and corrective actions can be listed in the priority order that they are retrieved from the Pattern Causes Database 68. If a positioning pattern cannot be found in the Pattern Causes Database 68, the database is updated with the positioning pattern and associated corrective actions.
These continuous graphs 310, 311, 312 and 313 represent the price variation of the price results 31 of user 10 and three competitors over the period of time between 21 January and 5 Mar. 2011. They are extracted from the detailed view of the competition price monitoring of
The price results 31 are generated based on the Customer request 11 computed in the massive computation platform 20. They are used as inputs in the Pattern Detector 62 which filters and analyses the price results by segmenting the continuous graphs 310, 311, 312 and 313 in order to detect any positioning patterns 63 which are then transmitted to the Advice Generator 64 as is shown in the next figure.
The price results are used for drawing the price variation on the Y-axis 402 during a period of time selected by User 10 on the X-axis 401 and based on the Advisor Thresholds inputs 470 defined by an amount tolerance 471 and a minimum frequency 472.
The first step of the Pattern Detector process is to filter out all Price Results that are not linked to any competitive disadvantages. It consists of detecting all the configurations in which the customer's price is above the lowest price and keeping the lowest competitor, based on the Advisor Thresholds inputs 470 defining an amount tolerance of 1% and 3 and a minimum frequency of 1%.
In this example, a first group of 3 segmented graphs 410 and 412 are alike and a second group of segmented graphs 410 and 411 which are different from the first group.
This step of the Pattern Detector process is to determine some events and their related characteristics. The Events are the remaining continuous portions that have not been filtered out during the first step. Each Event is separated from each other. The characteristics to be determined for each event are predetermined attributes such as the Duration, the Start date, the Gap amount, etc.
In this example, the first group of segmented graphs represents Event #1, Event #2, and Event #3 respectively referred as 551, 552, and 553. In these three Events, segmented graph 510 of User 10 has a customer peak above segmented graph 511 of competitor 1 but is below segmented graph 511 of competitor 1 outside the peak. The second group of segmented graphs represents Event #4 referred as 554. In Event #4, segmented graph 510 of User 10 is above segmented graph 512 of competitor 2 on a competitor plateau.
The characteristics of each event are predetermined attributes such as a Duration 590, a Start date 580, a Gap amount 570, a Shape 560, etc.
In this example, Event #1, Event #2, Event #3 and Event #4 have the characteristics given in
This step of the Pattern Detector process is to detect similarities or common characteristics such as Shape 660, Gap 670, Start date 680, and Duration 690 between events 650. When the number of similarities is above a predetermined threshold, all the related events are grouped together and considered as several instances (repetitions) of a specific positioning pattern 663-1. During this step, if an event is not linked to any other event, this event is considered as a Positioning Pattern on its own (a single instance only, no repetition) 663-2.
In this example, Events #1, #2 and #3 respectively referred as 651, 652 and 653 are grouped together as Pattern #1, whereas Event #4 referred as 654 is not linked to any other event and is labelled Pattern #2.
Based on the time period 601 selected by User 10, the Customer price variations 610 and the selected Competitors price variations 611 and 612 are graphically illustrated to show more evidently the positioning patterns 663-1 and 663-2. In this example, Pattern #1 is repeated three times whereas Pattern #2 has no repetition. The prices on the Y-axis enable to detect the gap 670 of the different Events and Patterns. The Duration 690 can be also visualised on the X-axis in order to improve the price comparison.
The Pattern Causes Database 68 is a Database that is associating a Positioning Pattern 760 with its shape, repetition and characteristics to Pattern Causes 780 and related Corrective Actions 790, these latter being also referred as ‘Advices’. Each pattern Cause has a relative weight for a specified Positioning Pattern. A Positioning Pattern may have several pattern Causes. For each Positioning Pattern and pattern Causes association (760, 780), one or several Corrective Actions 790 are associated. A Corrective Message or Corrective Action is a template of text message that matches a Pattern Cause.
The Pattern Causes Database 68 is used/accessed by the Advice Generator 64 to retrieve Unitary Advices 65 and it is also periodically updated by the Advice Generator 64 to add Positioning Patterns with new associated shapes, repetitions and characteristics and new pattern Causes and new related Corrective Actions.
Advice Generator 64 of
This step retrieves all predetermined Causes 867 related to current Positioning Pattern 863 from the Pattern Causes Database 868.
One of the predetermined Causes 867 is:
“Every Friday, 67% Cat02 Day,
This step performs a Data Analysis on each predetermined pattern Cause. The predetermined causes are processed by priority order. As soon as a Cause is identified, this step stops. The Data Analysis is performed thanks to the invalidation data 841 retrieved from the Invalidation Database 840 and that have been stored during the massive computation processing and thanks to the pricing data 851 (Fares, Rules, Categories, Fees, etc.) retrieved from the Pricing Database 850. To limit access to the Pricing Database 850 and the processing of the Pricing Data, the invalidations 841 are checked first. In case the Cause is identified, this step stops. The identified pattern Cause and the related corrective Actions, also referred as Advices, are extracted from the Invalidation database 840 and Database 850 and are then returned to user 10.
This step is optional. It is only processed when none of the predetermined causes retrieved from the Pattern Causes Database 868 to explain the current Positioning Pattern 863 have been validated during the previous step. In this case, based on the Positioning Pattern 863 received in the Advice Generator 864, a Full Data Analysis is therein performed. First, all the Invalidation Data 842 on related Price Results are retrieved from the Invalidation Database 840. All existing invalidation reasons are then parsed. If the invalidation reason is found then this step stops. In case no invalidation reason is found yet, all Pricing data 852 related to the Price Results are retrieved from the Pricing Database 850. Each Data is then processed until a pattern cause is found. Once the pattern cause is retrieved, the cause and the related corrective Actions are extracted from the Invalidation and the Pricing Databases 840, 850 and are then returned.
A further step of the method is shown in
This step consists of updating the Pattern Causes Database 868 with the Cause that has not been found for the current Positioning Pattern 863. Any new positioning pattern cause is added to the Patent Causes Database 868. And the frequencies of the positioning pattern causes are also updated 869. For instance, in the example, the update message 869 specifies that the positioning pattern at issue has a frequency of “every Friday, 60% Cat02 Day, 30% Cat04 Flight Appl. and 10% Cat11 Blackout Dates”.
In an preferred embodiment the update step is performed even though no new causes have to be processed: each pattern detection gives the system the opportunity to re-calculate the frequency of occurrence of each pattern stored in the database 868. This may modify the priority orders of the pattern causes for the next pattern detection.
In one preferred embodiment of the invention, the Pattern Causes Databases 868 is not only kept up-to-date and enriched with the above process but also created the same way: at the invention's implementation time, the Pattern Causes Databases 868 is empty but it is rapidly filled with every pattern cause met during the process of the invention. In this case no separate construction method is needed for the Pattern Causes Databases 868.
The invention's process can be repeated for plural origin/destination pairs so as to cover broader geographical regions. The advice can be provided independently for each origin/destination pair or a more global view can be generated as explained hereafter.
Advice Aggregator 966 is a subcomponent of Recommendation Advisor 960 that aggregates the unitary causes and correction messages or actions returned by the Advice Generator 964 at city pair/stay level to find their highest level of applicability. The possible application level goes from the lowest to the highest level: the date level 910, the city pair level 920, the country level 930, the continent level 940 and the worldwide level 950. If there is no possible aggregation, the city pair/stay level is then selected by default. Each of these levels corresponds to a possible display in the Competition Price Monitoring application.
In this example, some positioning patterns are detected and the associated causes also found in the Pattern Cause Database and returned by the Advice Generator. The unitary advices contain pattern causes that are to be aggregated by the Advice Generator.
At the date level 1010, based on the several pattern causes found, the Advice Aggregator 966 detects and aggregates similar Pattern Causes:
On a first branch 1011, Apr. 12, 2011, P1: “Fee” and P2:“Rules:cat11”
On a second branch 1012, Apr. 12, 2011, P1: “Fee”
On a third branch 1013, . . . , P1: “Fee”
On other branches 1014, . . . , P1: “Fee”
Since Pattern Cause P1 appears a common Pattern Cause for several branches, they are aggregated under the same common city pair with the same pattern cause P1. In this particular case, the city pair is NCE-MIA.
At the city level 1020, based on the several pattern causes found, the Advice Aggregator 966 detects and aggregates similar Pattern Causes:
On a first branch 1021, PAR-NYC, P1: “Fee”
On a second branch 1022, NCE-MIA, P1: “Fee”
On a third branch 1023, . . . , P1: “Fee”
On other branches 1014, . . . , P1: “Fee”
Since Pattern Cause P1 appears a common Pattern Cause for several branches, they are aggregated under the same common country pair with the same pattern cause P1. In this particular case, the country pair is FR-US.
At the city level 1030, based on the several pattern causes found, the Advice Aggregator 966 detects and aggregates similar Pattern Causes:
On a first branch 1031, IT-US, P3: “Nego Fare”
On a second branch 1032, FR-US, P1: “Fee”
On a third branch 1033, . . . , P1: “Fee”
On other branches 1034, . . . , P1: “Fee”
Since Pattern Cause P1 does not appear to be a common Pattern Cause for several branches, they are aggregated under the same common continent pair but with the label “many causes” and not the same pattern cause. In this particular case, the continent pair is EUR-NAM.
At the continent level 1040, the Advice Aggregator 966 aggregates with the same “many causes”.
This figure is an exemplary view that can appear on a user interface based on inputs provided by User 10 such as:
The market may be defined by an Origin and Destination 1151 with a selected origin World and destination World in this example. The market may also be defined by a competition 1152 by selecting for instance a plurality of Online Travel Agency OLTA which are competitor 1, competitor 2, . . . , competitor N.
In the request options 1160, User 10 may select:
Additional request options may be added and selected by User 10.
The advisor thresholds are defined for instance by:
In the exemplary illustration, three competitors selected by User 10 are competitor 1, competitor 2 and competitor 3. The competition price analysis is performed on 6 continents: North America NAM, South America SAM, Europe EUR, Asia, Africa and AU or Oceania.
Different lines are linking continents and referred as EUR-NAM 1101, Asia-Oceania 1102, Africa-Asia 1111, EU-Asia 1121, Asia-NAM 1122, Asia-SAM 1123, Oceania-SAM 1125, Africa-Oceania 1126, EUR-Oceania 1127, Africa-SAM 1128, Africa-NAM 1129, EUR-SAM 1130, and NAM-SAM 1131. These lines enable User 10 to visualise the price discrepancies over the time period between 21 Jan. and 5 Mar. 2011. The most critical markets (i.e. the most important markets from the using entity's standpoint) are highlighted in red for instance to attract the visual attention of User 10 and concern EUR-NAM 1101 with a frequency of 21%, and Asia-Oceania 1102 with a frequency of 32%.
For EUR-NAM:
At the same time, on the Advisor Dashboard 1180, a list of causes and corrective actions are displayed in this global view at the worldwide level. In this example, two causes are detected and spotted which are referred as the most critical market: EUR-NAM 1101 with a frequency of 21%, and Asia-Oceania 1102 with a frequency of 32%.
The corrective actions indicate:
This figure is an exemplary view that can appear on a user interface based on inputs provided by User 10 such as:
The market may be defined by an Origin and Destination 1151 with a selected origin EUR and destination NAM in this example.
As in the previous case, the advisor thresholds are defined by:
As in the previous case, three competitors selected by User 10 are competitors 1, 2 and 3. The competition price analysis is performed between 2 continents: North America NAM, Europe EUR.
Different lines are linking countries of these 2 continents and referred as IE-CA 1201, IE-US 1202, IE-MX 1203, FR-CA 1211, FR-US 1212, FR-MX 1213, ES-CA 1221, ES-US 1222, ES-MX 1223, PT-CA 1231, PT-US 1232, and PT-MX 1233. These lines enable User 10 to visualise the price discrepancies and more particularly the most critical markets over the time period between 21 Jan. and 5 Mar. 2011. The most critical markets are highlighted in red and concern: IE-CA 1201 with a frequency of 24%, and FR-US 1212 with a frequency of 62%.
For FR-US 1212:
At the same time, on the Advisor Dashboard 1280, a list of causes and corrective actions are displayed in this global view at a continent level. In this example, two causes are detected and spotted for the most critical markets: IE-CA 1201 with a frequency of 24%, and FR-US 1212 with a frequency of 62%.
The corrective actions indicate:
This figure is also an exemplary view that can appear on a user interface based on inputs provided by User 10 such as:
The market 1350 may be defined by an Origin and Destination 1351 with a selected origin FR and destination USA in this example.
As in the previous case, the advisor thresholds are defined by:
As in the previous case, three competitors selected by User 10 are competitors 1, 2 and 3. The competition price analysis is performed between 2 countries: USA and FR.
Different lines are linking cities of these countries and referred as Paris-NYC 1301, Paris-DC 1302, Paris-Houston 1303, Lille-NYC 1305, Lille-DC 1306, Lille-Houston 1307, Nice-NYC 1311, Nice-DC 1312, Nice-Houston 1313, Bordeaux-NYC 1315, Bordeaux-DC 1316, and Bordeaux-Houston 1317. These lines enable User 10 to visualise the price discrepancies and more particularly the most critical markets. The most critical markets are highlighted in red and concern: PAR-NYC 1301 with a frequency of 73%, and Bordeaux-NYC 1315 with a frequency of 65%.
For PAR-NYC 1301:
At the same time, on the Advisor Dashboard 1380, a list of causes and corrective actions are displayed in this global view at a country level. In this example, the causes are detected and spotted for the most critical markets: PAR-NYC 1301 with a frequency of 73%, and BDX-NYC 1315 with a frequency of 65%.
The corrective actions indicate:
Exemplary embodiments of the invention are summarized hereafter; they can each be used independently or in combination with at least another exemplary embodiment of the invention:
In an exemplary embodiment, the computer-implemented method according to the present invention comprises receiving a request from a user containing the at least one parameter selected from a set of parameters.
In another exemplary embodiment, the set of price results is for travel recomendations wherein the set of parameters comprises a market selection of a destination and an origin and a set of at least one competitor, and a request selection of a departure date and a stay.
In another exemplary embodiment, the detecting of the pattern (63) comprises:
In another exemplary embodiment the similarities are defined at least by one among a shape; a repetition; or a set of characteristics.
In another exemplary embodiment the shape is defined at least by one among: a using entity peak; a competitor peak; a using entity plateau; or a competitor plateau.
In another exemplary embodiment, the repetition is one among: event not detected; or event detected with a repetition.
In another exemplary embodiment, the set of characteristics is defined at least by one among: a duration; an amount gap; or a start date.
In another exemplary embodiment, the set of parameters comprises a threshold selection of a tolerance and/or a minimum frequency and wherein the amount gap is one of the threshold selections with a minimum gap.
In another exemplary embodiment the computer-implemented method further comprises:
In another exemplary embodiment, the computer-implemented method further comprises displaying continuous graphs of the set of price results of the using entity and the competitors showing a detailed view of the detected patterns.
In another exemplary embodiment, the computer-implemented method further comprises displaying segmented graphs of the set of price results of the using entity and the competitors showing a detailed view of the detected patterns with the grouping of the detected events with the same pattern similarities.
In another exemplary embodiment, the computer-implemented method further comprises repeating the detecting of at least one another pattern, possibly for at least another set of price results based on at least one another set of parameters, and aggregating corrective messages by detecting and aggregating similar Pattern Causes.
In another exemplary embodiment, the computer-implemented method further comprises:
re-calculating the priority order of the predetermined pattern causes.
In another exemplary embodiment, the computer-implemented method further comprises generating alerts based on thresholds selection when the thresholds are exceeded.
In an embodiment, the apparatus according to the present invention has a set of price results which is for travel tickets (travel recommendations) and wherein the set of parameters comprises:
In another embodiment, the pattern detector for detecting a pattern is further configured to:
In another embodiment, the similarities associated to the detected pattern are defined at least by one among a shape; a repetition; or a set of characteristics.
In another embodiment, the shape of the detected pattern is defined at least by one among: a using entity peak; a competitor peak; a using entity plateau; or a competitor plateau.
In another embodiment, the repetition of the detected pattern is not detected; or detected with a repetition.
In another embodiment, the set of characteristics of the events for the detected pattern is defined at least by one among a duration; an amount gap; or a start date.
In another embodiment, the advice generator is further configured to:
In another embodiment, the apparatus displays continuous graphs of the set of price results of the using entity and the competitors showing a detailed view of the detected patterns.
In another embodiment, the apparatus displays segmented graphs of the set of price results of the using entity and the competitors showing a detailed view of the detected patterns with the grouping of the detected patterns with the same pattern similarities.
In another embodiment, the apparatus comprises an advice aggregator for aggregating analysis messages by detecting and aggregating similar Pattern Causes.
In another embodiment, the aggregated analysis messages are generated with priority order.
In another embodiment, the advice aggregator generates alerts based on thresholds selection when the thresholds are exceeded.
The foregoing description has provided by way of exemplary and non-limiting examples a full and informative description of various method, apparatus and computer program software for implementing the exemplary embodiments of this invention. However, various modifications and adaptations may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings and the appended claims. As but some examples, the use of other similar or equivalent processes or algorithms and data representations may be attempted by those skilled in the art. Further, the various names used for the different elements, functions and algorithms (e.g., etc.) are merely descriptive and are not intended to be read in a limiting sense, as these various elements, functions and algorithms can be referred to by any suitable names. All such and similar modifications of the teachings of this invention will still fall within the scope of the embodiments of this invention.
Furthermore, while described above primarily in the context of travel solutions provided by airlines (air carriers), those skilled in the art should appreciate that the embodiments of this invention are not limited for use only with airlines, but could be adapted as well for use with other types of travel modalities and travel providers including, as non-limiting examples, providers of travel by ship, train, motorcar, bus and travel products such as hotels.
Furthermore, some of the features of the exemplary embodiments of the present invention may be used to advantage without the corresponding use of other features. As such, the foregoing description should be considered as merely illustrative of the principles, teachings and embodiments of this invention, and not in limitation thereof.
Embodiments of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Embodiments may be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. A computer program, such as the computer program(s) described above, can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer also may include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks.
Embodiments may be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation, or any combination of such back-end, middleware, or front-end components. Components may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
The program code embodying the software program instructions of various exemplary embodiments described herein is capable of being distributed as a program product in a variety of different forms. In particular, the program code may be distributed using a computer readable media, which may include computer readable storage media and communication media. Computer readable storage media, which is inherently non-transitory, may include volatile and non-volatile, and removable and non-removable tangible media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data. Computer readable storage media may further include RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other solid state memory technology, portable compact disc read-only memory (CD-ROM), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and which can be read by a computer. Communication media may embody computer readable instructions, data structures or other program modules. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above may also be included within the scope of computer readable media.
While certain features of the described implementations have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit and the scope of the embodiments of the invention.