EP3682401A1 - A method and system for real-time online traveller segmentation using machine learning - Google Patents

A method and system for real-time online traveller segmentation using machine learning

Info

Publication number
EP3682401A1
EP3682401A1 EP18765117.9A EP18765117A EP3682401A1 EP 3682401 A1 EP3682401 A1 EP 3682401A1 EP 18765117 A EP18765117 A EP 18765117A EP 3682401 A1 EP3682401 A1 EP 3682401A1
Authority
EP
European Patent Office
Prior art keywords
traveller
machine learning
user
predetermined
category
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP18765117.9A
Other languages
German (de)
French (fr)
Inventor
Rodrigo Acuna Agost
Alix Lheritier
Alejandro Ricardo Mottini D'oliveira
David Renaudie
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amadeus SAS
Original Assignee
Amadeus SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/704,428 external-priority patent/US11120480B2/en
Priority claimed from FR1758517A external-priority patent/FR3071087A1/en
Application filed by Amadeus SAS filed Critical Amadeus SAS
Publication of EP3682401A1 publication Critical patent/EP3682401A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0206Price or cost determination based on market factors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0224Discounts or incentives, e.g. coupons or rebates based on user history
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0253During e-commerce, i.e. online transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0611Request for offers or quotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/14Travel agencies

Definitions

  • the present invention relates to the application of machine learning models for classifying online users.
  • embodiments of the invention classify unidentified users in real-time into one or more categories, or segments, using limited information that may be available about each user in the specific online context of travel search, information, and booking systems.
  • the invention may be applied in online advertising systems, for example to select
  • advertisements most suitable for presentation to a user and/or to determine an appropriate bid price for a view or click-through of an advertisement presented to a user.
  • Online (e.g. web-based, mobile, or in-app) advertising differs from advertising in traditional media in its degree of personalised audience targeting.
  • broadcast media advertising such as television advertising
  • online advertising aims to reach individuals having a particular interest in the product, service, or information that is presented.
  • Advertisers whose
  • advertisements appear on these websites may pay the operator on the basis of viewing opportunities or impressions (commonly measured as 'cost per thousand impressions', a.k.a. CPM), on the basis of a cost per click (CPC), or according to some other measure of performance.
  • CPM cost per thousand impressions'
  • CPC cost per click
  • the actual selection of an advertisement to be placed on a web page presented to an individual user may be based, at least in part, on a bidding process whereby an advertiser who is willing to pay a higher CPM, CPC, or other cost measure, is more likely to have its advertisement presented to the user.
  • an ad exchange is a technology platform that implements a digital marketplace allowing advertisers and publishers of web sites and other online content to buy and sell advertising space, often through real-time auctions.
  • Well-known ad exchange platforms include DoubleClickTM (owned by GoogleTM), AppNexusTM, MicrosoftTM Ad ExchangeTM, and OpenXTM.
  • An ad exchange maintains a 'pool' of ad impressions. Publishers contribute their ad impressions, e.g. available advertising slots embedded within web pages served to users, into the pool. Buyers can then bid for the
  • a supplier of travel booking services will have information on an individual client basis regarding such characteristics as frequency, duration, class, origin, and destination of travel. Collectively, this information may be used to define traveller categories, or market segments, such as 'frequent traveller', 'business traveller', 'luxury traveller', 'budget traveller', 'adventure travellers', and so forth.
  • an online user presented via an ad exchange could be identified with a particular client within the travel booking service provider's database, it would be possible to select advertisements that are highly-targeted to the user's known travel interests and preferences, and/or their known market segment, and for the provider's DSP to bid aggressively to place these high-value ads.
  • An alternative approach is to gather and store additional cumulative information about unidentified online users, again using a browser cookie or similar to track and maintain this information over time. In this way, it may become possible to link an online user to an individually distinguishable customer/client in the advertiser's database, enabling the rich data available regarding past customer behaviour, preferences, and market segmentation to be employed to select highly targeted advertisements.
  • this approach includes:
  • the present invention provides a computer-implemented method comprising:
  • each individually-distinguishable traveller is assigned an associated tag in the data store as a member or non-member of a predetermined traveller category based upon one or more prior travel bookings of the individually-distinguishable traveller;
  • each feature is selected such that a corresponding value thereof may be obtained for an unidentified user in an online context
  • a processor configured to execute the machine learning classifier, a feature vector comprising values of the plurality of features
  • embodiments of the invention employ rich data typically held by travel booking service providers in their offline client databases in order to 'tag' individually-distinguishable travellers according to predetermined categories, such as market segments.
  • an individual traveller may be tagged as a 'frequent traveller' based upon a number of trips taken over a predetermined period, such as a calendar year, as a 'business traveller' based upon a number or ratio of business trips taken, or as a 'luxury traveller' based upon an average cost of each trip taken.
  • this level of detail is not available for an unidentified user in an online context.
  • available online user information may be limited to characteristics of a single trip in the context that the user may currently be, or have recently been, researching that trip online.
  • Embodiments of the invention may therefore advantageously determine a set of features (e.g. trip characteristics) that are available in the online context, and compute values of those features corresponding with offline records of prior travel bookings of individually-distinguishable, and tagged, travellers.
  • the resulting feature vectors and associated classifications are then applied to train a supervised machine learning model which can subsequently be deployed, e.g. in a DSP, to make very rapid (e.g. 30 ms or less) classification decisions in the online context.
  • the area under the receiver operating characteristic curve (AUROC) was found to be 0.80, which is generally regarded by those skilled in the art of machine learning as a good performance.
  • An AUROC in excess of 0.80 was also achieved for a classifier trained using only five features to distinguish between 'business' and 'leisure' travel.
  • an individually-distinguishable traveller having records within the offline data store may be classified into a plurality of predetermined traveller categories, and that individual records may be associated with zero, one, or more categories.
  • a traveller may be tagged as a 'frequent traveller', a 'business traveller', and a 'luxury traveller', and may have associated records corresponding with both business trips and leisure trips for the purposes of training a machine learning classifier.
  • embodiments of the invention may employ one classifier, or multiple classifiers.
  • a multi-class classifier may be trained to select between mutually-exclusive categories, such as 'luxury traveller', 'mid-price traveller', and 'budget traveller', while one or more separate binary classifiers may be trained to classify an online user as a 'frequent traveller' and/or a 'business traveller'.
  • each individually-distinguishable traveller may be assigned a plurality of associated tags in the data store, each tag identifying the traveller as a member or non-member of a corresponding plurality of
  • predetermined traveller categories based upon one or more prior travel bookings of the individually-distinguishable traveller.
  • a distinct plurality of features may be associated with each one of the plurality of predetermined traveller categories, and the training step may comprise training one or more machine learning classifiers using computed feature vectors comprising values of the distinct plurality of features associated with each corresponding predetermined traveller category.
  • the determining step may comprise executing, by the processor, each one of the machine learning classifiers to determine an estimate of whether the unidentified user is a member or non-member of each corresponding
  • the machine learning classifier is configured to generate a value corresponding with a level of confidence in the estimate of whether the unidentified user is a member or non-member of the predetermined traveller category.
  • the value may be an estimate of a probability that the unidentified user is a member of the category.
  • a decision may be made based upon the estimate, for example by applying a threshold to the generated value. Where the value is an estimate of probability, the threshold may be set at 0.5.
  • the machine learning classifier is implemented as a gradient boosting machine.
  • a gradient boosting machine Those skilled in the art of machine learning will appreciate, however, that other machine learning models may be employed in embodiments of the invention including, but not limited to, support vector machines (SVM), naive Bayes classifiers, logistic regression classifiers, and neural networks.
  • SVM support vector machines
  • naive Bayes classifiers naive Bayes classifiers
  • logistic regression classifiers logistic regression classifiers
  • neural networks neural networks.
  • the invention provides a computing apparatus which implements a demand side platform, the computing apparatus comprising:
  • the memory device contains a body of program instructions including a machine learning classifier which is executable by the processor and configured to determine an estimate of whether an unidentified online user is a member or non-member of a predetermined traveller category based upon an input feature vector comprising values of a plurality of features, the classifier having been trained using a training set of records of prior travel bookings of a plurality of individually-distinguishable travellers in which each individually- distinguishable traveller is tagged as a member or non-member of the
  • predetermined traveller category based upon one or more prior travel bookings of the individually-distinguishable traveller, each of the features being selected such that a corresponding value thereof may be obtained for the unidentified online user
  • the body of program instructions further including instructions which, when executed by the processor, cause the computing apparatus to implement a method comprising steps of:
  • an apparatus that implements method that links rich offline data with limited online data.
  • the bid decision may comprise a positive bid decision, or a negative bid decision.
  • a corresponding bid price may be determined, and a bid response comprising the bid price may be transmitted.
  • the bid price may be, for example, a fixed bid price, or may be a variable bid price that is computed in accordance with any suitable algorithm.
  • the invention provides a computer program comprising program code instructions for executing the steps of the method according to the first aspect when said program is executed on a computer.
  • the program code instructions may, for example, be stored on tangible machine- readable media.
  • Figure 1 is a schematic diagram illustrating an exemplary networked system embodying the invention
  • Figure 2 shows a timeline of communications between a user device, a web server, and ad exchange server, and a DSP embodying the invention
  • Figure 3 is a schematic diagram illustrating a system for offline training of a machine learning model embodying the invention
  • Figure 4 shows a flowchart of a method of offline training embodying the invention
  • Figure 5 shows a flowchart of a method of determining a bid decision by a DSP embodying the invention
  • FIG. 6 is an exemplary receiver operating characteristic (ROC) curve for a frequent traveller classifier embodying the invention.
  • Figure 7 is an exemplary ROC curve for a business traveller classifier embodying the invention.
  • FIG. 1 is a block diagram illustrating an exemplary networked system 100 including a demand side platform (DSP) server 102, which is configured to implement a method of determining a bid for placement of advertising content in accordance with an embodiment of the invention.
  • the DSP server 102 may comprise a computer system having a conventional architecture.
  • the DSP server 102 as illustrated, comprises a processor 104.
  • the processor 104 is operably associated with a non-volatile memory/storage device 106, e.g. via one or more data/address busses 108 as shown.
  • the non-volatile storage 106 may be a hard disk drive, and/or may include a solid-state non-volatile memory, such as ROM, flash memory, solid-state drive (SSD), or the like.
  • the processor 104 is also interfaced to volatile storage 110, such as RAM, which contains program instructions and transient data relating to the operation of the DSP server 102.
  • the storage device 106 maintains known program and data content relevant to the normal operation of the DSP server 102.
  • the storage device 106 may contain operating system programs and data, as well as other executable application software necessary for the intended functions of the authentication server 102.
  • the storage device 106 also contains program instructions which, when executed by the processor 104, cause the DSP server 102 to perform operations relating to an embodiment of the present invention, such as are described in greater detail below, and with reference to Figures 2 and 5 in particular. In operation, instructions and data held on the storage device 106 are transferred to volatile memory 110 for execution on demand.
  • the processor 104 is also operably associated with a communications interface 112 in a conventional manner.
  • the communications interface 112 facilitates access to a wide-area data communications network, such as the Internet 116.
  • the volatile storage 110 contains a corresponding body 114 of program instructions transferred from the storage device 106 and configured to perform processing and other operations embodying features of the present invention.
  • the program instructions 114 comprise a specific technical
  • DSP server 102 and other processing systems and devices described in this specification, terms such as 'processor', 'computer', and so forth, unless otherwise required by the context, should be understood as referring to a range of possible implementations of devices, apparatus and systems comprising a combination of hardware and software.
  • Physical processors may include general purpose CPUs, digital signal processors, graphics processing units (GPUs), and/or other hardware devices suitable for efficient execution of required programs and algorithms.
  • Computing systems may include conventional personal computer architectures, or other general-purpose hardware platforms.
  • Software may include open-source and/or commercially-available operating system software in combination with various application and service programs.
  • computing or processing platforms may comprise custom hardware and/or software architectures.
  • computing and processing systems may comprise cloud computing platforms, enabling physical hardware resources to be allocated dynamically in response to service demands. While all of these variations fall within the scope of the present invention, for ease of explanation and understanding the exemplary embodiments described herein are based upon single-processor general-purpose computing platforms, commonly available operating system platforms, and/or widely available consumer products, such as desktop PCs, notebook or laptop PCs, smartphones, tablet computers, and so forth.
  • processing unit' is used in this specification (including the claims) to refer to any suitable combination of hardware and software configured to perform a particular defined task, such as accessing and processing offline or online data, executing training steps of a machine learning model, or executing classification steps of a machine learning model.
  • a processing unit may comprise an executable code module executing at a single location on a single processing device, or may comprise cooperating executable code modules executing in multiple locations and/or on multiple processing devices.
  • classification and bid decision processing may be performed entirely by code executing on DSP server 102, while in other embodiments corresponding processing may be performed is a distributed manner over a plurality of DSP servers.
  • Software components e.g. program instructions 114, embodying features of the invention may be developed using any suitable programming language, development environment, or combinations of languages and development environments, as will be familiar to persons skilled in the art of software engineering.
  • suitable software may be developed using the C programming language, the Java programming language, the C++ programming language, the Go programming language, and/or a range of languages suitable for implementation of network or web-based services, such as JavaScript, HTML, PHP, ASP, JSP, Ruby, Python, Perl, and so forth. These examples are not intended to be limiting, and it will be appreciated that convenient languages or development systems may be employed, in accordance with system requirements.
  • the system 100 further comprises additional DSP servers, e.g. 118, 120 that, in use, compete with DSP server 102 to bid for placement of advertising content within online slots (i.e. for 'impressions') offered via an ad exchange server 122.
  • the ad exchange server 122 implements a digital marketplace allowing advertisers and publishers of web sites and other online content to buy and sell advertising space in the form of a real-time, online auction in which each DSP server 102, 118, 120 is an automated, high-speed, bidder.
  • the ad exchange server 122 comprises a database 124 in which it maintains details of online content providers (web servers) and advertisers (DSPs) for the purpose of operating a digital advertising marketplace.
  • DoubleclickTM owned by GoogleTM
  • AppNexusTM owned by GoogleTM
  • MicrosoftTM Ad ExchangeTM and OpenXTM
  • OpenXTM OpenXTM
  • the system 100 further includes user terminal devices, exemplified by terminal device 126.
  • the terminal devices 126 may be, for example, desktop or portable PCs, smartphones, tablets, or other personal computing devices, and each comprise a processor 128 interfaced, e.g. via address/data bus 130, with volatile storage 132, non-volatile storage 134, and at least one data
  • the processor 128 is also interfaced to one or more user input/output (I/O) interfaces 140.
  • the volatile storage 132 contains program instructions and transient data relating to the operation of the terminal device 126.
  • the terminal device storage 132, 134 may contain program and data content relevant to the normal operation of the device 126. This may include operating system programs and data (e.g. associated with a Windows, Android, iOS, MacOS, Linux, or other operating system), as well as other executable application software generally unrelated to the present invention.
  • the storage 132 also includes program instructions 138 which, when executed by the processor 128 enable the terminal device to provide a user with access to online content. While many applications are known for providing such access, for simplicity in the present description it is assumed that the program instructions 138 implement a web browser having a graphical user interface (GUI) presented via the user I/O interface 140.
  • GUI graphical user interface
  • a corresponding web page display 144 is generated via the device Ul 140.
  • the display 144 include website content 146, and one or more advertising slots, e.g. 148, 150.
  • a number of communications steps then take place in order to populate these slots, i.e. to provide online advertisers with ad impressions within the web page display 144.
  • the user terminal 126 via the executing web browser application 138 and responsive to user input, transmits 202 an HTTP request to the web server 142 which includes a URL of desired web content.
  • the web server 142 responds by transmitting 204 content, e.g. a web page in HTML format, to the user device 126.
  • content e.g. a web page in HTML format
  • the complete population and rendering of web page display 144 may require multiple requests and responses, and may involve further transactions with the web server 142 and/or with other online servers, such as content distribution network (CDN) servers and other web servers providing embedded content.
  • CDN content distribution network
  • the web page transmitted by the web server 142 to the user device 126 typically includes a hypertext reference ('href) directing the browser 138 to retrieve content from the ad exchange server 122 in accordance with an application programming interface (API) defined and provided by the relevant operator of the server 122.
  • the user device 126 transmits 208 an HTTP request to the ad exchange server 122.
  • the request includes web site information and user information relating to the user of the terminal device 126.
  • Available user information may include information that the web server 142 has gathered, and may include client-side information, such as device and browser identity and technical details, identifying information and contents of browser cookies, and the like.
  • client-side information such as device and browser identity and technical details, identifying information and contents of browser cookies, and the like.
  • the ad exchange server 122 receives the request, identifies relevant DSP servers 102, 118, 120 in its database 124, and transmits 210 bid request messages to each selected DSP server.
  • One such bid request message including site and user information, is received at DSP server 102 embodying the present invention, which executes a process 212 in accordance with its specific programming 114 in order to classify the user and arrive at a bid decision.
  • the DSP server 102 transmits 214 the bid to the ad exchange server 122.
  • the ad exchange server 122 receives all bids transmitted from DSP servers, including server 102, and selects a winning bid. It then retrieves ad content corresponding with the winning bid from its database 124, and transmits 216 the ad content to the user device 126 for rendering within the corresponding ad slot, e.g. 148 or 150.
  • This decision must be made with limited user information, and in view of the fact that a bad decision may have significant consequences for the advertiser. For example, if the DSP server wrongly determines that the user is a desirable target for a particular ad (i.e. computes a 'false positive'), it may place a relatively high winning bid and incur a real cost with little or no prospect of any return. Conversely, if the DSP server wrongly determines that the user is not a desirable target for the ad (i.e. computes a 'false negative'), it may place no bid, or a low losing bid, and cause the advertiser to miss an opportunity to obtain an impression with a real prospect of a return.
  • offline data such as the contents of a client database containing detailed records of clients and travel bookings, may be used to classify travellers according to one or more market segments or categories.
  • suitable categories or segments may include 'frequent traveller', 'business traveller', 'luxury traveller', 'budget traveller', and 'mid-range traveller'. Segments, and appropriate characteristics, may be determined according to an understanding of the market for travel services.
  • an individual traveller may be tagged as a 'frequent traveller' based upon a number of trips taken over a predetermined period, such as a calendar year, as a 'business traveller' based upon a number or ratio of business trips taken, or as a 'luxury traveller' based upon an average cost of each trip taken.
  • FIG. 3 is a block diagram illustrating a system 300 for offline training of a machine learning model.
  • the system 300 includes one or more high- performance computing system 302, preferably comprising hardware and/or software that is optimised for efficient execution of one or more machine learning models.
  • Each computing system 302 comprises a central processor 304 interfaced, e.g.
  • the computing system may also include one or more GPUs (not shown), in view of the fact that certain machine learning models, such as neural network and deep learning models, are known to be efficiently implemented using highly parallel, vectorized, algorithms for which GPUs are particularly well-suited.
  • the volatile storage 308 contains program instructions and transient data relating to the operation of the computing system 302.
  • the computing system storage 308, 310 may contain program and data content relevant to its normal operation, which may include operating system programs and data (e.g. associated with a Windows, MacOS, Linux, or other operating system), as well as other executable application and/or system software generally unrelated to the present invention.
  • the storage 308 also includes program instructions 324 which, when executed by the processor 128 implement an offline training process for a machine learning model. In particular, travel booking records and associated categories may be retrieved from an offline database server 316, and employed for training of the machine learning model.
  • FIG. 4 is a flowchart 400 illustrating a method of offline training embodying the invention, such as may be implemented by the computing system 302.
  • step 402 travel booking records and associated categories (which may alternatively be called 'tags', labels', 'classes', or
  • a set of feature vectors is computed using the contents of the travel booking records. This is an important step in the method, which has the effect of linking the detailed offline data corresponding with individually-distinguishable travellers available in the database 316 with the more limited unidentified user information that is available in the online context, i.e. as transmitted 210 to the DSP 102.
  • a feature is an item of information (e.g. a numerical, categorical, or Boolean value) that can be derived from both the detailed offline data and the more-limited online data.
  • information e.g. a numerical, categorical, or Boolean value
  • online data relevant to travel booking services and captured from an unidentified user's online activities relating to an actual or potential trip may include origin of travel, destination of travel, date of departure, date of arrival, and duration of trip.
  • a feature vector is a set of the features derivable from both offline and online data that are collectively used for training of the machine learning model, and for subsequent online classification by the DSP server 102.
  • Feature design/selection is an important step in the development of effective machine learning systems, and examples of feature vectors developed in accordance with embodiments of the invention are described further below, with reference to Figures 6 and 7.
  • an untrained machine learning model is initialised. This step involved creation and initialisation of data structures comprising the model, as well as the setting of relevant parameters/hyperparameters for the training process. It may also involve model selection, and in some embodiments the model may in fact combine multiple models (ensemble learning).
  • the computing system 302 executes one or more training procedures in accordance with the selected one or more machine learning algorithms. Training involves inputting at least a portion of the computed feature vectors and corresponding tags as a training set, and applying a training procedure adapted to minimise an objective function which reflects an accuracy of the trained model in classifying the feature vectors according to the known tags.
  • the trained model may be tested using a test set, and/or cross-validation set, which may, for example, comprise a portion of the computed feature vectors and corresponding tags held back from the training step 408 for this purpose.
  • the results of the test step 410 may be evaluated to determine whether they satisfy a suitable criterion of quality (examples of which are described below with reference to Figures 6 and 7). If not, then at step 414 the model parameters/hyperparameters may be updated and the model reinitialised for retraining at step 408. Alternatively, if the model is deemed to be of sufficient quality, a representation of the trained model is saved at step 416. This representation is suitable to be loaded and executed by the DSP server, as described below with reference to Figure 5.
  • an extreme Gradient Boosting (XGBoost) machine learning model is employed, originally developed by Tianqi Chen and Carlos Guestrin at the University of Washington.
  • XGBoost extreme Gradient Boosting
  • the XGBoost system is highly scalable, is widely- used and tested, and an efficient implementation in C/C++ is available as an open source package, with bindings to other languages used in technical computing such as Python, R and Julia. Results from this embodiment are presented below with reference to Figures 6 and 7.
  • FIG. 5 a flowchart 500 of a method of determining a bid decision by DSP server 102.
  • site and unidentified user information is received, i.e. via transmission 210 from the ad exchange server 122.
  • This information is used at step 504 to compute a feature vector, which is input to the machine learning model executed at step 506.
  • this model execution is based on the representation saved at step 416 of the process 400.
  • the output of the model is an estimate of the classification of the user based on the calculated feature vector which may be, in the case of the XGBoost algorithm for example, a generated numerical value representing a level of confidence in the estimate of whether the unidentified user is a member or non- member of the category for which the model was trained.
  • the value may be an estimate of a probability that the unidentified online user is a member of the category.
  • a bid decision is made based upon the estimate.
  • the decision may include determining whether or not to bid at all, and/or a
  • a threshold may be applied to the generated value, such that if the value is below the threshold then no bid is made.
  • a bid amount may be determined based upon the magnitude of the generated value, such that a higher price is bid if the model indicates a higher confidence in the classification of the unidentified user.
  • the bid information is transmitted 214 back to the ad exchange server 122 at step 512.
  • the use of a machine learning model as described above has a number of advantages, and addresses particular problems present in prior art approaches. Firstly, it overcomes limitations with linking of offline and online data. In particular, the machine learning model itself, which is trained on offline data and subsequently executed on online data, effectively becomes the means of linkage. Secondly, it is not relevant that the unidentified online users may not correspond with any of the customers/clients having records in the offline database. Accordingly, 100% of online users can be classified by the model, so long as the minimum information required to compute the feature vectors is available. Thirdly, the method and system avoid privacy constraints, because the stored representation of the trained machine learning model comprises data structures that contain no individually-identifiable personal data of any
  • the training process may be highly computationally-intensive, requiring high-performance computing resources and extended time periods, the execution of the resulting trained model on a single feature vector can be extremely fast, easily satisfying the requirement to compute a decision in 30 milliseconds or less.
  • a commercial database was employed for offline training, containing cleaned records in which individually-distinguishable travellers were reconciled with a total of 1 ,328,694 trips.
  • a 'frequent traveller' was defined as a person who took five or more trips in any 12 month period. Using this definition, 5.3% of trips in the data set were automatically tagged as 'frequent traveller' trips.
  • An XGBoost model with 489 trees was trained using feature vectors comprising the above feature set, computed using the tagged trips.
  • a resulting ROC curve 600 is shown in Figure 6, wherein the horizontal axis 602 represents false positive rate (FPR), the vertical axis 604 represents true positive rate (TPR), and the ROC 606 is generated by sweeping the threshold between 0.0 and 1.0 at which the model output is determined to indicate a 'frequent traveller'.
  • the AUROC 608 is 0.8, which compares with the value of 0.5 that would be obtained by making purely random decision, and is regarded as good performance of the machine learning classifier.
  • the TPR correctedly-classified frequent travellers
  • FPR wrongly-classified non-frequent travellers
  • the model was configured to produce an output estimate representing a level of confidence of whether a trip corresponding with an input feature vector is associated with a 'luxury traveller', on a scale of 0.0 to 1.0.
  • the AU ROC for this binary classifier was found to be 0.83.
  • embodiments of the present invention provide systems and methods employing machine learning models to classify unidentified online users, using limited information, into different traveller categories using training data derived from offline databases containing records relating to individually- distinguishable travellers.
  • the machine learning models effectively provide a 'smart' linkage between rich offline data and limited online data.
  • the online users need not have been previously encountered by the system, and classification can be performed for any user so long as the minimum information required to compute the model feature vectors is available.
  • the system protects privacy, in that no individually-identifiable personal data of any customer/client in the offline database is reflected in the deployed machine learning models.
  • classification on newly-observed online users can be extremely fast, e.g. 30 milliseconds or less.
  • models with good predictive power can be developed. Predictions generate by the models can therefore be used with confidence for high-speed, real-time, online decision-making, such as in bidding for impressions within a digital advertising marketplace facilitated by an ad exchange server.

Abstract

A computer-implemented method for real-time online traveller segmentation comprises accessing at least one offline data store that contains records of prior travel bookings of a plurality of individually-distinguishable travellers. For each record of a training set of records selected from the offline data store, a feature vector is computed comprising corresponding values for the plurality of features. A machine learning classifier is trained using the computed feature vectors and associated tags corresponding with records in the training set. A processor is configured to execute the machine learning classifier, which receives a feature vector comprising values of the plurality of features corresponding with an unidentified user in the online context. The processor executes the machine learning classifier to determine an estimate of whether the unidentified user is a member or non-member of a predetermined traveller category.

Description

A METHOD AND SYSTEM FOR REAL-TIME ONLINE TRAVELLER
SEGMENTATION USING MACHINE LEARNING
FIELD OF THE INVENTION
[0001] The present invention relates to the application of machine learning models for classifying online users. In particular, embodiments of the invention classify unidentified users in real-time into one or more categories, or segments, using limited information that may be available about each user in the specific online context of travel search, information, and booking systems. The invention may be applied in online advertising systems, for example to select
advertisements most suitable for presentation to a user, and/or to determine an appropriate bid price for a view or click-through of an advertisement presented to a user.
BACKGROUND TO THE INVENTION
[0002] Online (e.g. web-based, mobile, or in-app) advertising differs from advertising in traditional media in its degree of personalised audience targeting. For example, while broadcast media advertising, such as television advertising, aims to reach a target demographic defined by broad characteristics such as age- group, socioeconomic status, and/or general interests, online advertising aims to reach individuals having a particular interest in the product, service, or information that is presented.
[0003] Highly personalised audience targeting technology has led to the development of business models that are specific to online advertising. For example, it is now common for websites that provide news, aggregated
information, and other content of interest to particular users, to host third-party advertisements as a means for generating revenue. Advertisers whose
advertisements appear on these websites may pay the operator on the basis of viewing opportunities or impressions (commonly measured as 'cost per thousand impressions', a.k.a. CPM), on the basis of a cost per click (CPC), or according to some other measure of performance. The actual selection of an advertisement to be placed on a web page presented to an individual user may be based, at least in part, on a bidding process whereby an advertiser who is willing to pay a higher CPM, CPC, or other cost measure, is more likely to have its advertisement presented to the user.
[0004] According to one common model, the bidding process is facilitated by an 'ad exchange platform'. An ad exchange is a technology platform that implements a digital marketplace allowing advertisers and publishers of web sites and other online content to buy and sell advertising space, often through real-time auctions. Well-known ad exchange platforms include DoubleClick™ (owned by Google™), AppNexus™, Microsoft™ Ad Exchange™, and OpenX™.
[0005] An ad exchange maintains a 'pool' of ad impressions. Publishers contribute their ad impressions, e.g. available advertising slots embedded within web pages served to users, into the pool. Buyers can then bid for the
impressions that they wish to purchase. Bidding decisions are often made in real time based on information such as the previous behaviour of the user an ad is being served to, time of day, device type, ad position, and so forth. In practice, these bidding decisions must themselves be made very rapidly, e.g. in at most a few tens of milliseconds, using technology platforms commonly known as demand side platforms (DSPs). Since there is a real cost to the advertiser in purchasing impressions through an ad exchange, the performance of
technologies and algorithms deployed in a DSP for assessing the potential 'value' of a user in order to make a bid decision may have a significant business impact.
[0006] Advertisers typically have significant information in their own
databases regarding their customers/clients. For example, a supplier of travel booking services will have information on an individual client basis regarding such characteristics as frequency, duration, class, origin, and destination of travel. Collectively, this information may be used to define traveller categories, or market segments, such as 'frequent traveller', 'business traveller', 'luxury traveller', 'budget traveller', 'adventure travellers', and so forth. Accordingly, if an online user presented via an ad exchange could be identified with a particular client within the travel booking service provider's database, it would be possible to select advertisements that are highly-targeted to the user's known travel interests and preferences, and/or their known market segment, and for the provider's DSP to bid aggressively to place these high-value ads.
[0007] In practice, however, the user information available via an ad exchange is insufficient to uniquely identify an individual user. Thus, while an advertiser may have the ability to individually distinguish its customers/clients within its own databases, online users must generally be regarded as
unidentified. There is, in short, a missing link between the advertiser's offline customer data and the online user information.
[0008] One possible approach to assigning a market segment to an unidentified online user is simply to ask, e.g. to present the user with a query such as 'are you a frequent traveller?' The user's response can be saved, e.g. in association with a browser cookie or similar, such that it becomes available via the ad exchange during future access by the user of relevant ad-hosting content sources. However, this approach suffers from a number of problems, including the difficulty of presenting and receiving a response to the query, the possible negative impact of obtrusive requests for information on the user's perception of the advertiser, and the potential for users to misclassify themselves.
[0009] An alternative approach is to gather and store additional cumulative information about unidentified online users, again using a browser cookie or similar to track and maintain this information over time. In this way, it may become possible to link an online user to an individually distinguishable customer/client in the advertiser's database, enabling the rich data available regarding past customer behaviour, preferences, and market segmentation to be employed to select highly targeted advertisements. However, there are many significant problems with this approach, including:
• the high volume of data that must be managed;
• the complexity of matching logic, i.e. availability, selection, and verification of information that may be used for matching, and the various ways in which the information may be combined to determine whether a match has been found;
• low coverage, i.e. a match may only be made for online users who are actually present in the advertiser's customer/client database, which may be a very small proportion of all online users;
• data privacy issues, i.e. various national laws and regulations limit the use of personal information held by companies for targeting and tracking of individuals, which strongly restrict the amount of usable data with explicit identification; and
• performance issues, i.e. it may not be possible to compute a match within a few tens of milliseconds, as required.
[0010] As a result, there is a clear need for real-time computer-implemented technologies, methods and systems that can be deployed within DSPs and that are able to make improved decisions regarding ad selection and bidding through ad exchanges. It would be highly beneficial to take advantage of the rich data available in an advertiser's database of individually distinguishable customer information, while using only the significantly more limited user information available via an ad exchange in an online context for the purpose of decisionmaking by a DSP. In order to meet technical requirements, and ensure that page load times are not unduly increased by the selection and bidding process, it is necessary that a decision be made in no more than a few tens of milliseconds. The present invention is directed to addressing these needs.
SUMMARY OF THE INVENTION
[0011] In one aspect, the present invention provides a computer-implemented method comprising:
accessing at least one offline data store that contains records of prior travel bookings of a plurality of individually-distinguishable travellers, wherein each individually-distinguishable traveller is assigned an associated tag in the data store as a member or non-member of a predetermined traveller category based upon one or more prior travel bookings of the individually-distinguishable traveller;
determining a plurality of features associated with the predetermined traveller category, wherein each feature is selected such that a corresponding value thereof may be obtained for an unidentified user in an online context;
for each record of a training set of records selected from the offline data store, computing a feature vector comprising corresponding values for the plurality of features;
training a machine learning classifier using the computed feature vectors and associated tags corresponding with records in the training set;
receiving, at a processor configured to execute the machine learning classifier, a feature vector comprising values of the plurality of features
corresponding with the unidentified user in the online context; and
determining, by the processor executing the machine learning classifier, an estimate of whether the unidentified user is a member or non- member of the predetermined traveller category.
[0012] Thereby a method is provided that links rich offline data with limited online data. [0013] Advantageously, embodiments of the invention employ rich data typically held by travel booking service providers in their offline client databases in order to 'tag' individually-distinguishable travellers according to predetermined categories, such as market segments. For example, an individual traveller may be tagged as a 'frequent traveller' based upon a number of trips taken over a predetermined period, such as a calendar year, as a 'business traveller' based upon a number or ratio of business trips taken, or as a 'luxury traveller' based upon an average cost of each trip taken. Generally, however, this level of detail is not available for an unidentified user in an online context. In a scenario anticipated by embodiments of the invention, available online user information may be limited to characteristics of a single trip in the context that the user may currently be, or have recently been, researching that trip online. Embodiments of the invention may therefore advantageously determine a set of features (e.g. trip characteristics) that are available in the online context, and compute values of those features corresponding with offline records of prior travel bookings of individually-distinguishable, and tagged, travellers. The resulting feature vectors and associated classifications are then applied to train a supervised machine learning model which can subsequently be deployed, e.g. in a DSP, to make very rapid (e.g. 30 ms or less) classification decisions in the online context.
[0014] While the number of features for which values may be obtained for an unidentified user in an online context is relatively small, e.g. as few as between five and 10-20 features in some embodiments, it has surprisingly been found by the inventors that good performance can be achieved by the resulting machine learning classifier. For example, in a particular embodiment it has been found that just eight features may be used to achieve a true positive rate (TPR) of classification to a 'frequent travellers' segment (i.e. correct classification of frequent travellers) of 66%, with a false positive rate (FPR, i.e. non-frequent travellers classified incorrectly) of 22%. For this embodiment, the area under the receiver operating characteristic curve (AUROC) was found to be 0.80, which is generally regarded by those skilled in the art of machine learning as a good performance. An AUROC in excess of 0.80 was also achieved for a classifier trained using only five features to distinguish between 'business' and 'leisure' travel.
[0015] It will be appreciated that an individually-distinguishable traveller having records within the offline data store may be classified into a plurality of predetermined traveller categories, and that individual records may be associated with zero, one, or more categories. For example, a traveller may be tagged as a 'frequent traveller', a 'business traveller', and a 'luxury traveller', and may have associated records corresponding with both business trips and leisure trips for the purposes of training a machine learning classifier.
[0016] Furthermore, embodiments of the invention may employ one classifier, or multiple classifiers. For example, a multi-class classifier may be trained to select between mutually-exclusive categories, such as 'luxury traveller', 'mid-price traveller', and 'budget traveller', while one or more separate binary classifiers may be trained to classify an online user as a 'frequent traveller' and/or a 'business traveller'.
[0017] Accordingly, each individually-distinguishable traveller may be assigned a plurality of associated tags in the data store, each tag identifying the traveller as a member or non-member of a corresponding plurality of
predetermined traveller categories based upon one or more prior travel bookings of the individually-distinguishable traveller. A distinct plurality of features may be associated with each one of the plurality of predetermined traveller categories, and the training step may comprise training one or more machine learning classifiers using computed feature vectors comprising values of the distinct plurality of features associated with each corresponding predetermined traveller category. The determining step may comprise executing, by the processor, each one of the machine learning classifiers to determine an estimate of whether the unidentified user is a member or non-member of each corresponding
predetermined traveller category. [0018] Preferably, the machine learning classifier is configured to generate a value corresponding with a level of confidence in the estimate of whether the unidentified user is a member or non-member of the predetermined traveller category. For example, the value may be an estimate of a probability that the unidentified user is a member of the category. A decision may be made based upon the estimate, for example by applying a threshold to the generated value. Where the value is an estimate of probability, the threshold may be set at 0.5.
[0019] According to an embodiment of the invention, the machine learning classifier is implemented as a gradient boosting machine. Those skilled in the art of machine learning will appreciate, however, that other machine learning models may be employed in embodiments of the invention including, but not limited to, support vector machines (SVM), naive Bayes classifiers, logistic regression classifiers, and neural networks.
[0020] In another aspect, the invention provides a computing apparatus which implements a demand side platform, the computing apparatus comprising:
a processor;
at least one memory device accessible by the processor; and a data communications interface operably associated with the processor,
wherein the memory device contains a body of program instructions including a machine learning classifier which is executable by the processor and configured to determine an estimate of whether an unidentified online user is a member or non-member of a predetermined traveller category based upon an input feature vector comprising values of a plurality of features, the classifier having been trained using a training set of records of prior travel bookings of a plurality of individually-distinguishable travellers in which each individually- distinguishable traveller is tagged as a member or non-member of the
predetermined traveller category based upon one or more prior travel bookings of the individually-distinguishable traveller, each of the features being selected such that a corresponding value thereof may be obtained for the unidentified online user,
the body of program instructions further including instructions which, when executed by the processor, cause the computing apparatus to implement a method comprising steps of:
receiving, via the data communications interface, a bid request message including site and user information of the unidentified online user;
computing, based upon the received site and user information, a feature vector comprising values of the plurality of features corresponding with the unidentified online user;
executing the machine learning classifier using the computed feature vector as input, to obtain an estimate of whether the unidentified online user is a member or non-member of the predetermined traveller category; and
determining a bid decision based upon the estimate.
[0021] As mentioned before, thereby, an apparatus is provided that implements method that links rich offline data with limited online data.
[0022] According to embodiments of the invention, the bid decision may comprise a positive bid decision, or a negative bid decision. In the event that the bid decision is a positive decision, a corresponding bid price may be determined, and a bid response comprising the bid price may be transmitted. The bid price may be, for example, a fixed bid price, or may be a variable bid price that is computed in accordance with any suitable algorithm.
[0023] In another aspect, the invention provides a computer program comprising program code instructions for executing the steps of the method according to the first aspect when said program is executed on a computer. The program code instructions may, for example, be stored on tangible machine- readable media. [0024] Further aspects, advantages, and features of embodiments of the invention will be apparent to persons skilled in the relevant arts from the following description of various embodiments. It will be appreciated, however, that the invention is not limited to the embodiments described, which are provided in order to illustrate the principles of the invention as defined in the foregoing statements and in the appended claims, and to assist skilled persons in putting these principles into practical effect.
BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Embodiments of the invention will now be described with reference to the accompanying drawings, in which like reference numerals refer to like features, and wherein:
Figure 1 is a schematic diagram illustrating an exemplary networked system embodying the invention;
Figure 2 shows a timeline of communications between a user device, a web server, and ad exchange server, and a DSP embodying the invention;
Figure 3 is a schematic diagram illustrating a system for offline training of a machine learning model embodying the invention;
Figure 4 shows a flowchart of a method of offline training embodying the invention;
Figure 5 shows a flowchart of a method of determining a bid decision by a DSP embodying the invention;
Figure 6 is an exemplary receiver operating characteristic (ROC) curve for a frequent traveller classifier embodying the invention; and
Figure 7 is an exemplary ROC curve for a business traveller classifier embodying the invention.
DETAILED DESCRIPTION OF EMBODIMENTS
[0026] Figure 1 is a block diagram illustrating an exemplary networked system 100 including a demand side platform (DSP) server 102, which is configured to implement a method of determining a bid for placement of advertising content in accordance with an embodiment of the invention. The DSP server 102 may comprise a computer system having a conventional architecture. In particular, the DSP server 102, as illustrated, comprises a processor 104. The processor 104 is operably associated with a non-volatile memory/storage device 106, e.g. via one or more data/address busses 108 as shown. The non-volatile storage 106 may be a hard disk drive, and/or may include a solid-state non-volatile memory, such as ROM, flash memory, solid-state drive (SSD), or the like. The processor 104 is also interfaced to volatile storage 110, such as RAM, which contains program instructions and transient data relating to the operation of the DSP server 102.
[0027] In a conventional configuration, the storage device 106 maintains known program and data content relevant to the normal operation of the DSP server 102. For example, the storage device 106 may contain operating system programs and data, as well as other executable application software necessary for the intended functions of the authentication server 102. The storage device 106 also contains program instructions which, when executed by the processor 104, cause the DSP server 102 to perform operations relating to an embodiment of the present invention, such as are described in greater detail below, and with reference to Figures 2 and 5 in particular. In operation, instructions and data held on the storage device 106 are transferred to volatile memory 110 for execution on demand.
[0028] The processor 104 is also operably associated with a communications interface 112 in a conventional manner. The communications interface 112 facilitates access to a wide-area data communications network, such as the Internet 116.
[0029] In use, the volatile storage 110 contains a corresponding body 114 of program instructions transferred from the storage device 106 and configured to perform processing and other operations embodying features of the present invention. The program instructions 114 comprise a specific technical
contribution to the art in accordance with the invention, as further described below.
[0030] With regard to the preceding overview of the DSP server 102, and other processing systems and devices described in this specification, terms such as 'processor', 'computer', and so forth, unless otherwise required by the context, should be understood as referring to a range of possible implementations of devices, apparatus and systems comprising a combination of hardware and software. This includes single-processor and multi-processor devices and apparatus, including portable devices, desktop computers, and various types of server systems, including cooperating hardware and software platforms that may be co-located or distributed. Physical processors may include general purpose CPUs, digital signal processors, graphics processing units (GPUs), and/or other hardware devices suitable for efficient execution of required programs and algorithms. Computing systems may include conventional personal computer architectures, or other general-purpose hardware platforms. Software may include open-source and/or commercially-available operating system software in combination with various application and service programs. Alternatively, computing or processing platforms may comprise custom hardware and/or software architectures. For enhanced scalability, computing and processing systems may comprise cloud computing platforms, enabling physical hardware resources to be allocated dynamically in response to service demands. While all of these variations fall within the scope of the present invention, for ease of explanation and understanding the exemplary embodiments described herein are based upon single-processor general-purpose computing platforms, commonly available operating system platforms, and/or widely available consumer products, such as desktop PCs, notebook or laptop PCs, smartphones, tablet computers, and so forth.
[0031] In particular, the term 'processing unit' is used in this specification (including the claims) to refer to any suitable combination of hardware and software configured to perform a particular defined task, such as accessing and processing offline or online data, executing training steps of a machine learning model, or executing classification steps of a machine learning model. Such a processing unit may comprise an executable code module executing at a single location on a single processing device, or may comprise cooperating executable code modules executing in multiple locations and/or on multiple processing devices. For example, in some embodiments of the invention classification and bid decision processing may be performed entirely by code executing on DSP server 102, while in other embodiments corresponding processing may be performed is a distributed manner over a plurality of DSP servers.
[0032] Software components, e.g. program instructions 114, embodying features of the invention may be developed using any suitable programming language, development environment, or combinations of languages and development environments, as will be familiar to persons skilled in the art of software engineering. For example, suitable software may be developed using the C programming language, the Java programming language, the C++ programming language, the Go programming language, and/or a range of languages suitable for implementation of network or web-based services, such as JavaScript, HTML, PHP, ASP, JSP, Ruby, Python, Perl, and so forth. These examples are not intended to be limiting, and it will be appreciated that convenient languages or development systems may be employed, in accordance with system requirements. The descriptions, block diagrams, flowcharts, and so forth, presented in this specification are provided, by way of example, to enable those skilled in the arts of software engineering and machine learning to understand and appreciate the features, nature, and scope of the invention, and to put one or more embodiments of the invention into effect by implementation of suitable software code in accordance with this disclosure without exercise of additional inventive ingenuity.
[0033] Returning to Figure 1 , the system 100 further comprises additional DSP servers, e.g. 118, 120 that, in use, compete with DSP server 102 to bid for placement of advertising content within online slots (i.e. for 'impressions') offered via an ad exchange server 122. The ad exchange server 122 implements a digital marketplace allowing advertisers and publishers of web sites and other online content to buy and sell advertising space in the form of a real-time, online auction in which each DSP server 102, 118, 120 is an automated, high-speed, bidder. The ad exchange server 122 comprises a database 124 in which it maintains details of online content providers (web servers) and advertisers (DSPs) for the purpose of operating a digital advertising marketplace. The functions of ad exchange platforms such as Doubleclick™ (owned by Google™), AppNexus™, Microsoft™ Ad Exchange™, and OpenX™, are well-known and will therefore not be described in further detail herein, otherwise than as is necessary to adequately illustrate the operation of embodiments of the invention.
[0034] The system 100 further includes user terminal devices, exemplified by terminal device 126. The terminal devices 126 may be, for example, desktop or portable PCs, smartphones, tablets, or other personal computing devices, and each comprise a processor 128 interfaced, e.g. via address/data bus 130, with volatile storage 132, non-volatile storage 134, and at least one data
communications interface 136. The processor 128 is also interfaced to one or more user input/output (I/O) interfaces 140. The volatile storage 132 contains program instructions and transient data relating to the operation of the terminal device 126.
[0035] The terminal device storage 132, 134 may contain program and data content relevant to the normal operation of the device 126. This may include operating system programs and data (e.g. associated with a Windows, Android, iOS, MacOS, Linux, or other operating system), as well as other executable application software generally unrelated to the present invention. The storage 132 also includes program instructions 138 which, when executed by the processor 128 enable the terminal device to provide a user with access to online content. While many applications are known for providing such access, for simplicity in the present description it is assumed that the program instructions 138 implement a web browser having a graphical user interface (GUI) presented via the user I/O interface 140.
[0036] Accordingly, in the event that a user of the terminal device 126 access a web server 142, a corresponding web page display 144 is generated via the device Ul 140. The display 144 include website content 146, and one or more advertising slots, e.g. 148, 150. A number of communications steps then take place in order to populate these slots, i.e. to provide online advertisers with ad impressions within the web page display 144. These communications steps will now be described with reference to the timeline 200 illustrated in Figure 2.
[0037] Initially, the user terminal 126, via the executing web browser application 138 and responsive to user input, transmits 202 an HTTP request to the web server 142 which includes a URL of desired web content. The web server 142 responds by transmitting 204 content, e.g. a web page in HTML format, to the user device 126. As will be appreciated by persons skilled in the art of web programming, the complete population and rendering of web page display 144 may require multiple requests and responses, and may involve further transactions with the web server 142 and/or with other online servers, such as content distribution network (CDN) servers and other web servers providing embedded content. For simplicity and to facilitate focus on communications embodying features of the present invention, all such known additional
transactions are represented by a single exemplary communication 206 in Figure 2.
[0038] In order to obtain advertising content to fill the slots 148, 150, the web page transmitted by the web server 142 to the user device 126 typically includes a hypertext reference ('href) directing the browser 138 to retrieve content from the ad exchange server 122 in accordance with an application programming interface (API) defined and provided by the relevant operator of the server 122. Accordingly, the user device 126 transmits 208 an HTTP request to the ad exchange server 122. The request includes web site information and user information relating to the user of the terminal device 126. Available user information may include information that the web server 142 has gathered, and may include client-side information, such as device and browser identity and technical details, identifying information and contents of browser cookies, and the like. Many online mechanisms for gathering, maintaining, and tracking user and device information are well-known and available to persons skilled in the art of web programming, and will therefore not be described in further detail here.
[0039] The ad exchange server 122 receives the request, identifies relevant DSP servers 102, 118, 120 in its database 124, and transmits 210 bid request messages to each selected DSP server. One such bid request message, including site and user information, is received at DSP server 102 embodying the present invention, which executes a process 212 in accordance with its specific programming 114 in order to classify the user and arrive at a bid decision. In the event that a decision is made to bid for the offered impression, and a bid value determined, the DSP server 102 then transmits 214 the bid to the ad exchange server 122.
[0040] The ad exchange server 122 receives all bids transmitted from DSP servers, including server 102, and selects a winning bid. It then retrieves ad content corresponding with the winning bid from its database 124, and transmits 216 the ad content to the user device 126 for rendering within the corresponding ad slot, e.g. 148 or 150.
[0041] It is well-known that page load speed is an important characteristic of a web site from the user's perspective, and that it is undesirable for the time required for a web page to load fully to be excessive. Typically, it is preferred that load time not exceed a few seconds, e.g. 3 seconds 218. There are, as has been described above, many steps necessary to fully serve all content of a complex web page, which may involve multiple servers across the global internet. It is, accordingly, critical that duration of the bidding process facilitated by the ad exchange server 202 be strictly limited. It is presently considered desirable that the DSP server 102 should make a bid decision in no more than a few tens of milliseconds, for example in under 30 milliseconds 220. This decision must be made with limited user information, and in view of the fact that a bad decision may have significant consequences for the advertiser. For example, if the DSP server wrongly determines that the user is a desirable target for a particular ad (i.e. computes a 'false positive'), it may place a relatively high winning bid and incur a real cost with little or no prospect of any return. Conversely, if the DSP server wrongly determines that the user is not a desirable target for the ad (i.e. computes a 'false negative'), it may place no bid, or a low losing bid, and cause the advertiser to miss an opportunity to obtain an impression with a real prospect of a return.
[0042] In order to achieve quality decision-making at high speed in the context of travel booking services, embodiments of the present invention employ a machine learning approach. In particular, offline data, such as the contents of a client database containing detailed records of clients and travel bookings, may be used to classify travellers according to one or more market segments or categories. Without limitation, suitable categories or segments may include 'frequent traveller', 'business traveller', 'luxury traveller', 'budget traveller', and 'mid-range traveller'. Segments, and appropriate characteristics, may be determined according to an understanding of the market for travel services. For example, an individual traveller may be tagged as a 'frequent traveller' based upon a number of trips taken over a predetermined period, such as a calendar year, as a 'business traveller' based upon a number or ratio of business trips taken, or as a 'luxury traveller' based upon an average cost of each trip taken.
[0043] The method by which categories are determined is not relevant to implementation of the machine learning system embodying the invention, and may be performed manually, heuristically, or by any other suitable means. What is required is the end result that each travel booking record be tagged with at least one category. The booking records and associated categories may then form the basis for training of a machine learning model embodying the invention. [0044] Figure 3 is a block diagram illustrating a system 300 for offline training of a machine learning model. The system 300 includes one or more high- performance computing system 302, preferably comprising hardware and/or software that is optimised for efficient execution of one or more machine learning models. Each computing system 302 comprises a central processor 304 interfaced, e.g. via address/data bus 306, with volatile storage 308, non-volatile storage 310, and at least one data communications interface 312. The computing system may also include one or more GPUs (not shown), in view of the fact that certain machine learning models, such as neural network and deep learning models, are known to be efficiently implemented using highly parallel, vectorized, algorithms for which GPUs are particularly well-suited. The volatile storage 308 contains program instructions and transient data relating to the operation of the computing system 302.
[0045] The computing system storage 308, 310 may contain program and data content relevant to its normal operation, which may include operating system programs and data (e.g. associated with a Windows, MacOS, Linux, or other operating system), as well as other executable application and/or system software generally unrelated to the present invention. The storage 308 also includes program instructions 324 which, when executed by the processor 128 implement an offline training process for a machine learning model. In particular, travel booking records and associated categories may be retrieved from an offline database server 316, and employed for training of the machine learning model.
[0046] Figure 4 is a flowchart 400 illustrating a method of offline training embodying the invention, such as may be implemented by the computing system 302. According to this method, at step 402 travel booking records and associated categories (which may alternatively be called 'tags', labels', 'classes', or
'classifications', depending upon context) are retrieved from the database 316. At step 404, a set of feature vectors is computed using the contents of the travel booking records. This is an important step in the method, which has the effect of linking the detailed offline data corresponding with individually-distinguishable travellers available in the database 316 with the more limited unidentified user information that is available in the online context, i.e. as transmitted 210 to the DSP 102.
[0047] More particularly, a feature is an item of information (e.g. a numerical, categorical, or Boolean value) that can be derived from both the detailed offline data and the more-limited online data. For example, online data relevant to travel booking services and captured from an unidentified user's online activities relating to an actual or potential trip (e.g. based on search queries, booking site searches or enquiries, and/or actual online bookings) may include origin of travel, destination of travel, date of departure, date of arrival, and duration of trip.
However, additional details that may be available in the offline database 316, such as traveller name, class of travel, cost of travel, traveller history, and so forth, are not generally available in the online context.
[0048] A feature vector is a set of the features derivable from both offline and online data that are collectively used for training of the machine learning model, and for subsequent online classification by the DSP server 102. Feature design/selection is an important step in the development of effective machine learning systems, and examples of feature vectors developed in accordance with embodiments of the invention are described further below, with reference to Figures 6 and 7.
[0049] At step 406, an untrained machine learning model is initialised. This step involved creation and initialisation of data structures comprising the model, as well as the setting of relevant parameters/hyperparameters for the training process. It may also involve model selection, and in some embodiments the model may in fact combine multiple models (ensemble learning). At step 408, the computing system 302 executes one or more training procedures in accordance with the selected one or more machine learning algorithms. Training involves inputting at least a portion of the computed feature vectors and corresponding tags as a training set, and applying a training procedure adapted to minimise an objective function which reflects an accuracy of the trained model in classifying the feature vectors according to the known tags. Subsequently, at step 410, the trained model may be tested using a test set, and/or cross-validation set, which may, for example, comprise a portion of the computed feature vectors and corresponding tags held back from the training step 408 for this purpose.
[0050] At decision step 412, the results of the test step 410 may be evaluated to determine whether they satisfy a suitable criterion of quality (examples of which are described below with reference to Figures 6 and 7). If not, then at step 414 the model parameters/hyperparameters may be updated and the model reinitialised for retraining at step 408. Alternatively, if the model is deemed to be of sufficient quality, a representation of the trained model is saved at step 416. This representation is suitable to be loaded and executed by the DSP server, as described below with reference to Figure 5.
[0051] By way of example, in one particular embodiment of the invention an extreme Gradient Boosting (XGBoost) machine learning model is employed, originally developed by Tianqi Chen and Carlos Guestrin at the University of Washington. Advantageously, the XGBoost system is highly scalable, is widely- used and tested, and an efficient implementation in C/C++ is available as an open source package, with bindings to other languages used in technical computing such as Python, R and Julia. Results from this embodiment are presented below with reference to Figures 6 and 7.
[0052] Turing now to Figure 5, there is shown a flowchart 500 of a method of determining a bid decision by DSP server 102. At step 502, site and unidentified user information is received, i.e. via transmission 210 from the ad exchange server 122. This information is used at step 504 to compute a feature vector, which is input to the machine learning model executed at step 506. In particular, this model execution is based on the representation saved at step 416 of the process 400. The output of the model is an estimate of the classification of the user based on the calculated feature vector which may be, in the case of the XGBoost algorithm for example, a generated numerical value representing a level of confidence in the estimate of whether the unidentified user is a member or non- member of the category for which the model was trained. For example, the value may be an estimate of a probability that the unidentified online user is a member of the category.
[0053] At step 510, a bid decision is made based upon the estimate. The decision may include determining whether or not to bid at all, and/or a
determination of a particular price to bid for the available impression. For example, a threshold may be applied to the generated value, such that if the value is below the threshold then no bid is made. In some embodiments, a bid amount may be determined based upon the magnitude of the generated value, such that a higher price is bid if the model indicates a higher confidence in the classification of the unidentified user. In the event that a decision is made to bid for the impression, the bid information is transmitted 214 back to the ad exchange server 122 at step 512.
[0054] The use of a machine learning model as described above has a number of advantages, and addresses particular problems present in prior art approaches. Firstly, it overcomes limitations with linking of offline and online data. In particular, the machine learning model itself, which is trained on offline data and subsequently executed on online data, effectively becomes the means of linkage. Secondly, it is not relevant that the unidentified online users may not correspond with any of the customers/clients having records in the offline database. Accordingly, 100% of online users can be classified by the model, so long as the minimum information required to compute the feature vectors is available. Thirdly, the method and system avoid privacy constraints, because the stored representation of the trained machine learning model comprises data structures that contain no individually-identifiable personal data of any
customer/client in the offline database. The information deployed to the DSP server 102 is thus wholly anonymised. Fourthly, although the training process may be highly computationally-intensive, requiring high-performance computing resources and extended time periods, the execution of the resulting trained model on a single feature vector can be extremely fast, easily satisfying the requirement to compute a decision in 30 milliseconds or less.
[0055] In order to illustrate the effectiveness of embodiments of the invention, a number of examples will now be described.
EXAMPLE 1
[0056] For the purposes of classifying unidentified users as either 'frequent travellers' or 'not frequent travellers', the following set of features was developed:
• distance between origin and destination
• number of days to departure
• origin longitude
• origin latitude
• destination longitude
• destination latitude
• departure day-of-week (DOW)
• arrival DOW.
[0057] A commercial database was employed for offline training, containing cleaned records in which individually-distinguishable travellers were reconciled with a total of 1 ,328,694 trips. Within this database, a 'frequent traveller' was defined as a person who took five or more trips in any 12 month period. Using this definition, 5.3% of trips in the data set were automatically tagged as 'frequent traveller' trips. An XGBoost model with 489 trees was trained using feature vectors comprising the above feature set, computed using the tagged trips. A resulting ROC curve 600 is shown in Figure 6, wherein the horizontal axis 602 represents false positive rate (FPR), the vertical axis 604 represents true positive rate (TPR), and the ROC 606 is generated by sweeping the threshold between 0.0 and 1.0 at which the model output is determined to indicate a 'frequent traveller'. In this case, the AUROC 608 is 0.8, which compares with the value of 0.5 that would be obtained by making purely random decision, and is regarded as good performance of the machine learning classifier. Using a decision threshold of 0.5, the TPR (correctly-classified frequent travellers) for this model is 66%, and the FPR (wrongly-classified non-frequent travellers) is 22%. The model may therefore be employed for bid decisions resulting in significantly better outcomes than pure chance.
EXAMPLE 2
[0058] For the purposes of classifying unidentified users as either 'business travellers' or 'not business travellers' (i.e. 'leisure travellers'), the following set of features was developed:
• trip duration (number of days)
• departure DOW
• arrival DOW
• number of days to departure
• includes Saturday night (Boolean). [0059] With regard to the available offline data for individually-distinguishable travellers (121 ,146 trips from the commercial database described above), 51.3% of examples were identified as business trips. An XGBoost model was again trained on feature vectors generated from this data set. A resulting ROC 700 is shown in Figure 7, wherein the horizontal axis 702 represents FPR, the vertical axis 704 represents TPR, and the ROC 606 is generated by sweeping the threshold at which the model output is determined to indicate a 'business traveller' between 0.0 and 1.0. In this case, the AUROC 708 is 0.82, and again regarded as good performance of the machine learning classifier.
EXAMPLE 3
[0060] For the purposes of classifying unidentified users as 'luxury travellers', 'budget travellers', or 'mid-range travellers', the following set of features was developed:
• origin city purchasing power parity (PPP) based per capita gross domestic product (GDP)
• origin country PPP-based per capita GDP
• destination city PPP-based per capita GDP
• destination country PPP-based per capita GDP
• departure DOW
• arrival DOW
• includes Saturday night (Boolean) • trip duration (number of days)
• time to departure (number of days)
• domestic trip (Boolean)
• international trip (Boolean)
[0061] From an initial data set of over 50,000 examples, 4723 trips were selected that could be well-identified as 'luxury' or 'budget'. These trips comprised 3.15% and 5.84% of the total data set respectively, with all others (91.01%) considered 'mid-range. These 4723 examples were used to generate feature vectors comprising the above feature set in order to train a binary
XGBoost model. The model was configured to produce an output estimate representing a level of confidence of whether a trip corresponding with an input feature vector is associated with a 'luxury traveller', on a scale of 0.0 to 1.0. The AU ROC for this binary classifier was found to be 0.83.
[0062] Two thresholds were established for classifying unidentified online users into 'luxury', 'budget', and 'mid-range' categories. In particular, if the output estimate of the XGBoost classifier was less than 0.2, the user was classified as a 'budget traveller'; if the output estimate was greater than 0.8, the user was classified as a 'luxury traveller'; all other were classified as 'mid-range'. Using a test set including a full range of examples, the following confusion matrix was obtained. Prediction
Budget Luxury Mid
Budget 585 37 373
«->
3 Luxury 70 190 268 —
Mid 5708 2503 7629
[0063] Thus, for example, 36% of 'luxury' cases were correctly predicted, with the majority of misclassifications (50% of 'luxury' cases) being assigned to 'mid- range, whereas 58.8% of 'budget' cases were correctly classified.
CONCLUSION
[0064] In summary, embodiments of the present invention provide systems and methods employing machine learning models to classify unidentified online users, using limited information, into different traveller categories using training data derived from offline databases containing records relating to individually- distinguishable travellers. In this way, the machine learning models effectively provide a 'smart' linkage between rich offline data and limited online data. The online users need not have been previously encountered by the system, and classification can be performed for any user so long as the minimum information required to compute the model feature vectors is available. The system protects privacy, in that no individually-identifiable personal data of any customer/client in the offline database is reflected in the deployed machine learning models. Once the model has been trained, classification on newly-observed online users can be extremely fast, e.g. 30 milliseconds or less.
[0065] Surprisingly, despite the very limited information available about unidentified users in the online context, with good model design in accordance with the principles of the invention, models with good predictive power can be developed. Predictions generate by the models can therefore be used with confidence for high-speed, real-time, online decision-making, such as in bidding for impressions within a digital advertising marketplace facilitated by an ad exchange server.
[0066] It should be appreciated that while particular embodiments and variations of the invention have been described herein, further modifications and alternatives will be apparent to persons skilled in the relevant arts. In particular, the examples are offered by way of illustrating the principles of the invention, and to provide a number of specific methods and arrangements for putting those principles into effect. In general, embodiments of the invention rely upon providing technical arrangements whereby automated real-time online decisionmaking relating to a traveller category or segment on an unidentified user is conducted using limited user information based upon a machine learning classifier that has been trained using detailed offline data of individually- distinguishable travellers.
[0067] Accordingly, the described embodiments should be understood as being provided by way of example, for the purpose of teaching the general features and principles of the invention but should not be understood as limiting the scope of the invention, which is as defined in the appended claims.

Claims

CLAIMS:
1. A computing apparatus (102) which implements a demand side platform, the computing apparatus comprising:
a processor (104);
at least one memory device (106, 110) accessible by the processor; and a data communications interface (112) operably associated with the processor,
wherein the memory device contains a body of program instructions (114) including a machine learning classifier which is executable by the processor and configured to determine an estimate of whether an unidentified online user is a member or non-member of a predetermined traveller category based upon an input feature vector comprising values of a plurality of features, the classifier having been trained using a training set of records of prior travel bookings of a plurality of individually-distinguishable travellers in which each individually- distinguishable traveller is tagged as a member or non-member of the
predetermined traveller category based upon one or more prior travel bookings of the individually-distinguishable traveller, each of the features having been selected such that a corresponding value thereof may be obtained for the unidentified online user,
the body of program instructions further including instructions which, when executed by the processor, cause the computing apparatus to implement a method comprising steps of:
receiving (210), via the data communications interface, a bid request message including site and user information of the unidentified online user;
computing (504), based upon the received site and user information, a feature vector comprising values of the plurality of features corresponding with the unidentified online user;
executing (506) the machine learning classifier using the computed feature vector as input, to obtain an estimate of whether the unidentified online user is a member or non-member of the predetermined traveller category; and
determining a bid decision based upon the estimate.
2. The computing apparatus of claim 1 wherein the bid response comprises a positive bid decision and a bid price, and wherein the instructions executed by the processor further cause the computing apparatus to transmit (214), via the data communications interface (112), a bid response comprising the bid price.
3. The computing apparatus of claim 1 or 2 wherein the machine learning classifier is configured to generate a value corresponding with a level of confidence in the estimate of whether the unidentified online user is a member or non-member of the predetermined traveller category.
4. The computing apparatus of claim 3 wherein the generated value is an estimate of probability that the unidentified user is a member of the
predetermined traveller category.
5. The computing apparatus of claim 3 wherein determining the bid response comprises applying a threshold to the generated value.
6. The computing apparatus of any one of claims 1 to 5 wherein the machine learning classifier comprises a gradient boosting machine.
7. The computing apparatus of any one of claims 1 to 6 wherein the user information limited to characteristics of a single trip currently researched by the user.
8. A computer-implemented method comprising:
accessing (402) at least one offline data store (316) that contains records of prior travel bookings of a plurality of individually-distinguishable travellers, wherein each individually-distinguishable traveller is assigned an associated tag in the data store as a member or non-member of a predetermined traveller category based upon one or more prior travel bookings of the individually- distinguishable traveller;
determining a plurality of features associated with the predetermined traveller category, wherein each feature is selected such that a corresponding value thereof may be obtained for an unidentified user in an online context; for each record of a training set of records selected from the offline data store, computing (404) a feature vector comprising corresponding values for the plurality of features;
training (408) a machine learning classifier using the computed feature vectors and associated tags corresponding with records in the training set;
receiving (210), at a processor (104) configured to execute the machine learning classifier, a feature vector comprising values of the plurality of features corresponding with the unidentified user in the online context; and
determining (506), by the processor executing the machine learning classifier, an estimate of whether the unidentified user is a member or non- member of the predetermined traveller category.
9. The method of claim 8 wherein:
each individually-distinguishable traveller is assigned a plurality of associated tags in the data store, each tag identifying the traveller as a member or non-member of a corresponding plurality of predetermined traveller categories based upon one or more prior travel bookings of the individually-distinguishable traveller;
a distinct plurality of features is associated with each one of the plurality of predetermined traveller categories;
the training step comprises training one or more machine learning classifiers using computed feature vectors comprising values of the distinct plurality of features associated with each corresponding predetermined traveller category; and
the determining step comprises executing, by the processor, each one of the machine learning classifiers to determine an estimate of whether the unidentified user is a member or non-member of each corresponding
predetermined traveller category.
10. The method of claim 9 wherein the predetermined traveller categories comprise one or more of: 'frequent traveller'; 'business traveller'; 'leisure traveller'; 'luxury traveller'; 'budget traveller'; and 'mid-range traveller'.
11. The method of any one of claims 8 to 10 wherein the predetermined traveller category is 'frequent traveller', and one or more of the plurality of features are selected from the group comprising:
distance between origin and destination;
time to departure;
origin longitude;
origin latitude;
destination longitude;
destination latitude;
departure day-of-week (DOW); and
arrival DOW.
12. The method of any one of claims 8 to 11 wherein the predetermined traveller category is 'business traveller' and/or 'leisure traveller', and one or more of the plurality of features are selected from the group comprising:
trip duration;
departure DOW;
arrival DOW;
time to departure; and
an indicator of whether the trip includes a Saturday night.
13. The method of any one of claims 8 to 12 wherein the predetermined traveller category is 'luxury traveller', 'budget traveller' and/or 'mid-range traveller', and one or more of the plurality of features are selected from the group
comprising: origin city purchasing power parity (PPP) based per capita gross domestic product (GDP);
origin country PPP-based per capita GDP;
destination city PPP-based per capita GDP;
destination country PPP-based per capita GDP;
departure DOW;
arrival DOW;
an indicator of whether the trip includes a Saturday night;
trip duration;
time to departure;
an indicator of whether the trip is a domestic trip; and
an indicator of whether the trip is an international trip.
14. The method of any one of claims 8 to 13 wherein the machine learning classifier comprises a gradient boosting machine.
15. The method of any one of claims 8 to 14, wherein the feature vector is computed based upon a received site information and user information limited to characteristics of a single trip currently researched.
16. A computer program comprising program code instructions for executing the steps of the method according to claims 8 to 15 when said program is executed on a computer.
EP18765117.9A 2017-09-14 2018-09-05 A method and system for real-time online traveller segmentation using machine learning Pending EP3682401A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/704,428 US11120480B2 (en) 2017-09-14 2017-09-14 Systems and methods for real-time online traveler segmentation using machine learning
FR1758517A FR3071087A1 (en) 2017-09-14 2017-09-14 A METHOD AND SYSTEM FOR REAL-TIME ONLINE TRAVELER SEGMENTATION USING AUTOMATIC APPRENTICESHIP
PCT/EP2018/073838 WO2019052868A1 (en) 2017-09-14 2018-09-05 A method and system for real-time online traveller segmentation using machine learning

Publications (1)

Publication Number Publication Date
EP3682401A1 true EP3682401A1 (en) 2020-07-22

Family

ID=63490479

Family Applications (1)

Application Number Title Priority Date Filing Date
EP18765117.9A Pending EP3682401A1 (en) 2017-09-14 2018-09-05 A method and system for real-time online traveller segmentation using machine learning

Country Status (3)

Country Link
EP (1) EP3682401A1 (en)
CN (1) CN111095331B (en)
WO (1) WO2019052868A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110198309A (en) * 2019-05-14 2019-09-03 北京墨云科技有限公司 A kind of Web server recognition methods, device, terminal and storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698422B2 (en) * 2007-09-10 2010-04-13 Specific Media, Inc. System and method of determining user demographic profiles of anonymous users
US8515937B1 (en) * 2008-06-30 2013-08-20 Alexa Internet Automated identification and assessment of keywords capable of driving traffic to particular sites
US20100312586A1 (en) * 2009-06-03 2010-12-09 Drefs Martin J Generation of Travel-Related Offerings
US8626697B1 (en) * 2010-03-01 2014-01-07 magnify360, Inc. Website user profiling using anonymously collected data
US8943079B2 (en) * 2012-02-01 2015-01-27 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and methods for anonymizing a data set
JP6440732B2 (en) * 2013-11-27 2018-12-19 株式会社Nttドコモ Automatic task classification based on machine learning

Also Published As

Publication number Publication date
WO2019052868A1 (en) 2019-03-21
CN111095331B (en) 2023-09-22
CN111095331A (en) 2020-05-01

Similar Documents

Publication Publication Date Title
US11120480B2 (en) Systems and methods for real-time online traveler segmentation using machine learning
US10943184B2 (en) Machine learning methods and systems for predicting online user interactions
US20190213670A1 (en) Method and system for electronic advertising
CA2751646C (en) Determining conversion probability using session metrics
US20080004990A1 (en) Virtual spot market for advertisements
US20080004948A1 (en) Auctioning for video and audio advertising
US20140236738A1 (en) Method and system for placement and pricing of internet-based advertisements or services
US20190080363A1 (en) Methods and systems for intelligent adaptive bidding in an automated online exchange network
US20120059707A1 (en) Methods and apparatus to cluster user data
US20110264519A1 (en) Social behavioral targeting of advertisements in a social networking environment
CN111095330B (en) Machine learning method and system for predicting online user interactions
US20150278877A1 (en) User Engagement-Based Contextually-Dependent Automated Reserve Price for Non-Guaranteed Delivery Advertising Auction
KR20080043777A (en) Automatically generating content for presenting in a preview pane for ads
WO2012088596A1 (en) System and method for real-time search re-targeting
WO2019052870A1 (en) A method and system for intelligent adaptive bidding in an automated online exchange network
US20160275569A1 (en) Method and system for advertisement coordination
JP6320258B2 (en) Extraction apparatus, extraction method, and extraction program
JP2018088282A (en) Extracting apparatus, extracting method, and extracting program
US20160267551A1 (en) Method and system for advertisement coordination
CN111095331B (en) Method and system for real-time online traveler subdivision using machine learning
US11741505B2 (en) System and method for predicting an anticipated transaction
US20160267531A1 (en) Method and system for advertisement coordination
US20160275568A1 (en) Method and system for advertisement coordination
FR3071087A1 (en) A METHOD AND SYSTEM FOR REAL-TIME ONLINE TRAVELER SEGMENTATION USING AUTOMATIC APPRENTICESHIP
AU2021107385A4 (en) System, Program, and Method for Presenting and Broadcasting Content

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20200114

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

RIN1 Information on inventor provided before grant (corrected)

Inventor name: RENAUDIE, DAVID

Inventor name: LHERITIER, ALIX

Inventor name: MOTTINI D'OLIVEIRA, ALEJANDRO RICARDO

Inventor name: ACUNA AGOST, RODRIGO

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20210920