The present invention relates to methods and systems for identifying patterns in consumer preferences, so that products in accordance with those preferences may be offered to consumers. In particular, the products may be dishes offered by a restaurant.
Visitors to a travel destination, such as holiday makers or business travelers, often roam around the travel destination, and select a restaurant by seeing a display provided by the restaurant of what dishes are available. During certain time periods, the tastes of the visitors may be strongly correlated. In one example, the visitors may come predominantly from a certain geographical region (for example, because the visitors are supporters of a certain sporting team which is based in the geographical region, and which is due to play a match in the travel destination). In this case, the visitors may be pleased to find cuisine from that geographical region on offer in the travel destination. In another case, the travel destination may host a commercial conference, which will attract business travelers who are wealthy enough to pay for dishes including expensive ingredients.
Unfortunately, although restaurant operators become familiar with the dining tastes of people who live near their restaurant, restaurant operators at a travel destination have no reliable way of predicting who will be visiting the travel destination during a certain time period. Even if they are aware that a certain sporting event or commercial conference is being held in the travel destination, they will only be able to guess at the likely food preferences of those attending it. This can lead to expensive errors, if the restaurant owners buy expensive ingredients in excessive quantities, or offer dishes in which the visitors are not interested.
The present invention aims to provide methods and systems for making recommendations to suppliers of products in relation to consumers.
In general terms, the invention proposes that, at least for a set of consumers for whom travel data indicates that they will in the future travel to a certain travel destination, transaction level data is used to obtain product preference data which statistically characterizes products the set of consumers prefer (e.g. products those consumers, or similar consumers, have previously purchased from merchants). The product preference data is transmitted to product providers in the travel destination in the form of product recommendations.
By offering products according to the recommendations, the product providers can offer products in the travel destination suited to the set of consumers. Hopefully, the set of consumers will be statistically representative of other visitors to the travel destination during the same time period.
In some embodiments of the invention, the transaction data may be analyzed only for the set of consumers who have already been identified as going to travel to the travel destination. However, alternatively, the transaction data may be analyzed for some or all consumers in a consumer database to generate a product preference model. Later, after the determination of the set of consumers who will travel to the travel destination, the product preference model may be used to generate the product preference data.
The term “product” is used here to include both goods and services. In one embodiment, the products are foods and/or beverages (i.e. the product preference model is a food and/or beverage preference model). The product providers may be business establishments where meals or refreshments may be purchased. Such merchants are here referred to here as “restaurants”. Typically, but not always, the restaurants provide facilities on which the food may be consumed (i.e. they are eat-in restaurants, rather than take-away restaurants). The meals or refreshments are typically pre-cooked (in the case of bakery products, pre-baked), and are typically served warm, although invention is applicable also to restaurants (such as juice bars and certain vegetarian restaurants) where the meals or refreshments are not pre-cooked or served warm. The recommendations provided allow the restaurant operators to offer food recommendations (“chef's specials”) suited to the visitors to the travel destination.
Irrespective of whether the product is food, the recommendations may be transmitted at intervals, e.g. on a weekly basis, and each in relation to a respective time period, and based on visitors who are determined to be going to travel to the travel destination during the period.
The transaction data may be used to obtain product data which identifies the specific product(s) the consumers purchased in the payment transactions.
In a first case, the transaction may be used in combination with additional data relating to the transaction. The additional data may for example be data according to a predefined list of products sold by the merchants. For example, if the merchant operates an inventory system, the additional data may be stock-keeping unit (SKU) data specifying the identity of the purchased products according to the inventory system.
In a second case, optionally combinable with the first, the transaction data may be used in combination with pre-existing price information about the prices of products supplied by the merchant, to infer which products were purchased from the value of the corresponding payment transactions. For example, knowing that the transaction value is the sum of product prices, the embodiment can infer the purchased products if there is a unique combination of products such that the sum of the prices of those products is equal to the transaction value.
Of course, a given consumer may purchase more than one item of a given product within a single payment transaction, and this possibility increases the number of ways in which a certain transaction value can be reached (e.g. a transaction value of $2.58 can be reached as the sum of the prices of two products having respective product prices per item of $1 and $1.58, or the cost of two items of one product having a product price of $1.29 per item). However, probabilistic information, for example from a large number of payment transactions, can be used to show that some possibilities are more likely than others. For example, if a certain consumer's transaction values are always a multiple of $1.29, then it may be inferred that the consumer always purchases a certain number of items with a product price of $1.29.
More generally, a probabilistic algorithm (such as “fuzzy matching”) can be used to obtain the product data in the form of statistical information about the product choices of those items. The statistical information may take into account multiple transactions by a given consumer, and/or transactions by multiple consumers who have been determined to be part of the same consumer market segment.
If the products are food items purchased in restaurant, then the product data may be dish data indicating specific dishes the consumers have previously purchased.
An ingredient database may be used, in combination with the dish data, to obtain ingredient data about food ingredients associated with the purchased dishes. The recommendations may include at least some of the ingredient data.
The travel data may comprise transaction data.
In an embodiment, the transaction data may be data relating to payments made to a business in the travel destination which is typically used by a visitor to the travel destination. For example, the business may be hotel located at the travel destination, or it might alternatively be local car hire company. A database of payment account associated with such businesses may be used to recognize transaction data relating to payments to those businesses, by matching payee payment accounts specified in the transaction data with payment accounts listed in the database.
Alternatively or additionally, the transaction data may further comprise data indicating the payment transaction is to a business in the travel destination. It is known, for example, for transaction data to include “addendum data” specifying what was purchased. This is most common for car rentals, as well as for certain restaurant payments, lodging (hotel) payments and railway payments. It is used for example for verifying expenses claims. Thus, even if the payment transaction is to a merchant which is not associated with a certain travel destination (e.g. a travel booking website), the addendum data may indicate that the consumer will travel to the travel destination. Conveniently, the addendum data may comprise travel dates, indicating the time period(s) during which the consumer will be at the travel destination.
The process of forming a recommendation may comprise calculating a score for each of a number of products, determining products with the highest score and transmitting that score to the product providers.
Optionally, some of all or the consumers in the database may be grouped into clusters, for example based on the corresponding transaction data. For each cluster, a respective score is obtained as a function of the number of consumers in each of the clusters who are determined to be going to travel to the travel destination.
A number of enhancements of the algorithm are possible. For example, the set of consumers may be further selected on the basis of one or more additional criteria. For example, the consumers may be separated into a plurality of classes (market segments), based on the criteria, and then respective product preference data may be generated for one or more of those classes. For example, the criteria may include one of more demographic criteria (e.g. age, gender, ethnicity or marital state), or one or more financial criteria (e.g. income level, total spend per month, or average ticket spend). Each recommendation may then be specific to a consumer market segment. For example, in the case of a product provider which caters for a certain consumer market segment (e.g. high-spending consumers or consumers with a certain demographic), the recommendation given to the product provider may be based on the product preference data of a set of consumers who are determined to be going to travel to the travel destination, and who are in a consumer market segment compatible with the product provider.
As used in this document, the term “payment card” refers to any cashless payment device associated with a payment account, such as a credit card, a debit card, a prepaid card, a charge card, a membership card, a promotional card, a frequent flyer card, an identification card, a prepaid card, a gift card, and/or any other device that may hold payment account information, such as mobile phones, Smartphones, personal digital assistants (PDAs), key fobs, transponder devices, NFC-enabled devices, and/or computers.
The term “travel destination” means any geographical location to which a consumer may travel. It may for example be a geographical region which is a certain town or city; a set of one or more zip code regions; or all locations within a certain distance from a specified geographical point. It may even be a travel destination as specific as a single hotel, since such information may be of interest to providers of products in that hotel, e.g. the operators of restaurants in the hotel. The geographic region may have a size which is in accordance with a typical distance which consumers are prepared to travel to a restaurant. For example, its extent (i.e. which may be defined as the length of the longest straight line which can be drawn entirely within the geographic region) may be at least 50 m, or at least 100 m, and/or at most 10 km, at most 5 km, or at most 2 km.
The term “hotel” is used to mean an enterprise providing overnight accommodation to visitors in a specific geographical location, including guest houses, etc.
Finally, while this document refers to the food preferences of consumers, it is to be understood that these food preferences may in fact be preferences of other individuals for whom the consumers tend to buy food, such as family members of the consumers.
An embodiment of the invention will now be described with reference to the following drawings, in which:
Referring firstly to
The computerized network is capable of performing a known payment process which is as follows. Typically, a consumer who holds a payment card issued by an issuer bank makes a payment by presenting his or her payment card to a terminal operated by one of the merchants 2, 3. The terminal sends a message to a server 4 of an acquirer bank, where the merchant maintains an account, including the details of the payment card (possibly in encrypted form) and the amount of the payment. For simplicity,
The acquirer bank server 4 sends a message to the payment network server 1, again including the details of the payment card and the amount of the payment. The payment network server 1 determines the issuer bank which issued the payment card, and sends an authorization request to an issuer bank server 5 operated by the issuer bank. For simplicity only a single issuing bank server 5 is illustrated in
The payment network server 1 is operative to provide, at intervals, recommendations to a restaurant 10 in a travel destination including at least one hotel 3, of dishes and/or ingredients to offer to visitors to the travel destination. Each recommendation may cover a time window such as a day, a week or a month.
Unlike a conventional payment network server, the payment network server 1 includes a merchant database 8 containing data for each of the merchants 2, 3. It further includes a consumer database 9 containing data for each of a plurality of consumers, all of whom carry one or more corresponding payment cards. Optionally, this data may classify the consumers according to one or more demographic and/or financial characteristics of the consumers. It may further include a home location for each of the consumers.
Turning to
In sub-step 101, the restaurants 2 implement the payment process described above, in which they transmit transaction data to the acquirer bank server 4, which passes the data to the payment network server 1 to initiate a payment from the issuer bank 5. As described above the payment network server 1 retains the transaction data in the payment database 7. Using the data in the merchant database 8, it is able to recognize which transactions are in respect of the restaurants 2.
Typical transaction data retained in the payment database 7 in the case of payments to a restaurant is shown in
In sub-step 102, the payment network server 1 attempts to recognize the individual purchased dishes covered by the payment transaction. Certain ones of the restaurants 2 may provide this “item level” data to the payment network server 1, e.g. in the form of stock-keeping unit (SKU) data. Software for handling SKU data is supplied by the companies such as LUCID of Bangalore India (specifically the product LUCID POS), Hyper Drive Information Technologies of Bangalore India (specifically the product HDPOS), TruePOS of Chennai India, and GoFrugal Technologies Private Ltd of Chennai India.
Furthermore certain payment protocols include SKU data. For example, the MasterPass payment system, operated by MasterCard International Inc., includes item level data in payment transactions. Thus, if the payment network server 1 operates this protocol, or receives data from the server which does, it has access to item level data.
Alternatively, a probabilistic matching algorithm (fuzzy matching) may be used, by matching the transaction amount (specified in the transaction data) with a list of the prices of products (dishes) the restaurant 2 sells. This list of prices may be stored in the database 8. The probabilistic matching algorithm may use information about previous payment transactions the same consumer has made to the same or other restaurants 2. This information may be already stored in the consumer database 9. For example, if it has previously been determined that the consumer has previously bought a certain dish, there is an increased probability that the present payment transaction covers that dish.
The result of step 2 is shown in
In step 103, the server classifies the consumers into clusters based on the products each consumer has purchased, which were identified in step 102. For each of the clusters, the products purchased by the corresponding consumers are used to obtain preference data describing an associated set of product preferences (food preferences). This may, for example, be a list of the dishes which consumers in that cluster most commonly buy.
In step 104, data is obtained which indicates which ingredients are present in each type of dish described by the product preferences. The data may be obtained from an ingredient database may be internal to the payment network server 1, but alternatively, and as shown in
In step 105, the data obtained in step 104 is used to enrich the preference data, so that it now describes not only how the dishes associated with each cluster, but also the ingredients associated with each such dish. Note that the preference data would typically also be indicative of ingredients to which consumers of the cluster have an abhorrence or even an allergy. In fact, the preference data for a particular cluster may include dedicated data indicating that consumers of the cluster have very low compatibility with one or more ingredients.
The preference data for each of the clusters constitutes a food preference model. Step 51 of method 50 is now completed. Note that is not necessary that step 51 is performed using all the consumers in for whom data exists in the consumer database 9 (i.e. the entire “population” of consumers). This is, it may be possible in step 51 to derive a food preference model accurately describing the food preferences of the entire population of consumers using only a sub-set of them. For example, it may be assumed that any consumer in the population has food preferences similar to those of consumers in one of the clusters.
In step 52 of method 50, the payment network server 1 uses transaction data relating to payments certain consumers make to the hotel 3, to identify a set of the consumers who are about to travel to the travel destination where the hotel 3 is located, and for how long. The transaction data may be in the format shown in
The payment network server 1 may already store data in the merchant database 8 indicating that the hotel 3 from which the payment transaction was received is associated with one of the travel destinations. If so, the payment server registers that the consumer is about to make a stay at the travel location, for the dates specified by the check-in and check-out date. The payment network server 1 may identify which consumers are going to be present at the travel location during each time window. Note that the check-in and check-out days may indicate that a given consumer will be at the travel location during more than one time window.
Note that in some cases, the consumer will make a hotel booking through a payment portal which relates to multiple hotels (e.g. a travel booking website). In this case, the payment server 1 receives the payment transaction by a payee who is not located at the travel destination (i.e. the payee is not the hotel 3), but the payment network server 1 may still be operative to determine that the payment relates to a hotel at the travel destination, e.g. using the hotel MMH ID or the hotel zip specified in the addendum data. This determination may use information about the hotel 3 stored in the merchant database 7.
Optionally, the payment network server 1 may exclude from the list of consumer identified in step 52 any consumer whose home location (as stored in the consumer database 9) is within a certain distance of the travel destination. These consumers are not truly visitors to the travel destination.
In step 53 of method 50, the payment network server 1 uses the food preference model obtained in step 51, and the set of consumers identified in step 52, to generate recommendation(s) of dishes and/or ingredients to offer consumers, and transmit them to the restaurant operator 10, so that the restaurant operator 10 can use them to produce corresponding “chef's specials”. Step 53 of the method 50 explained below in more detail with reference to
In sub-step 201, the payment network server 1 allocates each consumer who was determined in step 52 to be due to travel to the travel destination during the time window, to a respective one of the clusters. This may be done by using data about the consumer stored in the payment database 7 and/or the consumer database 9, to find the cluster for which a set of values defining a center of the cluster is most similar (i.e. the cluster “closest” to the consumer).
As pointed out above, optionally not all consumers in the database 9 may be have been used in step 51, to derive the clusters. Thus, some (or even all) of the consumers identified in step 52 may be ones who were not used in step 51. Nevertheless, provided a sufficiently large number of consumers were used in step 51, and provided the number of clusters derived in step 51 was sufficiently great, it is likely that all of the consumers identified in step 52 will have data similar to the data values defining one of the cluster cores.
In one example, the time window may be a week, and there may be five clusters. In this case, the payment network server 1 may determine in step 52 that 100 of the consumers will visit the travel location during this week: 30 who are closest to cluster 1, 30 who are closest to cluster 2, 40 who are closest to cluster 3, and none who are closest to cluster 4 or 5. In this case, the weights for the five clusters are in the ratio 30:30:40:0:0. Optionally, if the check-in and check-out dates indicate that consumers belonging to one of the clusters will be in the travel destination for a longer/shorter proportion of the time window, the weight of the cluster may be increased/decreased accordingly.
In sub-step 202, the payment network server 1 uses the respective weights for the clusters, and the corresponding preference data for each cluster given by the food preference model, to calculate a “final score” for each of a number of dishes. Specifically, for each dish, the server obtains a score for each cluster, which is a corresponding value indicative of the degree to which consumers of the cluster like the dish. The final score is a sum over the clusters of: the score for each cluster, weighted by the weight of the cluster.
Typical results are shown in
Although the method has been explained above in relation to providing recommendations to a single restaurant 10 in the same travel destination as the hotel 3, there may be a plurality of restaurants 10 in the same travel destination as the hotel 3, and the payment network server 1 may provide the recommendations to any of these restaurants (e.g. ones which have paid for the recommendations).
Optionally, the recommendations in respect of a given restaurant 10 may be tailored to the restaurant 10. For example, if the restaurant specializes in a certain consumer market segment, the recommendations may be generated only in respect of consumers from that market segment (as identified in the consumer database 9) who are, according to the travel data, going to travel to the destination.
Furthermore, the embodiment may provide the same service to one or more restaurants 10 in each of a plurality of travel destinations, each containing at least one hotel 3.
In an enhancement of the method, information may be transmitted to the consumers (e.g. by the payment network server 1, or the issuing bank of the consumer's payment cards), informing them of which restaurant(s) 10 in the travel destination are receiving the food recommendations. These restaurant(s) may be expected to cater for the consumers' tastes better than other restaurants in the travel destination.
Note that in a variation of the embodiment of
The secondary storage 224 is typically comprised of one or more disk drives or tape drives and is used for non-volatile storage of data and as an over-flow data storage device if RAM 228 is not large enough to hold all working data. Secondary storage 224 may be used to store programs which are loaded into RAM 228 when such programs are selected for execution.
In this embodiment, the secondary storage 224 has a processing component 224a comprising non-transitory instructions operative by the processor 222 to perform various operations of the method of the present disclosure. The ROM 226 is used to store instructions and perhaps data which are read during program execution. The secondary storage 224, the RAM 228, and/or the ROM 226 may be referred to in some contexts as computer readable storage media and/or non-transitory computer readable media.
I/O devices 230 may include printers, video monitors, liquid crystal displays (LCDs), plasma displays, touch screen displays, keyboards, keypads, switches, dials, mice, track balls, voice recognizers, card readers, paper tape readers, or other well-known input devices.
The network connectivity devices 232 may take the form of modems, modem banks, Ethernet cards, universal serial bus (USB) interface cards, serial interfaces, token ring cards, fiber distributed data interface (FDDI) cards, wireless local area network (WLAN) cards, radio transceiver cards that promote radio communications using protocols such as code division multiple access (CDMA), global system for mobile communications (GSM), long-term evolution (LTE), worldwide interoperability for microwave access (WiMAX), near field communications (NFC), radio frequency identity (RFID), and/or other air interface protocol radio transceiver cards, and other well-known network devices. These network connectivity devices 232 may enable the processor 222 to communicate with the Internet or one or more intranets. With such a network connection, it is contemplated that the processor 222 might receive information from the network, or might output information to the network in the course of performing the above-described method operations. Such information, which is often represented as a sequence of instructions to be executed using processor 222, may be received from and outputted to the network, for example, in the form of a computer data signal embodied in a carrier wave.
The processor 222 executes instructions, codes, computer programs, scripts which it accesses from hard disk, floppy disk, optical disk (these various disk based systems may all be considered secondary storage 224), flash drive, ROM 226, RAM 228, or the network connectivity devices 232. While only one processor 222 is shown, multiple processors may be present. Thus, while instructions may be discussed as executed by a processor, the instructions may be executed simultaneously, serially, or otherwise executed by one or multiple processors.
Although the technical architecture is described with reference to a computer, it should be appreciated that the technical architecture may be formed by two or more computers in communication with each other that collaborate to perform a task. For example, but not by way of limitation, an application may be partitioned in such a way as to permit concurrent and/or parallel processing of the instructions of the application. Alternatively, the data processed by the application may be partitioned in such a way as to permit concurrent and/or parallel processing of different portions of a data set by the two or more computers. In an embodiment, virtualization software may be employed by the technical architecture 220 to provide the functionality of a number of servers that is not directly bound to the number of computers in the technical architecture 220. In an embodiment, the functionality disclosed above may be provided by executing the application and/or applications in a cloud computing environment. Cloud computing may comprise providing computing services via a network connection using dynamically scalable computing resources. A cloud computing environment may be established by an enterprise and/or may be hired on an as-needed basis from a third party provider.
It is understood that by programming and/or loading executable instructions onto the technical architecture, at least one of the CPU 222, the RAM 228, and the ROM 226 are changed, transforming the technical architecture in part into a specific purpose machine or apparatus having the novel functionality taught by the present disclosure. It is fundamental to the electrical engineering and software engineering arts that functionality that can be implemented by loading executable software into a computer can be converted to a hardware implementation by well-known design rules.
Whilst the foregoing description has described exemplary embodiments, it will be understood by those skilled in the art that many variations of the embodiment can be made within the scope and spirit of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
10201601867T | Mar 2016 | SG | national |