METHOD AND SYSTEM FOR PROVIDING A SHOPPING LIST BASED UPON PURCHASE HISTORY

Abstract: An approach for assisting a consumer with making purchases within a retail store is disclose. A consumer database stores purchase history information of the consumer. A host computer communicates with the consumer database to retrieve purchase history information form the consumer database. The host computer identifies gaps in the purchase history information and generates a shopping list based upon the identified gaps. The shopping list includes the items that are recommended for purchase. The host computer transmits the shopping list to the consumer in one of two ways : via email or a kiosk that is located in the retail store. A recipe database communicates with the host computer and stores recipe data, which comprises recipe identification information and ingredient information. The host computer compares the shopping list with the recipe data and selectively generates recommended recipe information. The host computer inserts the recommended recipe information into the shopping list. The shopping list is provided to a store computer, which stores the shopping list in the store database. The consumer is notified by the store computer on a real-time basis of any items the consumer has forgotten from the shopping list during a purchase transaction.

Description: METHOD AND SYSTEM FOR PROVIDING A SHOPPING LIST BASED UPON PURCHASE HISTORY BACKGROUND OF THE INVENTION Field of the Invention: The present invention relates generally to data processing, and more particularly, to providing a shopping list based upon a shopping pattern. Discussion of the Background: Typically, consumers visit retail stores with the purpose of specifically purchasing one or more items. Depending on the circumstances, such as the time to reach the retail store and any intervening distractions, these consumers may remember only some or none of these items. As consequence, these consumers may have to make a return trip to the store once they recall the forgotten items, thereby wasting time and resources (e.g., fuel, bus fare, etc.). This unfortunate scenario is especially germane to, for example, grocery shopping, in which numerous items are typically purchased. Most consumers view grocery shopping as an errand, and therefore, such a task is less enjoyable than, for instance, shopping for luxury or entertainment items; as a result, their memories will not be as keen, as grocery items are significantly more mundane. Furthermore, to accomplish the errand of grocery shopping efficiently, most consumers visit the grocery store to buy a large number of items at once. As an aid, some consumers create a shopping list when the number of items or products exceeds a quantity that can be readily memorized. However, few consumers take the time to formulate and to write down such lists, as most consumers find the process inconvenient. In addition to buying groceries, the typical household continually faces the onerous chore of determining what to prepare for their meals (i.e., figuring out what to buy). Finding new recipes and purchasing the correct ingredients have become a time consuming activity for the typical household. A recipe generally requires the use of many different products, in which a missing ingredient can negate preparing the dish. The following scenario is conceivable. After deciding on the dish to prepare for supper, a consumer writes down the necessary ingredients in the form of a shopping list and makes a trip to the grocery store. If the consumer incorrectly prepares the shopping list, inadvertently omits an item, or forgets to buy an item off an accurate shopping list, the meal will not be prepared, unless the consumer makes another trip to the store to correct the oversight, assuming the consumer possesses the time to make another trip. One conventional approach to assisting the consumer with making purchases is for a retail store to pass out leaflets to the consumers at the store in which the leaflet recommends a multitude of products. A drawback with such an approach is that the recommended products most likely would not coincide with the items the consumers seek to purchase. That is, the recommendation has no correlation to the purchase history of the consumer. Based on the foregoing, there is a clear need for improved approaches to assisting consumers with making purchases at a retail store. There is also a need to prepare automatically a shopping list that can be readily accessible by the consumers. There is also a need to remind the consumers of any items that are missed when these consumers purchase items off a shopping list. There is a further need to conveniently suggest a recipe to the consumer and to provide a list of products corresponding to the recipe. Based on the need to streamline the manner a consumer makes purchases at a retail store, an approach for developing a shopping list that can be delivered to the consumer conveniently is highly desirable. SUMMARY OF THE INVENTION According to one aspect of the invention, a method is provided for assisting a consumer with making purchases within a retail store. The method includes collecting purchase history information of the consumer and identifying gaps in the purchase history- information. The method also includes generating a shopping list based upon the identified gaps. The shopping list includes a plurality of items that are recommended for purchase. The method further includes electronically transmitting the shopping list to the consumer. Under this approach, the consumer can make purchases efficiently. According to another aspect of the invention, a system for assisting a consumer with making purchases within a retail store comprises a consumer database that is configured to store purchase history information of the consumer. A host computer communicates with the consumer database to retrieve purchase history information from the consumer database. The host computer identifies gaps in the purchase history information and generates a shopping list based upon the identified gaps. The shopping list comprises a plurality of items that are recommended for purchase. The host computer transmits the shopping list to the consumer. The above arrangement advantageously provides the consumer with an accurate shopping list that is consistent with the purchase pattern of the consumer. According to another aspect of the invention, a system for assisting a consumer with making purchases within a retail store comprises a consumer database that is configured to store purchase history information of the consumer. A host computer communicates with the consumer database to retrieve purchase history information from the consumer database. The host computer comprises means for identifying gaps in the purchase history information, and means for generating a shopping list based upon the identified gaps. The shopping list includes a plurality of items that are recommended for purchase. The host computer further includes means for transmitting the shopping list to the consumer. The above arrangement advantageously provides the consumer with an efficient approach to shopping. In yet another aspect of the invention, a computer-readable medium carrying one or more sequences of one or more instructions for assisting a consumer with making purchases within a retail store is disclosed. The one or more sequences of one or more instructions include instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of collecting purchase history information of the consumer, identifying gaps in the purchase history information, and generating a shopping list based upon the identified gaps. The shopping list includes a plurality of items that are recommended for purchase. Another step includes electronically transmitting the shopping list to the consumer. This approach advantageously permits the consumer to conveniently obtain a shopping list that is reflective of the purchase pattern of the particular consumer. BRIEF DESCRIPTION OF THE DRAWINGS A more complete appreciation of the invention and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein: Figure 1 is a diagram of a shopping list delivery system, in accordance with an embodiment of the present invention; Figure 2 is a purchase history table as utilized in the system of Figure 1 for associating identifying information of customers with their respective purchase histories; Figure 3 is a shopping list table as utilized in the system of Figure 1 for storing a generated shopping list that is associated with the consumer identification and based upon the respective purchase histories of the consumers; Figure 4 is a seasonal items table as utilized in the system of Figure 1 for storing information on the items that are associated with a predefined season; Figure 5 is a recipe table as utilized in the system of Figure 1 for associating the recipe names with the ingredient information; Figures 6 A and 6B are diagrams of two exemplary embodiments of the shopping list that is delivered to a consumer, according to the system of Figure 1; Figure 7 is a flowchart of the operation of a generating shopping list, according to an embodiment of the present invention; Figures 8 A and 8B are flowcharts of the operation of delivering the shopping list via email and via a kiosk, in accordance with an embodiment of the present invention; Figure 9 is a flowchart of the operation of a inserting seasonal items into the shopping list of a consumer, according to an embodiment of the present invention; Figure 10 is a flowchart of the operation of sending recipes to consumers based upon their respective shopping lists, according to an embodiment of the present invention; Figure 11 is a flowchart of the operation of a notifying the consumers of items that have been missed in the course of purchasing within the store, adcording to an embodiment of the present invention; and Figure 12 is an exemplary computer system programmed to perform one or more of the special purpose function(s) of the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring now to the drawings, wherein like reference numerals designate identical or corresponding parts throughout the several views, and more particularly to Figure 1 thereof, a schematic illustration of a system for providing purchase incentives is shown. The system includes a remote computer 101, a consumer database 103, and one or more retail stores 105. Each retail store includes a store computer 109, one or more scanners 117 and terminals 121, one or more printers 125, and a store database 113. Preferably, each scanner 117 is associated with one of the terminals 121 and one of the printers 125. Each retail store also includes a kiosk 135, which communicates with the store computer 109. Further, the host computer 101 communicates with an e-mail gateway 127 to forward email messages to one or more client stations 129 via a public communication network 131, such as the Internet. The host computer 101 also communicates with a recipe database 133. The host computer 101 is any suitable server, work station, personal computer (PC), or other device for monitoring consumer purchase activity in the retail store 105, for storing information of the purchase activity in the consumer database 103, and for controlling the distribution of purchase incentives. The host computer 101 communicates with the store computer 109 using any suitable protocol and may be implemented using the computer system 801 of Figure 12, for example. The consumer database 103 is a file that includes records containing information for providing a shopping list in accordance with the present invention. This information includes information of each purchase made by a customer in the retail store 105. Such information includes the brand, size, weight, price, date and time of purchase, and customer identification (customer ID) of the consumer making the purchase, for example. In one embodiment, portions of this information are obtained from bar codes on purchased items are scanned by the scanner 117 during a transaction. Records in the consumer database 103 contain fields together with a set of operations for searching, sorting, recombining, and other database functions. The consumer database 103 may be implemented as two or more databases, if desired. One or more of U.S. Pat. Nos. 5,832,457; 5,649,114; 5,430,644; and 5,592,560 describe techniques for collecting consumer purchase information and for storing such information in databases such as the consumer database 103 and the store database 113. U.S. Pat. Nos. 5,832,457; 5,649,114; 5,430,644; and 5,592,560 are incorporated herein by reference. Additionally, techniques for collecting consumer purchase information and for storing such information in databases, such as the consumer database 103 and the store database 113, are described in other patents owned by Catalina Marketing and/or Catalina Marketing International. Each patent owned by Catalina Marketing and/or Catalina Marketing International is incorporated herein by reference. The retail store 105 is any location where goods are kept for retail sale to customers. The retail store 105 may be a part of a retail store chain. The store computer 109 may be implemented using the computer system 1201 of Figure 12, for example, or any other suitable PC, work station, server, or device for communicating with the host computer 101, storing and retrieving information in the store database 113, and communicating with the scanner 117, terminal 121, and printer 125. The store computer 109 performs functions related to providing purchase incentives in accordance with the present invention as well as the functions of a conventional store controller (e.g., as described in U.S. Patent No. 5,173,851). The store database 113 is a file that includes records containing information for providing purchase incentives in accordance with the present invention. Record in the store database 113 contain fields for associating bar codes with products in the retail store 105, associating consumer IDs with purchase incentives, and associating conditions of the purchase incentives with rewards. The store database 113 also includes operations for searching, sorting, recombining, and other database functions. The store database 113 may be implemented as two or more databases, if desired. Periodically, sales transaction information stored in the store database 113 is retrieved by the store computer 109 and sent to the host computer 101, which uses the information to update the purchase history information stored in the consumer database 103. The scanner 117 is associated with a cashier at a point of sale. The scanner 117 is any suitable scanning device for scanning indicia, such as bar codes, on products, coupons, purchase incentives, promotions, advertisements, and any other tangible medium. The terminal 121 may be a conventional cash register and communicates with the store computer 109 and the scanner 117. The terminal 121 may receive information entered by a cashier as well as bar code information received from the scanner 117. Such information is sent to the store computer 109, which processes the information. The terminal 121 also displays information received from the store computer 109. The printer 125 is any suitable printing device for printing coupons and other announcements (e.g., purchase incentives) at the point of sale. The printer 125 is in communication with, and controlled by, the host computer 101 and/or the store computer 109. The kiosk 135 provides a consumer with the ability to enter a consumer identification information to retrieve a shopping list, among other functional capabilities. The kiosk 135 includes a key pad for the consumer enter the consumer ID. The kiosk 135 also has a card reader (not shown), whereby the consumer supplies the consumer ID by swiping a shopper card in the card reader. A printing mechanism (not shown) is employed so that the kiosk 135 can print the shopping list out for the consumer. It is to be understood that the system in Figure 1 is for exemplary purposes only, as many variations of the specific hardware used to implement the present invention will be readily apparent to one having ordinary skill in the art. or example, the functionality of the store computer 109 may be divided between a standard store controller for controlling the terminal 121 and a separate computer for communicating with the host computer 101 and for monitoring sales transaction data and signals transmitted from the terminal 121 to the store computer 109. These implementations and other implementations of retail computer systems are described in greater detail in one or more of U.S. Pat. Nos. 4,723,212; 4,910,672; 5,173,851; 5,612,868; and 6,026,370, each of which is incorporated herein by reference. To implement these variations as well as other variations, a single computer (e.g., the computer system of Figure 12) may be programmed to perform the special purpose functions of two or more of any of the devices shown in Figure 1. On the other hand, two or more programmed computers may be substituted for any one of the devices shown in Figure 1. Principles and advantages of distributed processing, such as redundancy and replication, may also be implemented as desired to increase the robustness and performance of the system, for example. The present invention stores information relating to various customers who shop at the retail store 105, the purchase histories of those customers, purchase incentives, and the classification of customers, for example. This information is stored in one or more memories such as a hard disk, optical disk, magneto-optical disk, and/or RAM, for example. One or more databases, such as the consumer database 103 and the store database 113, may store the information used to implement the present invention. The databases are organized using data structures (e.g., records, tables, arrays, fields, graphs, trees, and/or lists) contained in one or more memories, such as the memories listed above or any of the storage devices listed below in the discussion of Figure 8, for example. Figures 2-5 show data structures that are used for implementing a system for providing a shopping list to the consumers, in accordance with an embodiment of the present invention. The data structures are shown in a relational format, using tables, wherein information that is stored in one column (i.e., field) of a table is mapped or linked to information stored in the same row (i.e., record) across the other column(s) of the table. These data structures are used by the host computer 101 and/or the store computer 109. The data structures shown in Figures 2-5 are stored in the consumer database 103, the store database 113, the recipe database 133, and/or any other suitable storage device(s). Figure 2 is a purchase history table 201 that includes field 203 for storing consumer IDs and a field 205 for storing purchase histories of the consumers in the field 203. A consumer ID is any identifier that is scanned, read, or otherwise entered into a computer system at checkout to identify a customer. Each customer may have multiple customer IDs. Preferably, the consumer ID is represented as a bar code so that it can be quickly scanned at checkout by the scanner 117, although any other type of machine readable or non-machine readable implementations for storing or displaying identifications may be used, including magnetic strips, memory chips, and smart cards. Examples of possible consumer IDs are credit card numbers, debit card numbers, social security card numbers, driver's license numbers, checking account numbers, street addresses, names, e-mail addresses, telephone numbers, frequent customer card numbers, shopper card identifications (SCIDs), or shopper loyalty card numbers issued by the retail store 105, although any other suitable form of identification may be used. Preferably, the field 205 is divided into several subfields for separately storing purchase data such as the location of the purchase, a description of the items purchased, the price of each item purchased, and the date and time of the transaction. Figure 3 is a shopping list table 301 that includes field 303 for storing consumer IDs, and a field 305 for storing shopping list items. The consumer ID field 301, which uniquely identifies each consumer, is identical to field 203 of Figure 2. The shopping list items field 305, according to an exemplary embodiment, includes numerous subfields for storing data that can be used to generate the shopping lists of Figures 6 A and 6B. The several subfields may include summary data for the top 50 items, the date that the corresponding item was last purchased, a description of the items that are recommended to be purchased next, a description of the items that are recommended to be purchased now, and information on the current price of the item. Alternatively, field 305 may include only two subfields: a recommended items field for storing items that are recommended to be purchased, and a current price field for storing the price of the respective item. To populate the shopping list items field 305, the host computer 101 queries the consumer database 103 based upon various criteria, such as the top 50 frequently most purchased items within a given time period, or a frequency window whereby the item must have been purchased a certain number of times not exceeding a threshold value. The not-to-exceed threshold value can be set to eliminate items that the consumer, for example, purchases 99.9% of the time when visiting the retail store 105. This may be desired if the shopping list is very large; additionally, because the consumer purchases a particular item (e.g., milk) most of the time, the reminder of that particular item would not be quite as useful to the consumer. Figure 4 is a seasonal items table 401, which includes a field 403 for storing information with respect to the season or event associated with an item. For example, a season may be any predefined event or a holiday season; e.g., Thanksgiving, New Year, Valentines Day, etc. The season may be any recognizable public event, such as the beginning of a new school year. An items field 405 within the table 401 stores the particular items that are associated with a corresponding season. For example, at the beginning of a new school year, popular products or items may include various school supplies (e.g., glue, paper, pencils, etc.) and lunch snacks. Figure 5 is a recipe table 501 that includes field 403 for storing the name of a recipe and field 405 for storing the ingredients associated with the recipe. For example, to store the recipe for a peanut butter and jelly sandwich within the recipe table 501, the recipe name field 503 may store the name "peanut butter and jelly," and the associated ingredient of peanut butter, jelly, and bread are stored in field 505 as separate subfields. The ingredients field 505 can be mapped to specific products that are offered by various manufacturers. In the current example, the peanut butter may be mapped to a particular brand produced by a particular manufacturer; likewise, the jelly and the bread can be associated with other manufacturers. Figures 6 A and 6B show diagrams of two exemplary embodiments of the shopping list that is produced by the host computer 101 of Figure 1. As seen in Figure 6 A, a recommended items field 603 lists the top 50 items as stored in shopping list table 301 (specifically field 305). These recommended items have been generated by the host computer 101 based upon comparing the purchase history of the particular consumer as stored in consumer database 103. The operation of the shopping list generation is more fully described with respect to Figure 7. In this particular example, the first item is brand X cereal and the fiftieth item is brand Y mangos. Within the shopping list 601, a current price field 605 enumerates the price associated with the item in the corresponding row. For example, item 1, which is brand X cereal, has a price of $2.68. Further, brand Y mangos is shown to have a cost of $1.67/lbs. Upon generating this shopping list 601, the host computer 101 can deliver the shopping list 601 to the consumer. Advantageously, the consumer need not spend the time to create a shopping list by manually writing down the items that are to be purchased; moreover, the consumer is afforded the benefit of knowing his actual purchase history, thereby yielding a more accurate shopping list. In contrast, the conventional shopping list normally includes only a description of the item and not a particular brand. With a truly accurate shopping list, any member of the household can more readily perform the grocery shopping errand, eliminating the possibility of purchasing a product of the wrong brand. In this way, the household member who is designated to go to the grocery store need not have personal knowledge of what brand of a particular item the household uses. Figure 6B illustrates a shopping list according to an alternative embodiment. Shopping list 607 includes field 609 which shows a summary of the top 50 items based upon the purchase history of the consumer. In addition, the shopping list 607 provides a last purchase field 611, which shows the date that the corresponding item was last purchased. Essentially, fields 609 and 611 provide the consumer with a quick summary of what the consumer is likely to have in the home. As evident from Figure 6B, shopping list 607 provides greater detail than the shopping list 601 of Figure 6 A. Shopping list 607 of Figure 6B includes a recommended next purchase field 613 to indicate the items that the consumer may consider purchasing the next time the consumer visits the grocery store. The information in field 613 is determined by examining the purchase cycle of the particular product with respect to the specific consumer. Field 615 specifies the items that are to be purchased now. As in shopping list 601, this shopping list 607 includes a current price field 617 which shows the current price associated with the particular items within fields 613 and 615. In this example, shopping list 607 recommends the purchase of brand X cereal for the immediate trip to the grocery store, while brand Y mangos should be purchased during the next trip to the store. Figure 7 shows a flowchart of the operation of generating a shopping list, according to an embodiment of the present invention. In step 701, purchase history information of the consumers are recorded in the consumer database 103. The purchase history information is updated continually (e.g., twice a day, or on a daily basis) to track the purchase history as well as changes in purchase history and tendencies of the consumers. The host computer 101 generates, for each consumer, purchase behavior information based on each consumer's purchase history using a preestablished criteria, per step 703. For example, if the applicable purchase behavior criterion is average dollars spent at the store 105 each week for the last year, then the host computer 101 uses the information stored in the field 205 of the purchase history table 201 to derive the purchase behavior information of each consumer's average weekly expenditures for the last year in the store 105, if necessary. Alternatively, the purchase behavior criterion may include the number of times particular items are purchased for a given year. The purchase behavior information may not have to be derived from the purchase history information in the field 205 (for example, if the purchase behavior information is part of the purchase history information in the field 205). In that case, step 703 includes the process of retrieving the appropriate information from the field 205. Purchase behavior criteria are indicative of a customer's past and/or present spending or purchase habits in the store 105. Because there may be multiple stores 105, the purchase behavior criteria may also be based on which stores and/or chains of stores each consumer visits. Next, the host computer 101 identifies gaps in the purchase history of the consumer (step 705). For example, if the host computer 101 determines that, for example, the consumer has not purchased cereal for the past three weeks when the purchase history indicates that the consumer purchases cereal every week, the recent failure to purchase cereal would constitute a gap. The host computer 101 performs this identification of gaps process for any number of items (e.g., top 50 items). In step 707, the host computer 101 generates a shopping list (e.g., shopping list 601 or shopping list 607) for each consumer based on the identified gaps in the respective consumer's purchase history as stored in consumer database 103. Thereafter, the host computer 101, as in step 709, provides delivery of the shopping list to the respective consumers. The delivery mechanism can take many forms, of which two are discussed below with respect to Figures 8 A and 8B. Figure 8 A shows a flowchart of the e-mail delivery of the shopping list generated by the host computer 101. Client stations 129 (Figure 1) interact with, for example, a web server (not shown) that runs a server application with a registration function that prompts the users for an e-mail address, which is then stored on a database within the web server. The web server application may be set up to inform the users on clients stations 129 of various promotions and services of retail store 105, for instance. Alternatively consumer database 103 may contain the e-mail address of the users on client stations 129 through the interaction of the host computer 101 and the web server (not shown). Therefore, after the shopping list has been generated through the process described in Figure 7, the host computer 101, per step 801, queries a database that contains the e-mail addresses (e.g., consumer database 103 or web server database (not shown)) corresponding to the consumer ID associated with the shopping list. In step 803, the host computer 101 checks whether the e-mail address is available in the database (e.g., consumer database 103). It should be noted that depending on the particular application, the host computer 101 may restrict the generation of a shopping list associated with the consumer unless the consumer has an e-mail address. Such constraint is only an optimization for executing the process of generating and delivering the shopping list; however, other delivery mechanisms are possible, as will be discussed below. Next, if the host computer determines that an e-mail address is available for a particular consumer, the host computer 101 transmits the shopping list to the consumer e-mail address, per step 807. Essentially, the host computer 101 generates a text message capturing the shopping list and composing an e-mail automatically that includes a shopping list in the format shown in Figure 6 A or Figure 6B. If, however, the host computer 101 determines that the consumer has no available e-mail address in the database (e.g., consumer database 103), the host computer 101 sends the shopping list (e.g., 601 or 607) to the store computer 109 so that the shopping list may be printed on a printer 125 (step 805). In an exemplary embodiment, the printer 125 may reside within a customer service department of store 105. In this manner, the consumer can simply visit store 105 and retrieve the shopping list at the customer service counter. Alternatively, the shopping list may be retrieved by the consumer via a kiosk 135, as discussed below. Figure 8B shows the operation of delivering the shopping list to a kiosk 135 within store 105. After the host computer 101 has generated a shopping list, the host computer 101 may transmit the shopping list to the store computer 109, which then stores the shopping list in the store database 113. It is assumed that the consumer has been notified that a shopping list has been created via an e-mail mechanism or some form of notification. For example, when the consumer registers for this service of creating a shopping list, the consumer may specify when and how the shopping list is going to be delivered to him; for example, a consumer who visits the retail store 105 every Saturday may specify that a shopping list be generated every Friday and delivered to the store 105 for pick up. Upon entering the retail store 105, the consumer approaches a kiosk 135 and enters a PIN (personal identification number) or alternatively swipes a shopper card in the kiosk's card reader, thereby providing the kiosk 135 with a consumer identification information (step 811). Next, in step 813, the kiosk 135 retrieves the shopping list, which corresponds to the input consumer identification information, from the store database 113 via the store computer 109. After the store computer 109 transmits the shopping list to the kiosk 135, the kiosk 135 prints the shopping list, per step 815. With the shopping list conveniently generated, the consumer can efficiently make purchases with the assurance that no products have been left off the' shopping list. Figure 9 shows a flowchart of the operation of inserting seasonal items into the shopping list of a consumer, according to an embodiment of the present invention. As an added functional capability of the system of Figure 1, the host computer 101 can notify the consumer of various seasonal items that the consumer may wish to consider purchasing along with the normal shopping list items. For example, if a shopping list is to be generated a week away from Thanksgiving, the host computer 101 may suggest to the consumer that the consumer consider purchasing a turkey and cranberry sauce. Seasonal item information is stored in the consumer database 103 according to the data structure of the seasonal items table of Figure 4. In step 901, the host computer 101 compares the purchase history of the consumer with the seasonal items stored in the seasonal items table. The host computer 101 determines whether there is a match between, for example, the top 50 items associated with the consumer and the seasonal items that are stored in the seasonal items table of consumer database 103 (step 903). If there is a match, the host computer 101, as in step 905, inserts these matching seasonal items into the shopping list. Alternatively, the host computer can compare the seasonal items list with any items within the entire purchase history of the consumer to determine whether the consumer has purchased any of these seasonal items in the past so that a recommendation to purchase would be better received by the consumer. For example, if the consumer has purchased pumpkin pie sometime in the past, the host computer 101 would recommend purchasing a pumpkin pie for the Thanksgiving holiday. On the other hand, if no match exists, the host computer 101 may choose to force one or more of the seasonal items onto the shopping list of the consumer. If the host computer 101 determines that the seasonal items should be forced onto the shopping list, as in step 907, then these items are inserted into the shopping list (step 905). This force mechanism is useful in that if a retailer seeks to promote a particular product, the retailer can readily do so. Further, the retailer may establish an arrangement whereby the retailer is compensated from the manufacturers of the products for suggesting the products to the consumer. Figure 10 shows a flowchart of the operation of suggesting and sending receipts to the consumers based upon their respective shopping lists, according to an embodiment of the present invention. In step 1001, the host computer 101 compares the shopping list items with recipe data in recipe database 133. As previously discussed, the recipe data can be stored according to the data structure, as shown in Figure 5. The recipe data include recipe identification information (i.e., the name of the recipe) and ingredient information. In step 1 1003, the host computer determines whether the ingredient information matches a predetermined amount of the items on the shopping list. That is, the host computer 101 has a criteria or threshold value in which a certain number of items need to match before a recipe is recommended (e.g., 60% of the items are required to match); however, if all the items on the shopping list match the ingredients of the recipe, then the recipe can be recommended. If the host computer has determined that all the shopping list items match the ingredients of certain recipes, the host computer inserts the recipes and identify the items associated with the recipe into the shopping list, per step 1005. In the case where the host computer 101 does not identify a complete match, the host computer 101 can identify the missing items that make up a complete recipe, per step 1007. Next, the host computer inserts the recipe information, listing the match items as well as the missing items into the shopping list (step 1009). Turning back to the peanut butter and jelly sandwich example, if the consumer has bread and jelly on the shopping list, the shopping list may indicate that a peanut butter and jelly sandwich can be made if the consumer purchases peanut butter. Accordingly, the host computer 101 would insert the item peanut butter (i.e., the missed item) along with the matched items of bread and jelly. Under the above arrangement, the consumer can conveniently receive recipe information as well as the necessary items associated with the ingredients. Figure 11 shows the flowchart of the operation of notifying the consumers of items that have been missed in the course of purchasing various products within the retail store, according to an embodiment of the present invention. Upon completing the gathering of various items or products within the retail store 105, the consumer proceeds to a checkout counter to purchase the items (step 1101). At this point, it is assumed that the store computer 109 maintains a corresponding shopping list, for example within store database 113. As the items are scanned via scanner 117, the store computer 109 tracks the purchases of the consumer in real time, and compares the purchased items with the corresponding shopping list, per step 1103. Upon completion of the scanning of all the items that are to be purchased by the consumer, the store computer 109 compares whether these purchased items are reflected in the complete shopping list (i.e., whether there is a difference between the shopping list and the purchased items), per step 1105. If there is a difference, the store computer 109 generates a missed items list (step 1107). Next, the missed items list is printed on printer 125, which, in an exemplary embodiment, is next to the checkout area (step 1109). Accordingly, the consumer is notified that certain items have been omitted. The consumer, therefore, can return to the appropriate aisles of the retail store 105 to retrieve the missed items. An alternative way to notify the consumer involves displaying the information on the terminal 121, after the cashier has totaled the purchases. This convenient notification can save the consumer valuable time and resources. All or a portion of the invention may be conveniently implemented using conventional general purpose computers or microprocessors programmed according to the teachings of the present invention, as will be apparent to those skilled in the computer art. Appropriate software can be readily prepared by programmers of ordinary skill based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. Figure 12 illustrates a computer system 1201 upon which an embodiment according to the present invention may be implemented. Computer system 1201 includes a bus 1203 or other communication mechanism for communicating information, and a processor 1205 coupled with bus 1203 for processing the information. Computer system 1201 also includes a main memory 1207, such as a random access memory (RAM) or other dynamic storage device (e.g., dynamic RAM (DRAM), static RAM (SRAM), synchronous DRAM (SDRAM), flash RAM), coupled to bus 1203 for storing information and instructions to be executed by processor 1205. In addition, main memory 1207 may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 1205. Computer system 1201 further includes a read only memory (ROM) 1209 or other static storage device (e.g., programmable ROM (PROM), erasable PROM (EPROM), and electrically erasable PROM (EEPROM)) coupled to bus 1203 for storing static information and instructions for processor 1205. A storage device 1211, such as a magnetic disk or optical disk, is provided and coupled to bus 1203 for storing information and instructions. The computer system 1201 may also include special purpose logic devices (e.g., application specific integrated circuits (ASICs)) or configurable logic devices (e.g., generic array of logic (GAL) or reprogrammable field programmable gate arrays (FPGAs)). Other removable media devices (e.g., a compact disc, a tape, and a removable magneto-optical media) or fixed, high density media drives, may be added to the computer system 1201 using an appropriate device bus (e.g., a small computer system interface (SCSI) bus, an enhanced integrated device electronics (IDE) bus, or an ultra-direct memory access (DMA) bus). The computer system 1201 may additionally include a compact disc reader, a compact disc reader- writer unit, or a compact disc juke box, each of which may be connected to the same device bus or another device bus. Computer system 1201 may be coupled via bus 1203 to a display 1213, such as a cathode ray tube (CRT), for displaying information to a computer user. The display 1213 may be controlled by a display or graphics card. The computer system includes input devices, such as a keyboard 1215 and a cursor control 1217, for communicating information and command selections to processor 1205. The cursor control 1217, for example, is a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 1205 and for controlling cursor movement on the display 1213. In addition, a printer may provide printed listings of the data structures/information shown in Figures 2-5 or any other data stored and/or generated by the computer system 1201. The computer system 1201 performs a portion or all of the processing steps of the invention in response to processor 1205 executing one or more sequences of one or more instructions contained in a memory, such as the main memory 1207. Such instructions may be read into the main memory 1207 from another computer readable medium, such as storage device 1211. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory 1207. In alternative embodiments, hard- wired circuitry may be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software. As stated above, the system 1201 includes at least one computer readable medium or memory programmed according to the teachings of the invention and for containing data structures, tables, records, or other data described herein. Examples of computer readable media are compact discs, hard disks, floppy disks, tape, magneto-optical disks, PROMs (EPROM, EEPROM, Flash EPROM), DRAM, SRAM, SDRAM, etc. Stored on any one or on a combination of computer readable media, the present invention includes software for controlling the computer system 1201, for driving a device or devices for implementing the invention, and for enabling the computer system 1201 to interact with a human user (e.g., a customer at the store 105). Such software may include, but is not limited to, device drivers, operating systems, development tools, and applications software. Such computer readable media further includes the computer program product of the present invention for performing all or a portion (if processing is distributed) of the processing performed in implementing the invention. The computer code devices of the present invention may be any interpreted or executable code mechanism, including but not limited to scripts, interpreters, dynamic link libraries, Java classes, and complete executable programs. Moreover, parts of the processing of the present invention may be distributed for better performance, reliability, and/or cost. The term "computer readable medium" as used herein refers to any medium that participates in providing instructions to processor 1205 for execution. A computer readable medium may take many forms, including but not limited to, non- volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks, such as storage device 1211. Volatile media includes dynamic memory, such as main memory 1207. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 1203. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. Common forms of computer readable media include, for example, hard disks, floppy disks, tape, magneto-optical disks, PROMs (EPROM, EEPROM, Flash EPROM), DRAM, SRAM, SDRAM, or any other magnetic medium, compact disks (e.g., CD-ROM), or any other optical medium, punch cards, paper tape, or other physical medium with patterns of holes, a carrier wave (described below), or any other medium from which a computer can read. Various forms of computer readable media may be involved in carrying out one or more sequences of one or more instructions to processor 1205 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions for implementing all or a portion of the present invention remotely into a dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 1201 may receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector coupled to bus 1203 can receive the data carried in the infrared signal and place the data on bus 1203. Bus 1203 carries the data to main memory 1207, from which processor 1205 retrieves and executes the instructions. The instructions received by main memory 1207 may optionally be stored on storage device 1211 either before or after execution by processor 1205. Computer system 1201 also includes a communication interface 1219 coupled to bus 1203. Communication interface 1219 provides a two-way data communication coupling to a network link 1221 that is connected to a local network 1223. For example, communication interface 1219 may be a network interface card to attach to any packet switched local area network (LAN). As another example, communication interface 1219 may be an asymmetrical digital subscriber line (ADSL) card, an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. Wireless links may also be implemented. In any such implementation, communication interface 1219 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information. Network link 1221 typically provides data communication through one or more networks to other data devices. For example, network link 1221 may provide a connection to a computer 1225 (e.g., the host computer 101 or the store computer ) through local network 1223 (e.g., a LAN) or through equipment operated by a service provider, which provides communication services through a communications network 1227. In preferred embodiments, local network 1223 and communications network 1227 preferably use electrical, electromagnetic, or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 1221 and through communication interface 1219, which carry the digital data to and from computer system 1201, are exemplary forms of carrier waves transporting the information. Computer system 1201 can transmit notifications and receive data, including program code, through the network(s), network link 1221 and communication interface 1219. The techniques described herein provide several advantages over prior approaches to assisting the consumers with making purchases in a retail store. The present invention permits automatic generation of a shopping list that is based upon the purchase history of a particular consumer. The shopping list can conveniently be delivered to an email address of the consumer or be retrieved via a kiosk that is located within the retail store. Further, the shopping list provides recipe information along with the necessary products that correspond to the ingredients. Additionally, the present invention provides a real time reminder that the consumer has forgotten to purchase certain items off the generated shopping list. Obviously, numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.

Claims: CLAIMS: 1. A method of assisting a consumer with making purchases within a retail store, the method comprising: collecting purchase history information of the consumer; identifying gaps in the purchase history information; generating a shopping list based upon the identified gaps, the shopping list comprising a plurality of items that are recommended for purchase; and electronically transmitting the shopping list to the consumer. 2. The method as in Claim 1, wherein the step of electronically transmitting comprises: creating an email message that includes the shopping list; and sending the email to an email address of the consumer. 3. The method as in Claim 1, further comprising: comparing the shopping list with recipe data stored in a recipe database, the recipe data comprising recipe identification information and ingredient information; selectively generating recommended recipe information based upon the comparing step; and inserting the recommended recipe information into the shopping list. 4. The method as in Claim 3, wherein the step of selectively generating the recommended recipe information comprises: determining whether the ingredient information match a predetermined portion of the items on the shopping list; and identifying missing items based upon the determining step. 5. The method as in Claim 4, wherein the recommended recipe information in the step of selectively generating the recommended recipe information comprises the recipe identification information corresponding to the matched ingredient information. 6. The method as in Claim 4, wherein the recommended recipe information in the step of selectively generating the recommended recipe information comprises the recipe identification information corresponding to a combination of the matched ingredient information and the missing items, the recommended recipe information further comprises the missed items. 7. The method as in Claim 1, wherein the step of electronically transmitting comprises: transmitting the shopping list to a store database; receiving consumer identification information input from a kiosk; retrieving the shopping list from the store database; and printing the shopping list. 8. The method as in Claim 1, further comprising: comparing the shopping list with seasonal item information; generating a recommended seasonal items list; and selectively inserting the seasonal items list into the shopping list. 9. The method as in Claim 1, further comprising: transmitting the shopping list to a store database; scanning purchased items associated with the consumer; comparing the purchased items with the shopping list; and notifying the consumer of missed items. 10. The method as in Claim 9, wherein the notifying step comprises: printing the shopping list prior to completion of a purchase transaction by the consumer. 11. A system for assisting a consumer with making purchases within a retail store, comprising: a consumer database configured to store purchase history information of the consumer; a host computer communicating with the consumer database to retrieve purchase history information from the consumer database, the host computer identifying gaps in the purchase history information and generating a shopping list based upon the identified gaps, the shopping list comprising a plurality of items that are recommended for purchase, the host computer transmitting the shopping list to the consumer. 12. The system as in Claim 11, wherein the host computer creates an email message that includes the shopping list, the system further comprising: a client station configured to receive the email message; and an email gateway in communication with the host computer and the client terminal, the email gateway receiving the email message and forwarding the email to the client terminal. 13. The system as in Claim 11, further comprising: a recipe database in communication with the host computer, the recipe database storing recipe data that comprises recipe identification information and ingredient information, wherein the host computer is configured to compare the shopping list with the recipe data and to selectively generate recommended recipe information, the host computer inserting the recommended recipe information into the shopping list. 14. The system as in Claim 13, wherein the host computer determines whether the ingredient information match a predetermined portion of the items on the shopping list, and identifies missing items. 15. The system as in Claim 14, wherein the reco mended recipe information comprises the recipe identification information corresponding to the matched ingredient information. 16. The system as in Claim 14, wherein the recommended recipe information comprises the recipe identification information corresponding to a combination of the matched ingredient information and the missing items, the recommended recipe information further comprises the missing items. 17. The system as in Claim 11, further comprising: a store database in communication with the host computer, the store database storing the shopping list; and a kiosk configured to receive consumer identification information and to retrieve the shopping list from the store database, the kiosk printing the shopping list in response to an input from the consumer. 18. The system as in Claim 11, wherein the host computer is configured to compare the shopping list with seasonal item information stored in the consumer database, the host computer generating a recommended seasonal items list and selectively inserting the seasonal items list into the shopping list. 19. The system as in Claim 11, further comprising: a store database in communication with the host computer, the store database storing the shopping list; a scanner of the retail store configured to scan purchased items; and a store computer communicating with the store database and the scanner, the store computer being configured to compare the purchased items with the shopping list and to notify the consumer of missed items. 20. The system as in Claim 19, further comprising: a printer communicating with the store computer, the printer being configured to print the missed items . 21. A system for assisting a consumer with making purchases within a retail store, comprising: a consumer database configured to store purchase history information of the consumer; and a host computer communicating with the consumer database to retrieve purchase history information from the consumer database, the host computer comprising, means for identifying gaps in the purchase history information, means for generating a shopping list based upon the identified gaps, the shopping list comprising a plurality of items that are recommended for purchase, and means for transmitting the shopping list to the consumer. 22. The system as in Claim 21, wherein the host computer further comprises means for creating an email message that includes the shopping list, wherein the system further comprises: a client station configured to receive the email message; and an email gateway in communication with the host computer and the client terminal, the email gateway receiving the email message and forwarding the email to the client terminal. 23. The system as in Claim 21, further comprising: a recipe database in communication with the host computer, the recipe database storing recipe data that comprises recipe identification information and ingredient information, wherein the host computer further comprises, means for comparing the shopping list with the recipe data, means for selectively generating recommended recipe information, and means for inserting the recommended recipe information into the shopping list. 24. The system as in Claim 23, wherein the host computer further comprises: means for determining whether the ingredient information match a predetermined portion of the items on the shopping list; and means for identifying missing items. 25. The system as in Claim 24, wherein the recommended recipe information comprises the recipe identification information corresponding to the matched ingredient information. ' 26. The system as in Claim 24, wherein the recommended recipe information comprises the recipe identification information corresponding to a combination of the matched ingredient information and the missing items, the recommended recipe information further comprises the missing items. 27. The system as in Claim 21, further comprising: a store database in communication with the host computer, the store database storing the shopping list; and a kiosk configured to receive consumer identification information and to retrieve the shopping list from the store database, the kiosk printing the shopping list in response to an input from the consumer. 28. The system as in Claim 21, wherein the host computer further comprises: means for comparing the shopping list with seasonal item information stored in the consumer database; means for generating a recommended seasonal items list; and means for selectively inserting the seasonal items list into the shopping list. 29. The system as in Claim 21, further comprising: a store database in communication with the host computer, the store database storing the shopping list; a scanner of the retail store configured to scan purchased items; and a store computer communicating with the store database and the scanner, the store computer comprising, means for comparing the purchased items with the shopping list and to notify the consumer of missed items. 30. The system as in Claim 29, further comprising: a printer communicating with the store computer, the printer being configured to print the missed items. 31. A computer readable medium containing program instructions for execution on a computer system, which when executed by a computer, cause the computer system to perform method steps for assisting a consumer with making purchases within a retail store, said method comprising the steps of: collecting purchase history information of the consumer; identifying gaps in the purchase history information; generating a shopping list based upon the identified gaps, the shopping list comprising a plurality of items that are recommended for purchase; and electronically transmitting the shopping list to the consumer. 32. The computer readable medium of Claim 31 , further comprising computer- executable instructions for causing the computer system to perform the steps of: creating an email message that includes the shopping list; and sending the email to an email address of the consumer. 33. The computer readable medium of Claim 31 , further comprising computer- executable instructions for causing the computer system to perform the steps of: comparing the shopping list with recipe data stored in a recipe database, the recipe data comprising recipe identification information and ingredient information; selectively generating recommended recipe information based upon the comparing step; and inserting the recommended recipe information into the shopping list. 34. The computer readable medium of Claim 33, wherein the step of selectively generating the recommended recipe information comprises: determining whether the ingredient information match a predetermined portion of the items on the shopping list; and identifying missing items based upon the determining step. 35. The computer readable medium of Claim 34, wherein the recommended recipe information in the step of selectively generating the recommended recipe information comprises the recipe identification information corresponding to the matched ingredient information. 36. The computer readable medium of Claim 34, wherein the recommended recipe information in the step of generating the recommended recipe information comprises the recipe identification information corresponding to a combination of the matched ingredient information and the missing items, the recommended recipe information further comprises the missing items. 37. The computer readable medium of Claim 31 , wherein the step of electronically transmitting comprises: transmitting the shopping list to a store database; receiving consumer identification information input from a kiosk; retrieving the shopping list from the store database; and printing the shopping list. 38. The computer readable medium of Claim 31, further comprising computer- executable instructions for causing the computer system to perform the steps of: comparing the shopping list with seasonal item information; generating a recommended seasonal items list; and selectively inserting the seasonal items list into the shopping list. 39. The computer readable medium of Claim 31, further comprising computer- executable instructions for causing the computer system to perform the steps of: transmitting the shopping list to a store database; scanning purchased items associated with the consumer; comparing the purchased items with the shopping list; and notifying the consumer of missed items. 40. The computer readable medium of Claim 39, wherein the notifying step comprises: printing the shopping list prior to completion of e. purchase transaction by the consumer.

Inventors: STOCKWELL JEREMY J, STOCKWELL, JEREMY, J.
Applicants: CATALINA MARKETING INT, CATALINA MARKETING INTERNATIONAL, INC.
Application year: 2000
Main classification: G06F17
IPC codes: G06Q10, G06Q30, G06Q50