METHOD AND APPARATUS FOR GENERATING A COUPON

Abstract: A POS terminal (10) generates a purchase price of a purchase, and generates a rounded price. The rounded price may be, for example, the lowest whole number greater than the purchase price. The POS terminal (10) then calculates a round-up amount (change due to the customer) as the difference between the purchase price and the rounded price. The coupon value (414) is set based on the round-up amount. For example, the coupon (410) may be redeemable for triple the amount of change due. The POS terminal (10) prints on the coupon (410) an identifier, such as a bar code (372), that is based on the coupon value (414). The bar code (372) allows the coupon (410) to be read by a POS terminal (10) when the coupon (410) is redeemed.

Description: METHOD AND APPARATUS FOR GENERATING A COUPON The present application is a continuation-in-part application of co- pending Patent Application No. 08/920,116, entitled METHOD AND SYSTEM FOR PROCESSING SUPPLEMENTARY PRODUCT SALES AT A POINT-OF- SALE TERMINAL, filed on August 26, 1997, which is a continuation-in-part of co-pending Patent Application No. 08/822,709, entitled SYSTEM AND METHOD FOR PERFORMING LOTTERY TICKET TRANSACTIONS UTILIZING POINT-OF-SALE TERMINALS, filed on March 21, 1997. FIELD OF THE INVENTION The present invention relates to methods and apparatus for generating coupons. BACKGROUND OF THE INVENTION Point-of-sale ("POS") terminals, such as cash registers, are used in a wide variety of businesses for performing such processes as calculating the total price of a purchase (goods or services) and calculating the amount of change due to a customer. In addition, POS terminals may also be used to read and process coupons used by a customer. Some POS terminals are further able to print coupons for customers. Businesses typically offer coupons to customers in an attempt to promote many objectives. One such objective is to entice customers to visit the business. Coupons may further entice customers to visit the business more frequently. For example, a coupon may have an expiration date, and so the customer must use the coupon before that date or not at all. Businesses may also promote certain items by offering coupons which provide a discount only when those items are included in a purchase. Offering higher-value coupons to customers typically allows a business to more effectively promote their objectives, such as customer retention. However, the redemption of higher- value coupons typically reduces the profit gained by the business. It would be advantageous to provide a method and apparatus for generating coupons that allowed a business to more effectively promote its various objectives. SUMMARY OF THE INVENTION It is an object of the present invention to provide a method and apparatus for generating coupons that allowed a business to more effectively promote its various objectives. In accordance with the present invention, a POS terminal generates a purchase price of a purchase, and generates a rounded price. The rounded price may be, for example, the lowest whole number greater than the purchase price. The POS terminal then calculates a round-up amount (change due the customer) as the difference between the purchase price and the rounded price. The coupon value is set based on the round-up amount. For example, the coupon may be redeemable for triple the amount of change due. The POS terminal prints on the coupon an identifier, such as a bar code, that is based on the coupon value. The bar code allows the coupon to be read by a POS terminal when the coupon is redeemed. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic illustration of a POS terminal provided in accordance with the present invention. FIG. 2 is a schematic illustration of another embodiment of a POS terminal. FIG. 3 is a schematic illustration of a network of POS terminals. FIG. 4 is a flow chart illustrating a method for determining an amount of change due. FIG. 5 is a schematic illustration of a rounding multiple database of the POS terminal of FIG. 1. FIG. 6 is a schematic illustration of another embodiment of the rounding multiple database of the POS terminal of FIG. 1. FIG. 7 is a flow chart illustrating a method for generating a coupon. FIG. 8 is a schematic illustration of a transaction database of the POS terminal of FIG. 1. FIG. 9 is a schematic illustration of another embodiment of the transaction database of FIG. 8. FIG. 10 is a flow chart illustrating another method for generating a coupon. FIG. 1 1 is a flow chart illustrating a method for generating a coupon having a validity period. FIG. 12 is a flow chart illustrating another method for generating a coupon having a validity period. FIG. 13 is a flow chart illustrating a method for generating a coupon having a required item. FIG. 14 is a flow chart illustrating another method for generating a coupon having a required item, FIG. 15 is a schematic illustration of a coupon. FIG. 16 is a schematic illustration of a coupon database of the POS terminal of FIG. 1. FIG. 17 is a schematic illustration of another coupon. FIG. 18 is a schematic illustration of a sequence of digits printed on a coupon. FIG. 19 is an encoding scheme database of the POS terminal of FIG. FIG. 20 is a flow chart illustrating another method for generating a coupon. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS As described in the above-cited parent application of the present application, Patent Application No. 08/920,1 16, entitled METHOD AND SYSTEM FOR PROCESSING SUPPLEMENTARY PRODUCT SALES AT A POINT-OF- SALE TERMINAL, filed on August 26, 1997, a customer at a POS terminal may be offered an "upsell" in exchange for an amount of change he is due. The POS terminal determines an upsell in dependence on a purchase of the customer, and can also determine an upsell price to be the amount of change due that customer. Accordingly, the upsell price is based on the purchase. For example, a customer purchasing a first item for $1.74 and tendering $2.00 may be offered a second item in exchange for the $0.26 change due. The upsell price, $0.26, thus depends on the purchase price $1.74. As also described in the above-cited parent application, one type of upsell that may be offered for change due is a voucher which is redeemable for a product or a discount thereon (hereinafter a "coupon"). The coupon may have a value to a customer which is greater than the value of the change exchanged therefor. By providing coupons for change in accordance with the present invention, a business can reduce the time between visits by customers and increase customer satisfaction, thereby increasing sales. The description below is arranged into the following sections: Rounding a Purchase Price, Determining a Coupon Value, Setting a Coupon Feature, and Printing a Coupon. ROUNDING A PURCHASE PRICE Referring to FIG. 1, a POS terminal 10, which may be the IBM 4683 or IBM 4693 manufactured by International Business Machines, comprises a processor 12, such as one or more conventional microprocessors. The processor 12 is in communication with a data storage device 14, such as an appropriate combination of magnetic, optical and/or semiconductor memory. The processor 12 and the storage device 14 may each be (i) located entirely within a single computer or other computing device; (ii) connected to each other by a remote communication medium, such as a serial port cable, telephone line or radio frequency transceiver; or (iii) a combination thereof. For example, the POS terminal 10 may comprise one or more computers that are connected to a remote server computer for maintaining databases. An input device 16 comprises a keypad for transmitting input signals, such as signals indicative of a purchase, to the processor 12. The input device may also comprise a bar code scanner for reading bar codes, such as those printed on packaging, coupons and receipts. The input device may further comprise a card reader, such as those for reading credit cards and frequent shopper cards. A printer 18 registers indicia on paper or other material, thereby printing receipts and coupons as commanded by the processor 12. A display device 20 is preferably a video monitor for displaying at least alphanumeric characters to the customer and/or cashier. Many types of input devices, printers and display devices are known to those skilled in the art, and need not be described in detail herein. The input device 16, printer 18 and display device 20 are each in communication with the processor 12. The storage device 14 stores a program 22 for controlling the processor 12. The processor 12 performs instructions of the program 22, and thereby operates in accordance with the present invention, and particularly in accordance with the methods described in detail herein. The program 22 furthermore includes program elements that may be necessary, such as an operating system and "device drivers" for allowing the processor 12 to interface with computer peripheral devices, such as the input device 16, the printer 18 and the display device 20. Appropriate device drivers and other necessary program elements are known to those skilled in the art, and need not be described in detail herein. The storage device 14 also stores (i) a rounding multiple database 23; (ii) a transaction database 26; (iii) a coupon database 28; and (iv) an encoding scheme database 32. The databases 23, 26, 28 and 32 are described in detail below and depicted with exemplary entries in the accompanying figures. As will be understood by those skilled in the art, the schematic illustrations and accompanying descriptions of the databases presented herein are exemplary arrangements for stored representations of information. A number of other arrangements may be employed besides the tables shown. Similarly, the illustrated entries represent exemplary information, but those skilled in the art will understand that the number and content of the entries can be different from those illustrated herein. FIG. 2 illustrates another embodiment of the POS terminal 10, in which a control device 50 is in communication via a communication medium 52 with a system 54 for providing an offer. The control device 50 comprises a processor 56 in communication with the input device 16 and the display device 20. The system 54 for providing an offer comprises a processor 58 in communication with the storage device 14 and the printer 18. In this embodiment, the control device 50 may be a cash register, and the system 54 may be an electronic device for printing coupons in accordance with data received from the cash register. Other configurations of the POS terminal 10 will be understood by those skilled in the art. Referring to FIG. 3, a network 70 includes a server 72 in communication with POS terminals 74, 76 and 78. The server 72 directs the operation of, stores data from, and transmits data to the POS terminals 74, 76 and 78. The server 72 may itself be a POS terminal, as described above, or may be another computing device that can communicate with one or more POS terminals. Although three POS terminals are shown in FIG. 3, any number of POS terminals may be in communication with the server 72 without departing from the spirit and scope of the present invention. Each of the POS terminals 74, 76 and 78 may be located in the same store, in different stores of a chain of stores, or in other locations. The server 72 may perform many of the processes described below, especially those processes that are performed for more than one POS terminal. The server 72 may furthermore store data such as the transaction database 26. Referring to FIG. 4, a method 100 is performed by a POS terminal in determining an amount of change due. A purchase price of a purchase is generated (step 102). The step 102 of generating a purchase price may comprise, for example, (i) pressing keys on the input device 14 (Fig. la) which each correspond to a product; (ii) pressing numeric keys on the input device 14 which correspond to the digits of the purchase price; (iii) reading a bar code that indicates a price of one or more items included in a purchase; or (iv) receiving digital signals indicative of a purchase price from a remote computing device. The POS terminal then generates a "rounded" price (step 104), and calculates a round-up amount (step 106) equal to the difference between the purchase price and the rounded price. The rounded price may be generated in many ways, as described in more detail below. The rounded price may be based on the purchase price. For example, the rounded price may be the smallest whole number dollar amount that is greater than the purchase price, the smallest multiple of five dollars amount that is greater than the purchase price, or the amount of money tendered by the customer to pay for the purchase price, which may or may not be a whole number amount of dollars. When the rounded price is a whole number, the customer can easily tender bills and in turn receive, at his discretion, either (i) no change, or (ii) change which consists solely of bills, not coins. When the rounded price is a multiple of large- denomination coins, such as nickels, dimes, quarters or half dollars, the customer can receive change that consists solely of coins the customer desires, such as quarters. In another embodiment, the POS terminal determines a rounding multiple that corresponds to the purchase price. The purchase price is then rounded in accordance with the rounding multiple to generate the rounded price. For example, referring to FIG. 5, the rounding multiple database 23 of FIG. 1 includes entries 122, 124, 126 and 128, each defining a rounding multiple for a range of purchase prices. Each entry (also called a "record") includes a range of purchase prices 130 and a rounding multiple 132. The rounding multiple database 23 may be used to determine a rounding multiple and thus a rounded price. For example, if a purchase price is $8.27, the entry 124 (which indicates a range of purchase prices that includes $8.27) corresponds to that purchase price. The entry 124 also indicates a rounding multiple $5, and thus the rounding multiple $5 corresponds to the purchase price $8.27. The purchase price $8.27 is rounded in accordance with the rounding multiple $5, thereby generating a rounded price of $10. Accordingly, the round-up amount is $1.73 ($10 - $8.27 = $1.73). The rounded price may also be based on items included in the purchase. In one embodiment, generating the rounded price comprises determining whether a predetermined item is included in the purchase. Typically, the predetermined item is selected to be a high-value good, so that inclusion of the predetermined item indicates a willingness to pay a higher rounded price. The rounded price could then be set greater if the predetermined item was included. For example, the POS terminal may determine whether the purchase includes a swordfish steak. If so, the rounded price is set greater than it would otherwise be set. Thus, the rounded price is set to a first value (e.g. $15) if the purchase does not include a predetermined item, and is set to a second (greater) value (e.g. $20) otherwise. The first value and the second value are based on the purchase price. For example, the first value may be the purchase price rounded to a first rounding multiple (e.g. $5), and the second value may be the purchase price rounded to a second (higher) rounding multiple (e.g. $10). In such an embodiment, the rounding multiple could be determined based on whether the purchase includes a predetermined item. Referring to FIG. 6, another embodiment 138 of the rounding multiple database includes an entry 140 defining rounding multiples to use based on whether a predetermined item is included or is not included in the purchase. The entry 140 includes (i) an indication 142 of the item; (ii) a rounding multiple 144 to use if the item is included; and (iii) a rounding multiple 146 to use if the item is not included. For example, if the purchase price is $26.83, and the purchase includes a swordfish steak, then the rounding multiple $10 is used. The purchase price is rounded in accordance with the rounding multiple to generate a rounded price $30. Conversely, if the purchase does not include a swordfish steak, then the rounding multiple $1 is used, and the purchase price would be rounded to generate a rounded price $27. Similarly, generating the rounded price can comprise determining whether a premium item is included in the purchase. A premium item is an item that indicates a willingness to pay a higher rounded price. A premium item may be any of a set of predetermined items, such as high-margin items. Alternatively, premium items may be goods which are determined to have a high margin or a high price compared with available substitutes. As described above, the rounded price, or a rounding multiple, can be based on inclusion of such premium items in the purchase. In certain situations, rounding a purchase price in accordance with different rounding multiples will yield the same rounded price. For example, rounding the purchase price $29.03 to the nearest $1 or to the nearest $10 will yield the same rounded price ($30). In such a situation, it may be desirable to increase the rounded price when the rounding multiple $10 is used, so that the resulting rounded price is assured to be greater than when the rounding multiple is $1. For example, referring to Table 1 below, an "increase" may be applied to guarantee that the rounded price is greater when the rounding multiple is greater. Purchase Price Rounding Multiple Increase Rounded Price $29.03 $1 $0 $30 $29.03 $10 $2 $32 Table 1 - First Rounding Example The increase may be established so that the round-up amount is within a predetermined range. For example, if a business desires to exchange a predetermined item in exchange for at least $0.85, the increase may be established at $1.00 so that a round-up amount is always greater than $0.85. The rounded price may be generated in other ways that are based on the price of the predetermined item, thereby allowing the predetermined item to be exchanged for change due. In still another embodiment, the rounded price may be generated based on the highest-priced item in the purchase. The maximum price of all the prices would indicate a willingness to pay a higher rounded price. For example, referring to Table 2 below, a rounding multiple may be determined from the highest price item. The purchase price is then rounded in accordance with the rounding multiple to generate a rounded price, as described above. Highest Priced Item Rounding Multiple < $5 $1 $5 - $9.99 $2 $10 - $14.99 $5 $15 or more $10 Table 2 - Second Rounding Example Once the round-up amount is determined, an upsell to offer in exchange for the round-up amount is determined as well. The upsell is offered to the customer, and, if accepted, the upsell is exchanged for the change due. If the offer is accepted, an indication of such acceptance can be stored for later use. For example, based on historic acceptances of particular offers, different upsells may be offered. Determining a Coupon Value Referring to FIG. 7, a method 160 is performed by a POS terminal in generating a coupon. As described above, the POS terminal generates a purchase price and a rounded price (steps 162 and 164), and in turn calculates a round-up amount (step 166). The POS terminal then sets a coupon value based on the roundup amount (step 168). Next, the POS terminal prints on the coupon an identifier that is based on the coupon value (step 170), as is discussed in further detail below The coupon value can be expressed as a (typically reduced) price for an item or the purchase, or a reduction in the price of an item or the purchase. The reduction may be expressed in many ways, such as a percentage discount or a fixed amount that is to be subtracted from the price. The coupon value is typically based on the round-up amount, and may in particular be based on a predetermined multiple of the round-up amount. For example, the coupon value may be set to three times the round-up amount. In such an embodiment, a customer can be offered a coupon worth $0.99 for his $0.33 change due. The POS terminal may furthermore set the coupon value based on the round-up amount and a condition. Several conditions may be used, and selection of desirable conditions will typically be dictated by various business goals. One condition is whether the customer uses a coupon in paying for the current purchase. In such an embodiment, the POS terminal provides a greater- value coupon to customers that are less likely to redeem coupons (i.e. customers that do not redeem a coupon in the current transaction). Customers that are less likely to redeem coupons will typically require a greater value coupon in exchange for their change due. Accordingly, the POS terminal determines whether the purchase includes coupon redemption. For example, coupons may be scanned by a bar code scanner and thus read by the POS terminal to indicate coupon redemption. Alternatively, various buttons on the input device 16 (FIG. 1) may be actuated to indicate coupon redemption. If the purchase includes coupon redemption, the coupon value is set to a first value. If the purchase does not include coupon redemption, the coupon value is set to a second value greater than the first value. Both the first value and the second value are based on the round-up amount. For example, a customer that redeems a coupon in his purchase may be provided with a coupon worth twice his change, while a customer that does not redeem a coupon in his purchase may be provided with a coupon worth triple his change. Another condition is previous coupon redemption by the customer. As described above, the POS terminal provides a greater-value coupon to customers that are less likely to redeem coupons (i.e. customers that historically have not redeemed coupons much or at all). In such an embodiment, the POS terminal receives a customer identifier, such as a frequent shopper number, that uniquely identifies the customer. Based on the customer identifier, the customer's historical coupon redemption is measured. The historical coupon redemption may be, for example, the number of coupons redeemed or the ratio of coupons redeemed to number of purchases. Referring to FIG. 8, the transaction database 26 (FIG. 1) includes entries 200, 202, 204 and 206, each defining transactions (purchases) made by a customer. Each entry includes (i) a customer identifier 208 that uniquely identifies a customer; (ii) a number of purchases 210 that the customer has made; (iii) a number of coupons redeemed 212; and (iv) an average number of coupons redeemed per purchase 214, which is the ratio of the number of coupons redeemed 212 to the number of purchases 210. As desired, further information may be stored for each entry, such as items purchased in each transaction and dates of transactions. When a customer initiates a transaction using a frequent shopper card, the POS terminal receives the customer identifier from a card reader or similar device. The POS terminal may then update the corresponding entry of the transaction database 26, for example, by increasing the number of purchases and number of coupons redeemed accordingly. When generating a coupon, the POS terminal likewise determines the coupon redemption that is based on the customer identifier, and sets the coupon value based on the coupon redemption. The coupon redemption may be explicitly stored in the transaction database 26, or may be calculated from data stored therein. Referring to Table 3, there is shown an exemplary set of coupon values for various ranges of coupon redemption. Such information on coupon values may be stored in the storage device 14 (FIG. 1). In this embodiment, coupon redemption is expressed as the average number of coupons redeemed per purchase. Coupon Redemption Coupon Value 0 - 0.25 Quadruple the Change Due 0.26 - 0.5 Triple the Change Due 0.51 - 1.0 Double the Change Due > 1.0 Change Due Table 3 - Coupon Value Based on Coupon Redemption For example, referring again to FIG. 8, the entry 204 defines an average number of coupons redeemed per purchase of 0.36. Table 3 in turn indicates that a coupon redemption of 0.36 corresponds to coupon value that is triple the change due. Accordingly, in this situation the amount of change due is multiplied by three to generate the coupon value. To many customers, such a "triple-change" coupon is more attractive than simply receiving the change due. Such customers are more likely to accept an offer for the coupon. In addition, it can be further advantageous to provide a greater coupon value to customers periodically. For example, the coupon value of the coupon offered to the customer may be increased on every tenth transaction, or on every tenth coupon redeemed. Accordingly, in some embodiments the coupon value is increased if the number of transactions or number of coupons redeemed corresponds to a multiple of a predetermined number (e.g. a multiple often). Another condition is the payment type used in paying for the current purchase. The POS terminal can determine a payment type and set the coupon value based on the payment type. The payment type may be, for example, a credit card, a debit card, currency (coins and bills) or a check. The POS terminal can determine the payment type by actuation of keys provided in the input device 16 (FIG. 1) or from various devices such as card readers. It is particularly advantageous to provide a greater-value coupon to customers that use a payment type other than currency (e.g. credit card or check). Such customers are able to pay exact amounts and thus do not have to receive any change. Accordingly, customers that use a payment type other than currency should be provided with more of an advantage to pay a rounded amount and accept a coupon in return for change due. The POS terminal can determine whether the payment type is currency and, if so, set the coupon value to a first (lower) value. Otherwise, the coupon value is set to a second (higher) value. Another condition is whether the customer uses a frequent shopper card in the current transaction. It is particularly advantageous to provide a greater- value coupon to customers that use a frequent shopper card, since customers then have an incentive to register for the frequent shopper program. The business in turn benefits since the transactions of registered customers can be readily tracked. The POS terminal can determine whether a frequent shopper card is used by actuation of keys provided in the input device 16 (FIG. 1) or from various devices such as card readers. Use of a frequent shopper card causes the POS terminal to receive a frequent shopper identifier (e.g. a frequent shopper number). If a frequent shopper identifier is received, the coupon value is set to a higher value. Otherwise, the coupon value is set to a lower value. Another condition is the acceptance rate of offers for upsells. It is particularly advantageous to provide a greater-value coupon to customers that have historically not accepted the offer for a coupon in exchange for their spare change. Such customers typically require an enhanced incentive to accept such offers. The POS terminal can receive a customer identifier from various devices such as card readers that read frequent shopper cards. The POS terminal then determines an acceptance rate based on the customer identifier, and sets the coupon value based on the acceptance rate. For example, referring to FIG. 9, another embodiment 230 of the transaction database 26 (FIG. 1) includes entries 232, 234 and 236, each defining acceptances by a customer. Each entry includes (i) a customer identifier 238 that uniquely identifies a customer; (ii) a number of purchases 240 that the customer has made; (iii) a number of accepted upsell offers 242; and (iv) an acceptance rate 244. As desired, further information may be stored for each entry. When a customer initiates a transaction using a frequent shopper card, the POS terminal receives the customer identifier from a card reader or similar device. The POS terminal may then update the corresponding entry of the transaction database, for example, by increasing the number of purchases and number of accepted upsell offers accordingly. When generating a coupon, the POS terminal likewise determines the historical acceptance rate that is based on the customer identifier, and sets the coupon value based on that acceptance rate. The acceptance rate may be explicitly stored in the transaction database, or may be calculated from data stored therein. Referring to Table 4, there is shown an exemplary set of coupon values for various ranges of acceptance rates. In this embodiment, acceptance rate is expressed as the average number of acceptances per purchase. Acceptance Rate Coupon Value 0 - 0.25 Triple the Change Due 0.26 - 0.5 Double the Change Due 0.51 - 1.0 Change Due Table 4 - Coupon Value Based On Acceptance Rate For example, referring again to FIG. 9, the entry 232 defines an acceptance rate of 0.43 for a customer identified by "1234567". Table 4 in turn indicates that the acceptance rate of 0.43 corresponds to coupon value that is double the change due. Accordingly, in this situation the amount of change due to customer "1234567" is multiplied by two to generate the coupon value. To many customers, such a "double-change" coupon is more attractive than simply receiving the change due. Setting a Coupon Feature As described above, the POS terminal prints on the coupon an identifier that is based on the coupon value. In other embodiments, the identifier can be based on both the coupon value and a coupon feature. Such an embodiment allows more than just the value of the coupon to be set by the POS terminal. Accordingly, coupons can be better customized to promote business objectives. Referring to FIG. 10, a method 250 is performed by a POS terminal in generating a coupon. As described above, the POS terminal generates a purchase price and a rounded price (steps 252 and 254), and in turn calculates a round-up amount (step 256). The POS terminal then sets a coupon value based on the roundup amount (step 258), and sets a coupon feature based on a condition (step 260). The POS terminal then prints on the coupon an identifier based on the coupon value and the coupon feature (step 262). A coupon feature is an aspect of the coupon that may assume one of a plurality of values. In the present invention, the POS terminal can set the coupon feature in accordance with various goals. Two types of coupon features that are discussed in detail herein are a validity period and a required item. Other coupon features will be understood by those skilled in the art. A validity period of a coupon is a period during which the coupon may be redeemed. For example, the validity period may be defined by an expiration date, which defines the end of the validity period. A validity period may be predetermined times of the day, such as from 1 :30 PM to 4:00 PM every weekday until January 30, 1999. In one embodiment, the validity period depends on the time since the last transaction of the customer. In such an embodiment, the POS terminal may set the validity period in order to prompt customers to return to the store sooner than they otherwise would have. Referring to FIG. 11, a method 280 is performed by a POS terminal in generating a coupon having a validity period. The POS terminal determines a time of a previous transaction (step 282). For example, if the customer uses a frequent shopper card in the current transaction, the POS terminal may determine the date that the same frequent shopper identifier (customer identifier) was last used in a transaction. The POS terminal can then determine the time interval since the previous transaction (step 284), for example, by calculating the number of days between the previous transaction and the current transaction. Then, the validity period of the coupon may be set based on the time interval since the previous transaction (step 286). For example, the validity period may be set to be shorter than the time interval since the previous transaction (e.g. one day shorter than that time interval). In another embodiment, the validity period depends on the current time. In such an embodiment, the POS terminal may also set the validity period to prompt customers to return to the store sooner than they otherwise would have. Referring to FIG. 12, another method 300 is performed by a POS terminal in generating a coupon having a validity period. The POS terminal determines a current time (step 302). The current time may be expressed, for example, as the date, the day of the week, a time of day, or whether it is a weekday or weekend. The POS terminal then determines an interval that corresponds to the current time (step 304). For example, if the current time is expressed as "weekend" (as opposed to "weekday"), then the corresponding interval may be the following weekend. Once the interval is determined, the validity period of the coupon is set to exclude the interval. For example, if the interval is the range from Saturday, December 18, 1999 to Sunday, December 19, 1999, a validity period that excludes that interval is the date range from Monday, December 20, 1999 to Friday, December 24, 1999. As another example, if the current time is 12:30 PM, then a corresponding interval is the range from 11 :30 AM to 1 :30 PM. A validity period that excludes this interval is "any weekday after 1 :30". A required item of a coupon is a coupon feature that indicates an item that must be purchased in order to redeem the coupon. For example, if a coupon is for "30% discount on a can of Acme corn", the required item is Acme corn, and the coupon value is a 30% reduction in the price of Acme corn. In one embodiment, the required item is based on the historical coupon redemption of the customer. Customers that do not redeem many coupons are typically less likely to accept an offer for a coupon. Accordingly, such customers should be offered higher-value coupons than those customers that have greater coupon redemption. Thus, customers that have greater coupon redemption are offered a (relatively) lower-value coupon, such as a coupon for higher priced items, for higher margin items or for items the customer does not often purchase. Referring to FIG. 13, a method 320 is performed by a POS terminal in generating a coupon having a required item. The POS terminal receives a customer identifier (step 322), such as a frequent shopper identifier that is read from a frequent shopper card. The POS terminal in turn determines the coupon redemption based on the customer identifier (step 324). Determining coupon redemption has been described above with reference to FIG. 8 and Table 3. The required item of the coupon is set based on the coupon redemption (step 326). The step 326 can comprise setting the required item to be a predetermined item if the coupon redemption is greater than a predetermined threshold. For example, if a customer redeems coupons on every transaction (e.g., coupon redemption > 0.9), it can be desirable to offer him a coupon for a high margin item, or some other predetermined item. Referring to FIG. 14, another method 340 is performed by a POS terminal in generating a coupon having a required item. The POS terminal receives a customer identifier (step 342), such as a frequent shopper identifier that is read from a frequent shopper card. The POS terminal then determines the coupon redemption based on the customer identifier (step 344). Determining coupon redemption has been described above with reference to FIG. 8 and Table 3. The POS terminal also determines an "infrequent item" based on the customer identifier (step 346). An infrequent item is an item the customer has not previously purchased much or at all. As described above, the items previously purchased by a customer may be stored in the transaction database 26 (FIG. 1 ), and so infrequent items may be determined from the transaction database 26. An infrequent item may furthermore be an item the customer is unlikely to desire, as determined by past purchases of the customer. For example, if a customer's purchases have never included any pet food or pet supplies, it is unlikely that customer will desire an item such as a box of cat food. If the coupon redemption is greater than a predetermined threshold (step 348), then the required item of the coupon is set to be the infrequent item (step 350). The predetermined threshold may be established to discriminate between customers that are likely to redeem coupons and those that are not. Printing a Coupon Once the coupon value and any appropriate coupon parameters are set, the POS terminal prints on a coupon an identifier that is based on the coupon value (and coupon parameters, if any). In one embodiment, the identifier comprises a bar code that may be read by bar code scanners in a known manner. The bar code may be of the one-dimensional or two-dimensional type, as will be apparent to those skilled in the art. As is known in the art, a bar code codifies information, typically a sequence of digits. Accordingly, a bar code can represent one or more values, especially numeric values. In one embodiment of the present invention, the bar code indicates a record that stores a coupon value or a coupon feature. In other embodiments, the bar code itself encodes information such as a coupon value or a coupon feature. Referring to FIG. 15, a coupon 370 includes a bar code 372, text 374 describing the coupon value (5% discount on the purchase price), and text 376 describing the validity period. The bar code 372 represents a sequence of digits, and the sequence is described by text 378. The sequence of digits in the illustrated example is " 105789231 ", which in this embodiment indicates a record that stores coupon information. Referring to FIG. 16, the coupon database 28 (FIG. 1) includes entries 390, 392 and 394, each defining a coupon. Each entry includes (i) a coupon identifier 396 that uniquely identifies the coupon, and that corresponds to a bar code printed on the coupon; (ii) a coupon value 398; (iii) a validity period 400; and (iv) a required item 402. As described above, a coupon may or may not include a validity period and a required item. For example, the entry 392 indicates neither a validity period nor a required item. Each entry of the coupon database 28 may correspond to a single physical coupon. Alternatively, each entry may correspond to many identical physical coupons. For example, the entry 394 may correspond to one hundred coupons that each may be redeemed for a $0.50 package of Acme tortellini. Each of these coupons would have a bar code that indicated the entry 394, and it can be desirable to also store an indication of the coupons redeemed. In the above-described embodiment, the bar code printed on the coupon merely indicates where coupon information is stored. The bar code serves to identify information stored in an entry, so that the corresponding entry is determinable from the bar code. In other embodiments, the bar code encodes coupon information. Referring to FIG. 17, a coupon 410 includes a bar code 412, text 414 describing the coupon value (5% discount on the purchase price), and text 416 describing the validity period. The bar code 412 represents a sequence of digits, and the sequence is described by text 418. The sequence of digits in the illustrated example is "881000599", and in this embodiment the sequence encodes coupon information. Thus the coupon information is directly stored on the coupon, which can be more efficient in certain situations. For example, if the coupon itself stores required information, the coupon may be read by any machine that is able to interpret the encoding scheme used in creating the bar code. Thus, stores would not need to be in communication with a central database that stores the coupon information, and consequently a large variety of unrelated businesses would be able to read and redeem the coupon. Referring to FIG. 18, the sequence of digits "881000599" printed on the coupon 410 (FIG. 17) is illustrated in further detail and indicated by reference numeral 440. The sequence of digits 440 can represent one or more values, and the representation' described by FIG. 18 is but one example. A portion 442 of the sequence of digits 440 indicates the encoding scheme, which is described in more detail below. A portion 444 of the sequence of digits 440 indicates the percentage discount that is to be applied to the purchase price. Thus, the portion 444 defines the coupon value. A portion 446 comprises unused digits in the indicated encoding scheme. Referring to FIG. 19, the encoding scheme database 32 includes entries 462, 464 and 466. Each entry defines how different information is indicated by the different digits of the bar code. Each entry includes (i) an encoding scheme identifier 468 that uniquely identifies the encoding scheme; and (ii) a description 470 of the corresponding encoding scheme. In the illustrated embodiment, the encoding scheme identifier is the first three digits of the bar code. For example, referring again to FIG. 19, the portion 442 indicates an encoding scheme "881". As shown by the entry 464, in the encoding scheme "881 " the fourth through seventh digits (the portion 444 of FIG. 18) indicate a percentage discount applied to the purchase price. The entry 464 also shows that in the encoding scheme "881 " the digits after the seventh digit are ignored, and so contain no further coupon information. Alternatively, the identifier that is printed on the coupon may comprise text, rather than a bar code. For example, the coupon may include text that describes the coupon value and/or coupon features. A cashier operating the POS terminal could read the text, and in turn actuate appropriate keys of the POS terminal to indicate the coupon value. As described above, upon acceptance by the customer, the coupon is printed and exchanged for change due (round-up amount). It can be desirable to print an indication of the change due on the coupon. Such an indication would permit the coupon to be readily returned for the round-up amount, which is the amount the customer originally "paid" for the coupon. For example, a customer may reconsider his acceptance and wish to have his change instead of the coupon. If the coupon includes an indication of the round-up amount, there is little ambiguity about what the customer paid for the coupon. Referring to FIG. 20, a method 490 is performed by a POS terminal in generating a coupon. The POS terminal generates a purchase price and a rounded price (steps 492 and 494) and calculates a round-up amount therefrom (step 496). If the customer accepts the offer, the POS terminal prints on the coupon an indication of the round-up amount (step 498), and the coupon is exchanged for the round-up amount (step 500). If the customer reconsiders, he can later return the coupon. The indication of the round-up amount that is printed on the coupon is received by the POS terminal (step 502). For example, the indication of the round-up amount may be encoded in the bar code, determinable from the bar code, or printed separately on the coupon. The bar code or other printing could be scanned by the POS terminal or entered via the input device 16. Once the POS terminal receives the indication and therefrom determines the round-up amount due to the customer, the round-up amount is exchanged for the coupon (step 504). When the coupon is exchanged for the round-up amount, and vice- versa, the POS terminal may maintain an audit trail regarding the number of coupons that should have been received, and the amount of money that should have been received. Such an audit trail is useful in deterring and detecting fraud. Various auditing procedures will be understood by those skilled in the art. It can be further desirable to encrypt the indication of the round-up amount to reduce the threat of counterfeit coupons. For example, if the indication of the round-up amount is merely text such as "$0.45", the coupon could be easily duplicated repeatedly. However, if the round-up amount is encrypted, counterfeiting becomes more difficult. Many encryption and decryption techniques are well known, and described in the text "Applied Cryptography, Protocols, Algorithms, and Source Code in C", Second Edition, by Bruce Schneier. Also, if each coupon includes at least one unique identifier, thereby allowing redemption of each coupon to be tracked, then redemption of any counterfeit coupons may be more easily detected and reduced. In addition, if valid identifiers cannot be readily determined from other valid identifiers, fraud is further deterred. When coupons are redeemed, it can be advantageous to store an indication of such redemption. If the coupon is redeemed, an indication of such redemption can be stored for later use. For example, based on historic redemption of particular coupons, different coupons may be offered. Although the present invention has been described with respect to a preferred embodiment thereof, those skilled in the art will note that various substitutions may be made to those embodiments described herein without departing from the spirit and scope of the present invention. For example, many conditions may be used besides those conditions described in detail herein.

Claims: What is claimed is: 1. A method for determining an upsell of a purchase at a point-of-sale terminal, comprising: generating a purchase price of the purchase; generating a rounded price; calculating a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; determining an upsell in dependence on the round-up amount; and outputting a signal indicative of the upsell. 2. The method of claim 1 in which the step of generating a rounded price comprises: generating the rounded price based on the purchase price. 3. The method of claim 2 in which the step of generating the rounded price based on the purchase price comprises: determining a rounding multiple that corresponds to the purchase price; and rounding the purchase price in accordance with the rounding multiple, thereby generating the rounded price. 4. The method of claim 1 in which the step of generating a rounded price comprises: setting the rounded price to a first value if the purchase does not include a predetermined item; and setting the rounded price to a second value if the purchase includes a predetermined item, the second value being greater than the first value, the first value and the second value being based on the purchase price. 5. The method of claim 4 in which the second value is established so that the round-up amount is within a predetermined range. 6. The method of claim 1 in which the step of generating a rounded price comprises: determining a rounding multiple based on whether the purchase includes a predetermined item; and rounding the purchase price in accordance with the rounding multiple, thereby generating the rounded price. 7. The method of claim 1 in which the step of generating a rounded price comprises: setting the rounded price to a first value if the purchase does not include a premium item; and setting the rounded price to a second value if the purchase includes a premium item, the second value being greater than the first value, the first value and the second value being based on the purchase price. 8. The method of claim 1 in which the step of generating a rounded price comprises: determining a rounding multiple based on whether the purchase includes a premium item; and rounding the purchase price in accordance with the rounding multiple, thereby generating the rounded price. 9. The method of claim 1 in which the step of generating a rounded price comprises: counting a number of premium items included in the purchase; setting the rounded price to a first value if the number of premium items is less than a predetermined threshold; and setting the rounded price to a second value if the number of premium items is greater than a predetermined threshold, the second value being greater than the first value, the first value and the second value being based on the purchase price. 10. The method of claim 1 in which the step of generating a rounded price comprises: determining a rounding multiple based on the number of premium items; and rounding the purchase price in accordance with the rounding multiple, thereby generating the rounded price. 1 1. The method of claim 1 in which the step of generating a rounded price comprises: generating a rounded price based on a price of at least one predetermined item. 12. The method of claim 1 in which the step of generating a rounded price comprises: determining prices of items included in the purchase; determining a maximum price of the determined prices; and generating a rounded price based on the maximum price. 13. A method for generating a coupon, comprising: generating a purchase price of a purchase; generating a rounded price; calculating a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; and printing on the coupon an identifier based on the round-up amount. 14. A method for generating a coupon, comprising: generating a purchase price of a purchase; generating a rounded price; calculating a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; setting a coupon value based on the round-up amount; and printing on the coupon an identifier that is based on the coupon value. 15. The method of claim 14 further comprising: setting a coupon feature based on a condition; and in which the step of printing comprises printing an identifier that is based on the coupon value and the coupon feature. 16. The method of claim 15 in which the coupon feature is a validity period. 17. The method of claim 16 in which the step of setting a coupon feature based on a condition comprises: determining a time of a previous transaction; determine a time interval since the previous transaction; and setting the validity period based on the time interval since the previous transaction. 18. The method of claim 17 in which the step of setting the validity period based on the time interval since the previous transaction comprises setting the validity period to be shorter than the time interval since the previous transaction. 19. The method of claim 17 further comprising: receiving a customer identifier; and in which the step of determining a date of a previous transaction comprises: determining a date of a previous transaction that is based on the customer identifier; 20. The method of claim 16 in which the step of setting a coupon feature based on a condition comprises: determining a current time; and setting the validity period based on the current time. 21. The method of claim 20 in which the step of setting the validity period based on the current time comprises: setting the validity period to exclude an interval that corresponds to the current time. 22. The method of claim 15 in which the coupon feature is a required item. 23. The method of claim 22 in which the step of setting a coupon feature based on a condition comprises: receiving a customer identifier; determining a coupon redemption that is based on the customer identifier; and setting the required item based on the coupon redemption. 24. The method of claim 23 in which the step of setting the required item based on the coupon redemption comprises: setting the required item to be a predetermined item if the coupon redemption is greater than a predetermined threshold. 25. The method of claim 23 in which the step of setting the required item based on the coupon redemption comprises: determining an infrequent item that is based on the customer identifier; and setting the required item to be the infrequent item if the coupon redemption is greater than a predetermined threshold. 26. The method of claim 22 in which the step of setting a coupon feature based on a condition comprises: receiving a customer identifier; determining a number of past purchases of an item, the number being based on the customer identifier; and setting the required item based on the number of past purchases of the item. 27. The method of claim 14 in which the step of setting a coupon value based on the round-up amount comprises: setting the coupon value based on the round-up amount and a condition. 28. The method of claim 27 in which the step of setting the coupon value based on the round-up amount and a condition comprises: determining whether the purchase includes coupon redemption; setting the coupon value to a first value if the purchase includes coupon redemption; setting the coupon value to a second value if the purchase does not include coupon redemption, the second value being greater than the first value, the first value and the second value being based on the round-up amount. 29. The method of claim 27 in which the step of setting the coupon value based on the round-up amount and a condition comprises: determining a payment type; and setting the coupon value based on the payment type. 30. The method of claim 29 in which the step of setting the coupon value based on the round-up amount and a condition comprises: determining whether a payment type is currency; setting the coupon value to a first value if the payment type is currency; and setting the coupon value to a second value if the payment type is not currency, the second value being greater than the first value, the first value and the second value being based on the round-up amount. 31. The method of claim 27 in which the step of setting the coupon value based on the round-up amount and a condition comprises: determining whether a frequent shopper identifier is received; setting the coupon value to a first value if a frequent shopper identifier is received; and setting the coupon value to a second value if no frequent shopper identifier is received, the second value being greater than the first value, the first value and the second value being based on the round-up amount. 32. The method of claim 27 in which the step of setting the coupon value based on the round-up amount and a condition comprises: receiving a customer identifier; determining a coupon redemption that is based on the customer identifier; and setting the coupon value based on the coupon redemption. 33. The method of claim 32 in which the step of setting the coupon value based on the coupon redemption comprises: determining a number of transactions based on the customer identifier; determining a number of coupons redeemed based on the customer identifier; calculating a redemption rate based on the number of coupons redeemed and the number of transactions; and setting the coupon value based on the redemption rate. 34. The method of claim 27 in which the step of setting the coupon value based on the round-up amount and a condition comprises: receiving a customer identifier; determining an acceptance rate that is based on the customer identifier; and setting the coupon value based on the acceptance rate. 35. The method of claim 27 in which the step of setting the coupon value based on the round-up amount and a condition comprises: receiving a customer identifier; determining a number of transactions that is based on the customer identifier; and setting the coupon value based on the number of transactions. 36. The method of claim 35 in which the step of setting the coupon value based on the number of transactions comprises: setting the coupon value to a first value if the number of transactions does not correspond to a multiple of a predetermined number; and setting the coupon value to a second value if the number of transactions corresponds to a multiple of a predetermined number, the second value being greater than the first value, the first value and the second value being based on the round-up amount. 37. The method of claim 27 in which the step of setting the coupon value based on the round-up amount and a condition comprises: receiving a customer identifier; determining a number of coupons redeemed that is based on the customer identifier; and setting the coupon value based on the number of coupons redeemed. 38. The method of claim 37 in which the step of setting the coupon value based on the number of coupons redeemed comprises: setting the coupon value to a first value if the number of coupons redeemed does not correspond to a multiple of a predetermined number; and setting the coupon value to a second value if the number of coupons redeemed corresponds to a multiple of a predetermined number, the second value being greater than the first value, the first value and the second value being based on the round-up amount. 39. The method of claim 14, in which the identifier comprises a bar code. 40. The method of claim 39, further comprising: encoding the coupon value in the bar code. 41. The method of claim 39, further comprising: encoding a coupon feature in the bar code. 42. The method of claim 14, further comprising: storing the coupon value in a record that is determinable from the identifier. 43. A method for generating a coupon, comprising: generating a purchase price of a purchase; generating a rounded price; calculating a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; printing on the coupon an indication of the round-up amount; printing on the coupon an indication of an upsell; receiving an indication of the round-up amount on a coupon; and exchanging the round-up amount for the coupon. 44. The method of claim 43 in which the indication of a round-up amount comprises a bar code. 45. A method for generating a coupon, comprising: generating a purchase price of a purchase; generating a rounded price; calculating a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; setting a coupon value based on a predetermined multiple of the round-up amount; and printing on the coupon an identifier that is based on the coupon value. 46. The method of claim 45 in which the step of setting a coupon value based on a predetermined multiple of the round-up amount comprises: setting the coupon value to three times the round-up amount. 47. A method for generating a coupon, comprising: generating a purchase price of a purchase; generating a rounded price; calculating a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; determining whether the purchase includes coupon redemption; and if the purchase includes coupon redemption, setting a coupon value based on the round-up amount, and printing on the coupon an identifier that is based on the coupon value. 48. An apparatus for determining an upsell of a purchase at a point-of-sale terminal, comprising: a storage device; and a processor connected to the storage device, the storage device storing a program for controlling the processor; and the processor operative with the program to: generate a purchase price of the purchase; generate a rounded price; calculate a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; determine an upsell in dependence on the round-up amount; and output a signal indicative of the upsell. 49. An apparatus for generating a coupon, comprising: a storage device; and a processor connected to the storage device, the storage device storing a program for controlling the processor; and the processor operative with the program to: generate a purchase price of a purchase; generate a rounded price; calculate a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; and print on the coupon an identifier based on the round-up amount. 50. An apparatus for generating a coupon, comprising: a storage device; and a processor connected to the storage device, the storage device storing a program for controlling the processor; and the processor operative with the program to: generate a purchase price of a purchase; generate a rounded price; calculate a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; set a coupon value based on the round-up amount; and print on the coupon an identifier that is based on the coupon value. 51. An apparatus for generating a coupon, comprising: a storage device; and a processor connected to the storage device, the storage device storing a program for controlling the processor; and the processor operative with the program to: generate a purchase price of a purchase; generate a rounded price; calculate a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; print on the coupon an indication of the round-up amount; print on the coupon an indication of an upsell; receive an indication of the round-up amount on a coupon; and exchange the round-up amount for the coupon. 52. An apparatus for generating a coupon, comprising: a storage device; and a processor connected to the storage device, the storage device storing a program for controlling the processor; and the processor operative with the program to: generate a purchase price of a purchase; generate a rounded price; calculate a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; set a coupon value based on a predetermined multiple of the roundup amount; and print on the coupon an identifier that is based on the coupon value. 53. An apparatus for generating a coupon, comprising: a storage device; and a processor connected to the storage device, the storage device storing a program for controlling the processor; and the processor operative with the program to: generate a purchase price of a purchase; generate a rounded price; calculate a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; determine whether the purchase includes coupon redemption; and if the purchase includes coupon redemption, set a coupon value based on the round-up amount, and print on the coupon an identifier that is based on the coupon value. 54. A computer-readable medium encoded with a program for implementing a method for determining an upsell of a purchase at a point-of-sale terminal, said processing instructions for directing a computer to perform the steps of: generating a purchase price of the purchase; generating a rounded price; calculating a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; determining an upsell in dependence on the round-up amount; and outputting a signal indicative of the upsell. 55. A computer-readable medium encoded with a program for implementing a method for generating a coupon, said processing instructions for directing a computer to perform the steps of: generating a purchase price of a purchase; generating a rounded price; calculating a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; and printing on the coupon an identifier based on the round-up amount. 56. A computer-readable medium encoded with a program for implementing a method for generating a coupon, said processing instructions for directing a computer to perform the steps of: generating a purchase price of a purchase; generating a rounded price; calculating a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; setting a coupon value based on the round-up amount; and printing on the coupon an identifier that is based on the coupon value. 57. A computer-readable medium encoded with a program for implementing a method for generating a coupon, said processing instructions for directing a computer to perform the steps of: generating a purchase price of a purchase; generating a rounded price; calculating a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; printing on the coupon an indication of the round-up amount; printing on the coupon an indication of an upsell; receiving an indication of the round-up amount on a coupon; and exchanging the round-up amount for the coupon. 58. A computer-readable medium encoded with a program for implementing a method for generating a coupon, said processing instructions for directing a computer to perform the steps of: generating a purchase price of a purchase; generating a rounded price; calculating a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; setting a coupon value based on a predetermined multiple of the round-up amount; and printing on the coupon an identifier that is based on the coupon value. 59. A computer-readable medium encoded with a program for implementing a method for generating a coupon, said processing instructions for directing a computer to perform the steps of: generating a purchase price of a purchase; generating a rounded price; calculating a round-up amount, the round-up amount being a difference between the purchase price and the rounded price; determining whether the purchase includes coupon redemption; and if the purchase includes coupon redemption, setting a coupon value based on the round-up amount, and printing on the coupon an identifier that is based on the coupon value.

Inventors: ALDERUCCI DEAN, VAN LUCHENE ANDREW S, WALKER JAY S, ALDERUCCI, DEAN, VAN LUCHENE, ANDREW, S., WALKER, JAY, S.
Applicants: WALKER ASSET MANAGEMENT LTD, WALKER ASSET MANAGEMENT LIMITED PARTNERSHIP
Application year: 1998
Main classification: H04K1
IPC codes: G06Q10, G06Q20, G06Q30, G07C15, G07F5, G07F9, G07F17, G07G1, G07G5