Abstract:
Shopping patterns for a customer with respect to a particular product that is repeatedly purchased by the customer with a given frequency are recognized across multiple channels. The shopping patterns are utilized to make suggestions, reminders, and default shopping lists on behalf of the customer.

Description:
BACKGROUND 
       [0001]    Retailers often allow customers to place orders on electronic channels, such as e-commerce websites and mobile devices. Electronic channels enable customers to maintain an electronic cart (shopping cart) where they can add and remove goods before placing an order. Customers usually use the website search engine to search for goods or browse a catalog online. Other shopping methods are based on promotions, loyalty incentives, seasonal offers, etc. To increase sales and improve the shopping experience, retailers recommend items that are most likely to be purchased. 
         [0002]    Compared to non-grocery products, such as books or electronics, grocery products have recurring purchasing patterns. Two customers purchasing the same products will have different purchasing patterns, in respect to the purchased quantities and the time between purchases. Yet, existing recommendation techniques fail to consider such patterns that are specific to a consumer and specific to particular products or stores. 
       SUMMARY 
       [0003]    In various embodiments, methods and system for shopping pattern recognition are presented. 
         [0004]    According to an embodiment, a method for shopping pattern recognition is provided. Specifically, in an embodiment, a shopping pattern for a customer of a retailer is automatically derived by mining a transaction history for the customer maintained by the retailer. The shopping pattern based at least in part on per-product purchases and frequencies of those purchases. Then, the shopping pattern is communicated to a retail system for the retailer. The shopping pattern can be communicated from an external system (off premises) or within a retailer&#39;s data center systems (on premises). 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0005]      FIG. 1  is a diagram of an example architecture for utilizing shopping pattern recognition with a customer, according to an example embodiment. 
           [0006]      FIG. 2  is a diagram of a method for utilizing shopping patterns of a customer, according to an example embodiment. 
           [0007]      FIG. 3  is a diagram of another method for utilizing shopping patterns of a customer, according to an example embodiment. 
           [0008]      FIG. 4  is a diagram of a shopping pattern recognition system, according to an example embodiment. 
       
    
    
     DETAILED DESCRIPTION 
       [0009]      FIG. 1  is a diagram of an example architecture  100  for utilizing shopping pattern recognition with a customer, according to an example embodiment. The architecture  100  is shown schematically in greatly simplified form, with only those components relevant to understanding of this embodiment being illustrated. The various components are illustrated and the arrangement of the components is presented for purposes of illustration only. It is to be noted that other arrangements with more or less components are possible without departing from the shopping pattern recognition techniques presented herein and below. 
         [0010]    The techniques, methods, and system presented herein and below for shopping pattern recognition can be implemented in whole or in part in one, all, or some combination of the components shown with the architecture  100 . The techniques and methods are programmed as executable instructions in memory and/or non-transitory computer-readable storage media and processed on one or more processors associated with the components (may also be referred to as “modules”). 
         [0011]    In the embodiment for the architecture  100 , the methods and system are implemented as one or more hardware and software components of a cloud processing environment that provides shopping pattern information to retail systems for a customer of the retailer. 
         [0012]    In the embodiment for the architecture  100 , the methods and system are implemented as one or more hardware and software components of any server that is external or internal to a retailer&#39;s data center systems. 
         [0013]    The architecture  100  includes a customer  110 , retailer systems  120 , a variety of sample communication channels  130  that the customer  110  uses to interact with a retail associated with one or more of the retailer systems  120 , and/or a shopping pattern recognition service  140 . 
         [0014]    The customer  110  can interact with the retailer in person, on the phone, or via some device or service associated with accessing the retailer. During interaction by the customer  110 , a variety of information about the customer is collected by a particular retailer&#39;s system  120 . This information can include account of the customer, date and time of contact, items purchased, store purchased from, quantity of each item purchased, price paid, coupons applied, rebates or loyalty discounts, and the like. In some cases, the variety of information can be pre-acquired and stored by the shopping pattern recognition service  140 , such that it does not need to be acquired during the customer interaction by the shopping pattern recognition service  140 . 
         [0015]    Most retailer systems  120  already include a plethora of such information in a customer transaction history that can potentially date back a year to a few years of interaction with the customer  110 . Moreover, as the customer  110  continues to interact and make purchases with retailers, each of the retailers continues to build on the customer&#39;s transaction history within the retailer systems  120 . 
         [0016]    Some example channels  130  of communication that the customer uses to interact and purchase from a retailer are listed in the architecture  100  and include, by way of example only, an email channel  130 A, a web channel  130 B, a gaming device channel  130 C, a Point-Of-Service (POS) (brick and mortar establishment, kiosks, Self-Service Terminals (SSTs))  130 D, a mobile channel  130 E (mobile application, mobile browser, text, etc.), a call center channel  130 F (to receive customer calls and orders over the phone), digital signs  130 G (to interact with scan Quick Response (QR) codes from, etc.), and interactive television channels  130 H. 
         [0017]    It is to be noted that other channels  130  may exist as well and the channels  130  depicted in the  FIG. 1  is not intended to be all inclusive. For example, some other channels may include human mediation (cashier, teller, waiter, etc.) printing devices, and the like. 
         [0018]    The shopping pattern recognition service  140  provides analysis of the transaction histories that retailers have in their retail systems  130 . The analysis looks in the transaction histories for at least two shopping habits associated with the consumer  110 , which have heretofore not been addressed in the industry in the novel manners proposed herein. 
         [0019]    The first shopping habit is identified by mining the transaction histories on a per-product or per-service basis for a customer&#39;s consumption pattern for a particular product or service. For example, suppose a customer  110  buys one box of cornflakes once every three weeks, this is a shopping pattern for the product cornflakes and is a good indication to the shopping pattern recognition service  140  that should this particular customer  110  buy two boxes of cornflakes in one visit to a particular grocery store, then the likelihood is substantial that this customer  110  will not again want to buy cornflakes again for 6 more weeks. 
         [0020]    The second shopping habit is a day-of-the week pattern. The shopping pattern recognition service  140  mines the transaction histories of a customer  110  to determine what types of products the customer  110  appears to be consistently buying on a particular day of the week. For example, a customer  110  may buy meat only on Fridays and is fairly consistent with that pattern. 
         [0021]    So the shopping pattern recognition service  140  derives shopping patterns for customers  110  based on a per-product or per-service consistent and repeatable purchase pattern mined from the transaction histories and based on consistent and repeatable consumer  110  purchases of types of products or services on certain days of the week. 
         [0022]    These two types of shopping patterns enumerated above reflect how customers  110  actually behave in their daily lives. That is, a family of 4 young children may be buying two gallons of milk every two or three days. A family with a teenager may be buying pizza every Friday on payday. Existing product and service recommendation services fail to account for these patterns, which more closely reflect the habits and lifestyle of customers  110 . 
         [0023]    In an embodiment, the shopping pattern recognition service  140  is provided as a cloud-based service that retailers can subscribe to on a transactional basis or on a time-period bases (monthly, annual, etc.). The retailers provide the customer transaction histories to the shopping pattern recognition service  140  or the retailers provide access to the customer&#39;s transaction histories through an Application Programming Interface (API) that the shopping pattern recognition service  140  uses to access the retailer systems  120 . So, the transaction histories can be pushed from the retailers to the shopping pattern recognition service  140  or the transaction histories can be pulled from the retailer systems  120  using a retailer-provided API. 
         [0024]    In an embodiment, the shopping pattern service  140  is provided as an on premise server to the retailers. The shopping pattern service  140  may also be integrated with each of the retailer systems  120  as enhancements thereto. 
         [0025]    In an embodiment, the identity of the customer can be anonymized by the retailer for privacy reasons, such that the shopping pattern recognition service  140  is unaware of the actual customer associated with a detected shopping pattern derived from the randomized customer&#39;s transaction history. The retailer can map the randomized customer with an identity of an actual customer for the retailer. 
         [0026]    In an embodiment, the shopping pattern recognition service  140  can make suggestions or predictions about the customer based on the derived shopping patterns and send such suggestions or predictions with the shopping patterns to the retailers. For instance, a sample grocery list for a customer that visits the grocery every Saturday morning can be suggested for the retailer to send to the customer on Friday or some configurable period of time before Saturday. The retailer can deliver the suggested grocery list through a variety of channels such as email  130 A, web  130 B, mobile  130 E, etc. 
         [0027]    In another example, a retailer can be provided a suggested online shopping cart for a customer that always buys particular products online (web  130 B) with determined frequency and/or on specific days of the week, such that when the customer is online, the suggested shopping cart can be pushed to the customer. 
         [0028]    The retailer can even utilize the shopping pattern to offer coupons or rebates for products the customer is likely to buy a day or so before that customer is likely to buy the products. This may be done to ensure the customer continues to follow the shopping pattern and purchase the products or just to reward the loyal customer for the continuous purchases of the products. 
         [0029]    In fact, the retailers may authorize the shopping pattern recognition service  140  to make the suggestions or recommendations and/or provide coupons or rebates on behalf of the retailers. This may be an upgraded service offering of the shopping pattern recognition service  140 . 
         [0030]    There are many other situations and scenarios that can occur as well. For instance, a customer visiting a kiosk or SST may receive a reminder when completing a transaction that he/she forgot to purchase something else that they usually purchase such as milk. 
         [0031]    In another case, the suggested shopping list can be pushed to a mobile application on a mobile phone of the customer when the customer is detected in a store associated with the shopping list. 
         [0032]    Moreover, the shopping patterns can be channel based and occur with less frequency. For example, a customer&#39;s transaction history over the course of multiple years may reveal that every year around September the customer  110  makes a large electronic purchase. This may indicate the customer receives a bonus of sorts and likes to buy electronics with at least some of the funds. Having this shopping pattern permits a retailer to offer discounts on newer and more expensive electronics in August for purchase in September. 
         [0033]    Other scenarios that utilize the shopping patterns to improve customer-relationship management are also intended to fall within the generous scope of the embodiments presented herein. 
         [0034]    Some of the above-noted aspects of the invention and other aspects are now presented and discussed with reference to the  FIGS. 2-4 . 
         [0035]      FIG. 2  is a diagram of a method  200  for utilizing shopping patterns of a customer, according to an example embodiment. The software module(s) that implements the method  200  is referred to as a “shopping pattern manager.” The shopping pattern manager is implemented as executable instructions programmed and residing within memory and/or a non-transitory computer-readable (processor-readable) storage medium and executed by one or more processors of one or more devices. The processors of the device(s) that executes the shopping pattern manager are specifically configured and programmed to process the shopping pattern manager. The shopping pattern manager has access to one or more networks during its processing. The networks can be wired, wireless, or a combination of wired and wireless. 
         [0036]    According to an embodiment, the device that executes the software module(s) representing the shopping pattern manager is a cloud processing environment. 
         [0037]    In an embodiment, the device that executes the software module(s) representing the shopping pattern manager is integrated within one or more of the retail systems  120  of the  FIG. 1 . 
         [0038]    In an embodiment, the shopping pattern manager is the shopping pattern recognition service  140  of the  FIG. 1 . 
         [0039]    At  210 , the shopping pattern manager automatically derives a shopping pattern for a customer of a retailer by mining a transaction history for the customer maintained by the retailer. The shopping pattern based at least in part on per-product purchases and frequencies of those purchases. In other words, a specific product that is identified as being purchased on a frequent basis is extracted from the transaction history as part of the shopping pattern. The pattern may use a unique identifier for the product and include quantity of product purchased in each transaction and the frequency of the product purchases. 
         [0040]    In an embodiment, the retail system is the retail system  120  of the  FIG. 1 . 
         [0041]    According to an embodiment, at  211 , the shopping pattern manager also bases the shopping pattern on types of products purchased by the customer on certain days of the week. So, the pattern may use a unique identifier for a category or type of product and include a quantity of type of product purchased along with the most frequently occurring day of the week that the type of product is purchased. Again, these factors captured in the shopping pattern more closely align with habits of the customer. 
         [0042]    In an embodiment, at  212 , the shopping pattern manager receives the transaction history from the retail system of the retailer. A push scenario. 
         [0043]    In an embodiment, at  213 , the shopping pattern manager acquires the transaction history using an API of the retail system to access the retail system and acquire the transaction history. A pull scenario. 
         [0044]    In an embodiment, at  214 , the shopping pattern manager mining the transaction history with an account number for the customer that masks an identity of the customer. The identity of the customer known to the retailer only through a mapping maintained by the retailer between the account number and the customer. This is a scenario where the retailer is protecting the true identity and confidential information of the customer (name, address, credit card, phone number, etc.) from the shopping pattern manager. 
         [0045]    At  220 , the shopping pattern manager communicates the shopping pattern to a retail system for the retailer. 
         [0046]    In an embodiment, at  221 , the shopping pattern manager provides the shopping pattern in a format recognized and capable of being processed by the retail system. So, the shopping pattern manager can service multiple different retailers and custom deliver the shopping patterns derived in formats that each of the retailer&#39;s retail system can recognize and process. 
         [0047]    According to an embodiment, at  230 , the shopping pattern manager updates the shopping pattern for the customer at configurable intervals defined by the retailer. 
         [0048]    In an embodiment, at  240 , the shopping pattern manager updates the shopping pattern for the customer when a deviation in the pattern is noted when generating a new version of the shopping pattern that exceeds a predefined threshold (this is but one example of determining a sufficient deviation in the pattern, others techniques can be used as well without departing from the teachings presented herein). This may occur when a life situation changed for the customer, such as a move, a birth or death, a disability, etc. But, can be detected in a variety of manners, one such manner is when the deviation is compared to the threshold. Also, statistical outliers may be noted based on the deviation and removed from updating the shopping pattern, such as when a customer is on a vacation, the period of that vacation is regarded as an outlier and removed from consideration of updating or generating the shopping pattern. 
         [0049]      FIG. 3  is a diagram of another method  300  for utilizing shopping patterns of a customer, according to an example embodiment. The software module(s) that implements the method  300  is referred to as a “shopping recommendation service.” The shopping recommendation service is implemented as executable instructions programmed and residing within memory and/or a non-transitory computer-readable (processor-readable) storage medium and executed by one or more processors of one or more devices. The processors of the device(s) that executes the shopping recommendation service are specifically configured and programmed to process the shopping recommendation service. The shopping recommendation service has access to one or more networks during its processing. The networks can be wired, wireless, or a combination of wired and wireless. 
         [0050]    In an embodiment, the shopping recommendation service is the shopping pattern recognition service  140  of the  FIG. 1 . 
         [0051]    In an embodiment, the device that executes the software modules representing the shopping recommendation service is a cloud or server. 
         [0052]    In an embodiment, the device that executes the software modules representing the shopping recommendation service is integrated into the retail systems  120  of the  FIG. 1 . 
         [0053]    At  310 , shopping recommendation service obtains a shopping pattern for a customer produced by mining a transaction history of the customer based at least in part on per-product purchases and frequencies of those purchases. The manner of generating the shopping pattern was discussed above with reference to the  FIG. 2 . 
         [0054]    In an embodiment, at  311 , the shopping recommendation service periodically updates the transaction history by obtaining the updated transaction history from the retail system of the retailer. 
         [0055]    In an embodiment, the retail system is the retail system  120  of the  FIG. 1 . 
         [0056]    In an embodiment, at  312 , the shopping recommendation service also bases the shopping pattern on types of products purchased by the customer on certain days of the week. This too was described above with reference to the  FIG. 2 . 
         [0057]    At  320 , the shopping recommendation service derives a recommendation for a retailer based on the shopping pattern. 
         [0058]    In an embodiment, at  321 , the shopping recommendation service suggests a shopping list for use by the customer, such as a grocery list, and other types of shopping lists. 
         [0059]    In an embodiment, at  322 , the shopping recommendation service suggests an online shopping cart for use by the customer or suggest in-store POS coupons for use by the customer (via electronic delivery to the customer, in-store printing by the customer, or customer printing at home). 
         [0060]    At  330 , the shopping recommendation service communicates the recommendation to one of: a retail system of the retailer and the customer. 
         [0061]    In an embodiment, at  331 , the shopping recommendation service sends the recommendation as one of: an email, a text message, and a message in a mobile application that executes on a mobile device of the customer. 
         [0062]    In an embodiment, at  332 , the shopping recommendation service sends the recommendation to a call center or clerk device to verbally convey the recommendation to the customer. 
         [0063]    In an embodiment, at  333 , the shopping recommendation service sending the recommendation to a kiosk or SST that the customer is operating. 
         [0064]      FIG. 4  is a diagram of a shopping pattern recognition system  400 , according to an example embodiment. Various components of the shopping pattern recognition system  400  are programmed and reside within memory and/or a non-transitory computer-readable medium and execute on one or more processors of one or more devices. The shopping pattern recognition system  400  has access and can communicate over one or more networks; and the networks can be wired, wireless, or a combination of wired and wireless. 
         [0065]    The shopping pattern recognition system  400  includes a server  401 , a shopping pattern manager  402 , and a shopping recommendation service  403 . 
         [0066]    In an embodiment, the server  401  is part of a cloud processing environment. 
         [0067]    In an embodiment, the shopping pattern manager  402  is the shopping pattern recognition service  140  of the  FIG. 1 . 
         [0068]    In an embodiment, the shopping recommendation service  403  is the shopping pattern recognition service  140  of the  FIG. 1 . 
         [0069]    In an embodiment, both the shopping pattern manager  402  and the shopping recommendation service  403  are both part of the shopping pattern recognition service  140  of the  FIG. 1 . 
         [0070]    In an embodiment, the shopping pattern manager  402  is the method  200  of the  FIG. 2 . 
         [0071]    In an embodiment, the shopping recommendation service  403  is the method  300  of the  FIG. 3 . 
         [0072]    Accordingly, the embodiments and processing discussed in the  FIGS. 1-3  are incorporated by reference herein with the embodiments and processing for the shopping pattern recognition system  400 . 
         [0073]    The shopping pattern manager  402  is configured and adapted to: execute on one or more processors of the server  401 , mine a transaction history of a customer based at least in part on per-product purchases and frequencies of those purchases to generate a shopping pattern for the customer. 
         [0074]    In an embodiment, the shopping pattern manager  402  is further adapted and configured to also base the shopping pattern on types of products purchased by the customer on certain days of the week. 
         [0075]    The shopping recommendation service  403  is configured and adapted to: execute on one or more processors of the server  401 , make a recommendation based on the shopping pattern, and deliver the recommendation directly or indirectly to the customer. 
         [0076]    In an embodiment, the shopping recommendation service  403  is further adapted and configured to send the recommendation directly to a device of or operated by the customer. 
         [0077]    In an embodiment, the shopping recommendation service  403  is further adapted and configured to send the recommendation indirectly to the customer through one of: a retail system of the retailer, a call center operator&#39;s device, and a clerk&#39;s device for a clerk interfacing with the customer. 
         [0078]    One now appreciates that the methods and system provided herein provide a variety of novel benefits, some of these, by way of example only include:
       improve shopping experiences for the customer;   improve existing online shopping systems by providing a service that recommends potentially forgotten items in an existing shopping cart before online checkout;   increased customer loyalty due to switching costs; once a retailer offers the customer items based on his/her long term shopping patterns, switching to another retailer results in less accurate recommendations; and   increased sales per customer order, assuming a customer has a limited amount of shopping time, the algorithm allows to customer to build his order in less time, hence time limitations impose weaker effects on the total sales amount.       
 
         [0083]    It should be appreciated that where software is described in a particular form (such as a component or module) this is merely to aid understanding and is not intended to limit how software that implements those functions may be architected or structured. For example, some modules are illustrated as separate modules, but may be implemented as homogenous code, as individual components, some, but not all of these modules may be combined, or the functions may be implemented in software structured in any other convenient manner. 
         [0084]    Furthermore, although the software modules are illustrated as executing on one piece of hardware, the software may be distributed over multiple processors or in any other convenient manner. 
         [0085]    The above description is illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of embodiments should therefore be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. 
         [0086]    In the foregoing description of the embodiments, various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting that the claimed embodiments have more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Description of the Embodiments, with each claim standing on its own as a separate exemplary embodiment.