METHOD AND APPARATUS FOR FILTERING POINT-OF-SALE DATA

Abstract: A technique for capturing only selected event data in a point-of-sale system (12), to avoid the burden of capturing and processing all point-of-sale event data. The invention provides for the filtering of event data at the point of sale (38), in accordance with any of a number of filter types (50). Thus transactions can be filtered at an item level (54(a)), to facilitate a variety of useful applications, such as inventory control, shelf space allocation, price sensitivity analysis, and product promotion analysis. Other types of filters are defined to facilitate analysis of cashier activity (54(b)), system events (54(c)) and errors, tendering operations (54(d)), consumer diary transactions (54(e)), and random purchase (54(f)) and user-defined transactions (54(g)). Some of these applications, such as user diary operations (54(e)), use customer identification data to trigger the monitoring of purchase transactions (42). Other types of applications do not involve customer identification, such as inventory control, shelf space allocation, or price sensitivity analysis.

Description: METHOD AND APPARATUS FOR FILTERING POINT-OF-SALE DATA BACKGROUND OF THE INVENTION This invention relates generally to point-of-sale (POS) computer systems and, more particularly to resolving difficulties associated with the processing of point-of-sale data. Point-of-sale computer systems are widely used in retail stores to record sales transactions. These systems have varying levels of complexity and local storage capacity, but have in common the ability to record data relating to each of many sales transactions that take place in a store. The primary purpose of a point-of-sale system is to provide a record of the accumulated sales transactions in a store. From the record, store management personnel can track sales volumes and revenues by store, by department, by product category, or even by product, since each product sold is entered into the record by product code. A familiar bar code known as the universal product code (UPC) is scanned at a checkout stand, or entered manually if the code is missing or unreadable. A secondary purpose of a point-of-sale system is to provide additional information computed from the primary record. For example, a common problem is controlling inventory levels to meet customer demand. Theoretically, the point-of- sale record contains all the information needed to enable management personnel to decide how much of any given product needs to be reordered to maintain store inventory at a desired level. A related problem is shelf space allocation in retail stores. Typically, shelf allocation is based on product sales. If a product sells well, more shelf space should be allocated to it in the store, to minimize the possibility of low or empty shelves. Another category of secondary information contained within the primary point-of-sale record is concerned with research into customer behavior. This includes research into mass customer behavior, such as determining the number of customers who bought a specific product that was the subject of a promotion program, and research into individual customer behavior, such as determining whether a customer should be given a discount coupon for a product, based in part on the customer's present or prior purchase activity. Although these secondary uses of point-of-sale data hold promise for store owners and managers, in fact there has been very little use of point-of-sale data for other than the primary purpose of tracking sales volume and revenues of the store. The principal reason is that large point-of-sale systems simply provide too much data for many practical purposes. Inventory control is still usually handled by placing a fixed weekly or other periodic order with product vendors, and occasionally modifying the order based on long- term trends in inventory levels and any anticipated peaks in demand. Shelf allocation is usually handled more or less intuitively, or using out-of-date product sales information that is eventually derived from the point-of-sale data. Using point-of-sale data for consumer research is also rendered difficult by the large volume of data that has to be analyzed to obtain the desired information. It will be appreciated from the foregoing that a serious problem faces store owners and managers who wish to use point-of-sale data for such applications as inventory control, shelf allocation control, and various forms of consumer research. The volume of collected data is so great that efficient processing for applications such as these has not been realized. The present invention provides a solution to this problem. SUMMARY OF THE INVENTION The present invention resides in a point-of-sale computer system that captures only carefully selected elements of the sales data at the point of sale, and allows the selection of data to be easily modified to meet the needs of various applications. The system of the invention has a clear advantage over earlier point-of-sale systems, which cannot be easily modified, or cannot be modified at all, at the point of sale. Capturing only selected data has a related benefit in that less storage capacity is needed at the point of sale and in the overall system, and telecommunications costs are reduced, compared with a system that must log every event at the point of sale. Briefly, the method of the invention comprises the steps of determining whether a point-of-sale data processing system has any input to be processed; and if there is input to be processed, filtering input event data at the point of sale, to determine whether each input event should be logged; and then logging selected input event data records, as determined by the filtering step. Filtering at the point of sale facilitates derivation of secondary data from the event data records. The method may further comprise, prior to the filtering step, determining whether filtering has been activated for this point-of-sale system. In the illustrative embodiment of the invention, a plurality of filter test types are provided, and the method further includes the step of preselecting from among the filter test types for use in the filtering step. The filtering step yields event data records for logging in a separate log associated with each filter test type. Also in the illustrative embodiment, the filter test types include an item filter, and the filtering step includes examining an item record associated with the input event, and selecting the item record only if a particular field of the item record matches preselected filter requirements. The item filter can be used for inventory control; to control shelf space allocation; or to monitor sales performance of a selected product or group of products. The filter types may also include a cashier filter, to capture events relating to cashier activity; a system filter, for capturing events relating to system events and errors; a tendering activity filter, for capturing events relating to the customer's tendering of payment; a consumer diary filter, for capturing events relating to specific customer activity; a random purchase filter, for capturing events that occur over a specified random time period or a number of customer transac¬ tions; or a user filter, for capturing events in accordance with user-specified register location or time constraints. Each of these filter options has subset of further options that are used to implement specific applications. For example, the consumer diary filter allows capture of data relating to the entire purchase of a customer. Logging can be of summary information, such as number and type of product items purchased, or it can be in more detail, depending on the level of analysis desired. Typically, a customer identifica¬ tion number is logged with the purchase data, and coupon printing may be triggered at the end of the transaction, or in a later transaction, based on analysis of the items purchased by the customer. In terms of novel apparatus, the invention comprises means for determining whether a point-of-sale data processing system has any input to be processed; means operable only if there is input to be processed, for filtering input event data at the point of sale, to determine whether each input event should be logged; and means for logging selected input event data records, as determined by the means for filtering. Filtering at the point of sale greatly facilitates derivation of data from the event data records, for a variety of applications. The invention may also be defined as apparatus in terms of similar scope to the method claims summarized above. It will be appreciated from the foregoing that the present invention represents a significant advance in the field of point-of-sale systems. In particular, the invention facilitates analysis of point-of-sale data because the data elements are selectively filtered for capture at the point of sale. Various filter types permit the filtering and capture of event data to be used for a variety of functions. An item filter facilitates capture of events for purposes of analyzing sales of a particular item or items. Captured item transac¬ tions can be used for applications including price sensitivity analysis, inventory control, shelf space allocation, and the effect of sales promotions. Other aspects and advantages of the invention will become apparent from the following more detailed description, taken in conjunction with the accompany¬ ing drawings. BRIEF DESCRIPTION OF THE DRAWINGS FIGURE 1 is a block diagram illustrating the principal hardware components of a point-of-sale system in which the invention is used; FIG. 2 is diagram showing the principal functions performed by the point-of-sale system, including a filter process that is the essence of the present invention; FIG. 3 is diagram showing the functions performed by the filter process referred to in FIG. 2; and FIGS. 4(a) through 4(g) are a set of diagrams depicting examples of various log records used in the system of the invention. DESCRIPTION OF THE PREFERRED EMBODIMENT As shown in the drawings for purposes of illustra¬ tion, the present invention is concerned with techniques for capturing data in a point-of-sale computer system. Although point-of-sale systems have been widely used for some years, their full potential has not been realized, principally because of the extremely large volume of data that must be captured in retail stores. FIG. 1 shows the principal hardware components of a point-of-sale system, including multiple cash registers, indicated by reference numeral 10, connected to a store controller 12. Each cash register has a scanner 14, and may have a coupon printer 16 for printing discount coupons at the checkout register. The store controller 12 has access to a number of computer files, one of which is an item record file 18, which contains a record for every item sold in the store. In the item record file 18, every item is identified by its Uniform Product Code (UPC) , its price, and various other data fields relating to the item. In large retail stores, the store controller 12 is linked to a host computer 20, usually at a remote site. Data records captured at the cash registers 10 are transmitted to the host computer 20, for further processing in conjunction with a data base 22, and various reports 24 are generated by the host computer. As will be further explained, the store controller 12 of the invention also has a related filter log file 26, in which filtered data items are stored. FIG. 2 is a simplified depiction of the functions performed in a wait-state loop of the point-of-sale system of the invention. FIGS. 2 and 3 both utilize a charting method used in structured system development and known in the data processing industry as either "Nassi-Sniderman" charts or "Chapen" charts. Charts of this type contain the same information as conventional flowcharts, but are believed to eliminate redundant, inconsistent and incomplete logic within programs. The conventions employed in these charts are relatively simple. Each chart is read serially from top to bottom. A binary condition is represented by a question stated in a block of the chart, with a "yes" or "no" response indicated at opposing sides of the block, separated from the main body of the block by a diagonal line. The "yes" or "no" path from the binary condition block can be found by simply following the "yes" or "no" portion of the block to the next adjacent block. The chart differs from a conventional flowchart in that function blocks are not separated by "paths" but are placed in adjoining relationship to indicate the direction of logic flow. The wait-state loop shown in FIG. 2 has an outer frame 30 that carries the implication that the functions within the frame are performed repeatedly in an infinite processing loop. Basically, the loop poses three questions. In block 32, the system checks to determine if there is any input to process; in block 34 the system checks to determine if a response has been received; and in block 36 the system checks to determine if a time-out is complete. If the answer to any of these questions is "no," as indicated in the right- hand side of the respective blocks, processing continues with the next question in sequence and, after the last block 36, processing returns to the first block 32 again. If there is input to process, this is the function of the present invention, and a filter process is performed, as indicated at 38, and as further explained with reference to FIG. 3. After return from the filter process, indicated at 40, the system may also perform a trigger process, indicated at 42, to determine if a product that is the subject of a current transaction is a "trigger product" for which some special action needs to be taken. A trigger product is a pre¬ selected product involved in a store promotion, which may re- quire the printing of a discount coupon at the cash register. If a response has been received, as determined in block 34, a response return process may have to be performed, as indicated at 44, and if a time-out is complete a time-out return will be performed, as indicated at 46. Processing of response returns time-out returns, and trigger products do not form part of the present invention, and are mentioned only for completeness. The filter process of the invention, as shown in FIG. 3, includes a preliminary test to determine whether this is a store that is using the filter process, as indicated in block 50. This test permits a standardized system to be installed in all stores, but for the stores to activate the filter process selectively. If the store is not one employing the filter process, this is the end of filter processing and a return is made to the wait-state loop of FIG. 2. It should be noted that a block of the chart that is completely blank is a no-operation block, and the processing logic path continues through the block to next block immediately below the blank one. If the store has the filter process activated, the next step in the process is to determine which, if any, of several filter tests match, as indicated in block 52. The filter process, when activated, is selected to filter data based on one or more testing criteria. The first, and perhaps most important, of these criteria is the item level test, based on the Uniform Product Code of the items being pur¬ chased. The item level test can be for a specific item, or for a group of items, such as all items supplied by a specific manufacturer, or all items in a specific category. The action taken if an item matches is to log an item record, as indicated in block 54(a). Other actions, for other types of tests, are described below and are indicated in blocks 54(b) through 54(g) . If no tests match, return is made to the wait- state loop of FIG. 2. The types of filter tests are as follows: (a) Item test, based on the UPC of each item purchased. The UPC includes a manufacturer's code that can be used to filter the point-of-sale data to a specific manufac¬ turer, or to a specific category of items, or to a specific item. Advantages of an item filter are discussed further below. (b) Cashier test, allows logging of specific activities that occur during the sales process. These filters can be used to monitor security situations, such as voided transactions, over-rings, and manager overrides. They can also be used to collect data on operator performance or used to feed data to a time and attendance system. (c) System test, allows the logging of specific system activities that can reflect on the performance of the store system, both human and computer. Events such as "loop errors" (the failure of a message to successfully flow from the cash register to the store controller) , terminal reloads, and so forth, can be logged and monitored. Events such as a price change at the register, or item-not-on-file during check-out can be used as an audit of how well manual proce¬ dures are being performed by the retail organization. (d) Tender test, allows the logging of events that occur during electronic tendering transactions. Specific response filters can be set to measure the performance of outside service providers, such as for check and credit authorization. For example, authorization time-outs and "call- center" for authorization have a direct impact on customer service. Another example is an "off-line" negative file built from the on-line "decline responses," i.e. responses for authorizations that are declined. Specific decline codes for a customer card number may be used to update such a negative file. If the in-store system is not able to communicate with the authorizer, it would be able to look at this negative file to determine if this card holder had ever been declined by an on-line transaction. (e) Diary test, allows collection of information relating to an entire customer's purchase. This alignment of customer orders allows for later detailed "market basket" analysis of items purchased. The logging can be customer order summary information (i.e., number of items, department distribution, or class analysis) , or it can be down to the detail item information level depending upon the type of analysis desired. This filter will also allow the sale of information to companies who perform "panel diary" studies based on customer purchase data. In this case, a customer identification number is also logged with detail item and tendering information. In addition to the issuance of coupons, manufactur¬ ers sometimes distribute product samples to consumers to promote their products. Distribution can be made in stores, on street corners, or by mail, and can be best described as a costly and unfocused approach, from a marketing standpoint, since products may be given to people who are unlikely to want them or use them. A more focused approach is to use the present invention in conjunction with triggered coupons. When a consumer is identified from a panel diary study, or when a consumer with a frequent shopper identification makes purchases that identify the consumer as a candidate for target marketing, the consumer's name is added to a special mailing list for specific manufacturer samples. This filtered product sampling would provide greater exposure to the consumers most likely to purchase the product, at a lower cost. (f) Random test, based on external parameters and not exclusively on data collected at the cash registers. For example data may be logged over a period determined by a random timer or customer counter that provides a statistically significant sample of customer sales activities. The limited data sample can then be used to help predict future sale activity. (g) User condition test, defined by the store user to log data of specific interest. For example a store manager may be concerned about activity at a particular register or registers during a specific period, such as the activity of a patio register during a sidewalk sale, the activity of a specific cashier, or overall sales at all registers during specific time periods. This data would be logged and then processed by a subsequent reporting system. FIGS. 4(a)-4(g) are typical filter record log formats used in conjunction with the filter tests (a) through (g) , respectively. For the item filter, the fields recorded may include the record type (to distinguish the record from those resulting from different filter types) , the UPC of the item, the price of the item, and the quantity involved in the transaction. For the cashier activity filter, such data as the cashier identification, an activity indicator, and the date and time of the recorded event, are recorded in the log record. For the system event filter, the data recorded may include an event identifier, an error severity code, and a date and time. For the tendering activity filter, the data may include a tender type, a terminal identifier, and a date and time. For the consumer diary filter, a detailed form of the data may include a customer identifier, the UPC and the quantity purchased. A less detailed log record for the consumer diary may be based on numbers of items and a product type or department distribution, rather than on UPC for each item purchased. For the random test, the log record includes UPC, price and quantity data over the period of logging. Finally, for the user test, the log record includes a condition identifier, the UPC and the price. The use of an item filter provides information on the movement of specific products that can support the buying or reordering process. The information can be used with a computer reorder system, or provided to a human responsible for buying, or provided to a vendor. A generalized filter allows the logging of all item movement level information, so that it can be analyzed later by another system. Some of the potential benefits of having this information are discussed below. Timely information concerning the movement of specific products improves stock availability by giving the retailer or vendor a warning when on-hand stock levels are lower than the expected demand. Instead of operating on a fixed delivery schedule, the retailer can react quickly to changes in demand for selected products. The related problem of shelf space allocation is also easier to handle if timely information on the sales of selected products is available to the retailer. Ideally, out- of-stock conditions can be eliminated for key selected items. It has been estimated that over ten thousand new products are introduced each year in retail stores. Each new item typically has only a very short time in which to demonstrate its marketing viability. With appropriate item selections, filtered sales data allow manufacturers to obtain specific product performance, either alone or in conjunction with complementary products. Sales data for specific items can also help the manufacture to monitor the progress of promotional product displays and the like. The item movement data would allow the manufacturer to determine whether or not a promotional display was built and, if built, the degree of its impact on product sales. Filtering sales data by item also permits a manufacturer to perform a retail price point sensitivity analysis. This would encourage the establishment of retail prices that promote high manufacturer volume while improving retailer profitability. It will be appreciated from the foregoing that the present invention represents a significant improvement in techniques for capturing and using point-of-sale data. In particular, the invention provides for selectively filtering data at the point of sale, rather than collecting a large volume of data for later analysis. Various types of filters are used, depending on the desired application. Specifically, an item filter can be used to improve stock availability and shelf space allocation, or for other purposes, such as tracking new product performance, tracking promotion display performance, or performing price sensitivity analysis. It will also be appreciated that, although an example of the present invention has been described in detail for purposes of illustration, various modifications may be made without departing from the spirit and scope of the invention. Accordingly, the invention should not be limited except as by the appended claims.

Claims: CLAIMS We claim: 1. A method for filtering point-of-sale data in a retail store, comprising the steps of: determining whether a point-of-sale data processing system has any input to be processed; if there is input to be processed, filtering input event data at the point of sale, to determine whether each input event should be logged; and logging selected input event data records, as determined by the filtering step, wherein filtering at the point of sale facilitates derivation of data from the event data records. 2. A method as defined in claim 1, and further comprising: prior to the filtering step, determining whether filtering has been activated for this point-of-sale system. 3. A method as defined in claim 1, and further comprising: preselecting from among a plurality of filter test types for use in the filtering step, wherein the filtering step yields event data records for logging in a separate log associated with each filter test type. 4. A method as defined in claim 3, wherein: the filter test types include an item filter; the filtering step includes examining an item record associated with the input event, and selecting the item record only if a particular field of the item record matches preselected filter requirements. 5. A method as defined in claim 4, wherein: the method is used for inventory control; and the filtering step includes selecting input events associated with the purchase of a selected product or product type; wherein purchases of the selected product or product type can be monitored and restocking orders issued promptly based on prior inventories and monitored purchases. 6. A method as defined in claim 4, wherein: the method is used to control shelf space alloca¬ tion; and the filtering step includes selecting input events associated with the purchase of a selected product or product type; wherein purchases of the selected product or product type can be monitored and shelf allocation can be planned based on prior inventories and monitored purchases. 7. A method as defined in claim 4, wherein: the method is used to monitor sales performance of a selected product or group of products; and the filtering step includes selecting input events associated with the purchase of the selected product or product group; wherein the sales performance can be monitored in relation to selected external events, such as promotional displays, product prices, and the purchase of complementary products. 8. A method as defined in claim 3, wherein: the filter test types include a cashier filter; the filtering step includes examining a cashier activity record associated with the input event, and selecting the cashier activity record only if a particular field of the cashier activity record matches preselected filter require¬ ments. 9. A method as defined in claim 3, wherein: the filter test types include a system filter; the filtering step includes examining a system event record associated with the input event, for recording system errors, both human and computer errors, and selecting the system event record only if a particular field of the record matches preselected filter requirements. 10. A method as defined in claim 3, wherein: the filter test types include a tendering activity filter; and the filtering step includes examining a tendering activity record associated with the input event, for recording performance during tendering or payment by a customer, and selecting the tendering activity record only if a particular field of the record matches preselected filter requirements. 11. A method as defined in claim 3, wherein: the filter test types include a consumer diary filter; and the filtering step includes examining a consumer diary record associated with the input event, for recording purchases made by an identifiable consumer, and selecting the consumer diary record only if a particular field of the record matches preselected filter requirements. 12. A method as defined in claim 3, wherein: the filter test types include a random purchase filter; and the filtering step includes examining a random purchase record associated with the input event, for recording purchases made over a selected random interval, and selecting the random purchase record only if a particular field of the record matches preselected filter requirements. 13. A method as defined in claim 3, wherein: the filter test types include a user filter; and the filtering step includes examining a user set condition record associated with the input event, for recording purchases made by under conditions determined by store personnel, such as a particular register location or a particular time period, and selecting the consumer user set condition record only if a particular field of the record matches preselected filter requirements. 14. Apparatus for filtering point-of-sale data in a retail store, comprising: means for determining whether a point-of-sale data processing system has any input to be processed; means operable only if there is input to be processed, for filtering input event data at the point of sale, to determine whether each input event should be logged; and means for logging selected input event data records, as determined by the means for filtering, wherein filtering at the point of sale facilitates derivation of data from the event data records. 15. Apparatus as defined in claim 14, and further comprising: means operable prior to the means for filtering, for determining whether filtering has been activated for this point-of-sale system. 16. Apparatus as defined in claim 14, and further comprising: means for preselecting from among a plurality of filter test types for use in the means for filtering, wherein the means for filtering yields event data records for logging in separate a separate log associated with each filter test type. 17. Apparatus as defined in claim 6, wherein: the filter test types include an item filter; the means for filtering includes means for examining an item record associated with the input event, and means for selecting the item record only if a particular field of the item record matches preselected filter requirements. 18. Apparatus as defined in claim 17, wherein: the apparatus is used for inventory control; and the means for filtering includes means for selecting input events associated with the purchase of a selected product or product type; wherein purchases of the selected product or product type can be monitored and restocking orders issued promptly based on prior inventories and monitored purchases. 19. Apparatus as defined in claim 17, wherein: the apparatus is used to control shelf space alloca¬ tion; and the means for filtering includes means for selecting input events associated with the purchase of a selected product or product type; wherein purchases of the selected product or product type can be monitored and shelf allocation can be planned based on prior inventories and monitored purchases. 20. Apparatus as defined in claim 17, wherein: the apparatus is used to monitor sales performance of a selected product or group of products; and the means for filtering includes means for selecting input events associated with the purchase of the selected product or product group; wherein the sales performance can be monitored in relation to selected external events, such as promotional displays, product prices, and the purchase of complementary products. 21. Apparatus as defined in claim 16, wherein: the filter test types include a cashier filter; the means for filtering includes means for examining a cashier activity record associated with the input event, and means for selecting the cashier activity record only if a particular field of the cashier activity record matches preselected filter requirements. 22. Apparatus as defined in claim 16, wherein: the filter test types include a system filter; the means for filtering includes means for examining a system event record associated with the input event, for recording system errors, both human and computer errors, and means for selecting the system event record only if a particu¬ lar field of the record matches preselected filter require¬ ments. 23. Apparatus as defined in claim 16, wherein: the filter test types include a tendering activity filter; and the means for filtering includes means for examining a tendering activity record associated with the input event, for recording performance during tendering or payment by a customer, and means for selecting the tendering activity record only if a particular field of the record matches preselected filter requirements. 24. Apparatus as defined in claim 16, wherein: the filter test types include a consumer diary filter; and the means for filtering includes means for examining a consumer diary record associated with the input event, for recording purchases made by an identifiable consumer, and means for selecting the consumer diary record only if a particular field of the record matches preselected filter requirements. 25. Apparatus as defined in claim 16, wherein: the filter test types include a random purchase filter; and the means for filtering includes means for examining a random purchase record associated with the input event, for recording purchases made over a selected random interval, and means for selecting the random purchase record only if a particular field of the record matches preselected filter requirements. 26. Apparatus as defined in claim 16, wherein: - the filter test types include a user filter; and the means for filtering includes means for examining a user set condition record associated with the input event, for recording purchases made by under conditions determined by store personnel, such as a particular register location or a particular time period, and means for selecting the consumer user set condition record only if a particular field of the record matches preselected filter requirements.

Inventors: KATZ GARY M, OFF GEORGE W, KATZ, GARY, M., OFF, GEORGE, W.
Applicants: CATALINA MARKETING INT, CATALINA MARKETING INTERNATIONAL, INC.
Application year: 1993
Main classification: G06F15
IPC codes: G06Q30, G07G1, G07G3, G07G5