The present invention relates to providing a pricing for a plurality of products.
In businesses, prices of various products must be set. Such prices may be set with the goal of maximizing profit or demand or for a variety of other objectives. It is desirable to provide computer generated pricing to help optimize profit or demand. During a price optimization, the prices of hundreds of items may be set for hundreds of stores. Such optimizations require large amounts of data to be provided. Sometimes such data has errors. In addition, sometimes data is missing. It is desirable to be able to automatically have data errors corrected and have missing data provided or estimated.
To achieve the foregoing and in accordance with the purpose of the present invention, a method for updating a master product attribute catalog database for consumer response modeling is provided. Data is received from at least one source of product data. A data integrity check is preformed on the received data. A reconciliation is performed between the received data and the master product attribute catalog. The reconciled received data is placed in a master product attribute catalog.
These and other features of the present invention will be described in more detail below in the detailed description of the invention and in conjunction with the following figures.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
The present invention will now be described in detail with reference to a few preferred embodiments thereof as illustrated in the accompanying drawings. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without some or all of these specific details. In other instances, well known process steps and/or structures have not been described in detail in order to not unnecessarily obscure the present invention.
To facilitate discussion,
Customer specific data maps 112 may be used to map data from each store into a staging database 116. The data maps 112 allow a customer to submit data in the customers own format and yet provide data in database that is in the same format as other data from other customers.
A data integrity check is then performed on the received data (step 208) by the data validation application 120. The data integrity check may perform a plurality of data specific data validation tests, which are data type specific. Such tests may check for missing data, data that is outside of an expected value range, and other data errors, which may be easily checked and possibly be corrected. In addition, during this step, a check is may be made of whether any of the products is a new product that has not yet been entered into the master catalog. The detection of a new product may be done by comparing the UPC of each product with UPCs in the master catalog. If a matching UPC is not found in the master catalog, the product may be designated as a new product.
The staging data maintenance application 124 provides a user interface to allow a user to provide data maintenance on the received data (step 212). For example, the data validation application 120 may determine that a brand name is not specified for a product. The staging data maintenance 124 application would provide an interface to the user to indicate that a brand name is missing. The user would use the user interface of the staging data maintenance 124 application to provide a brand name. The staging editor may have an exception summary module, an exception detail module, and a data editor. The exception summary module lists all of the tests for a specific data type and the resulting number of records in violation. The exception detail module provides details of why a specific record failed a validation test. The data editor module allows the viewing of staging table records in context. In the preferred embodiment the staging editor would be able to sort data records, filter data records, page data results, update data records, discard updates, and save updates.
A check is made of whether a product is a new product, (i.e. if the product UPC is not in the master catalog) (step 214) by the data approval and automated resolution application 128. If the product is not new then the product attributes in the received data are reconciled with the data in the master catalog 140 (step 216). For received data for a product that is not a new product, but instead already exists in the master catalog, the product attributing application reconciles the received data with data in the master catalog 140. This may be done by first determining if there is a data conflict between the received data and the master catalog 140. For example, if UPC 123 exists with a brand value of “Tide” in the master catalog, but the received data lists the UPC 123 brand value as “Cheer” a validation error is created. The received data for UPC 123 may be changed so that the brand value is changed to “Tide”. The updated data may be used to update the master catalog 140 and the modeling database 144. The original received data may also be stored to enable a voting process. During reconciliation or on a periodic basis, the data in the master catalog is used to provide a voting type of process. For example, since the received data described above had a brand value of “Cheer” and the master catalog 140 had a brand value of “Tide” for UPC 123, a “no” vote is registered. The application may change or reevaluate the brand value of UPC 123 for the master catalog 140, if enough “no” votes are recorded. In one embodiment, if more “Cheer” brand values are recorded than “Tide” brand values for UPC 123, then the brand value in the master catalog 140 for UPC 123 is changed from “Tide” to “Cheer”. Other types of voting using other thresholds may be used. In this embodiment the data approval and automated resolution application also places the reconciled received data into the optimization database 136 and the modeling database 144 (step 220). The automated resolution part may also prevent duplicate records and provide for the aggregation of multiple records.
If a new product was detected by the data validation application 120, a product attributing process is performed by the product attributing application 132 (step 218.). The product attributing application 132 allows the assigning of attributes such as a demand group, designation, brand, form, and size, flavor, . . . may be assigned to a product that is newly entered into the master catalog. Such attributes may be model specific attributes or more general attributes. The new product and attributes are added to the master catalog 140 by the attributing application 132 (step 220). A new record may be created for the new product.
The master catalog 140 is a product attribute database for all products stored by a product attribute such as a universal product code (UPC). It is desirable that the master catalog 140 is retailer independent. Therefore a universal attribute that is retailer independent, such as the UPC, is desirable for classification in the master catalog 140. The master catalog 140 may contain other product attributes such as description, line, and brand, demand group classification, size group, and other attributes related to how a consumer purchases a product such as flavor or related to costs of the product such as case size. To provide retailer independence, it is also desirable that some of the data on products in the master catalog 140 are provided by more than one retailer. By allowing the master catalog to be retailer, independent data cleansing and attributing is leveraged across customers, which ensures that a product is treated consistently irrespective of the customer through the modeling and optimization process.
The modeling database 144 is a customer specific database of customer specific data, such as point of sale information, store attributes, and products for each customer. The point of sale information may include volume for each product at each store during each time period for a particular customer. In a preferred embodiment the primary inputs to the modeling database are product, location, and point of sale data.
The optimization database 136 may also be a customer specific database, which may include customer specific Activity Based Cost (ABC) data, product data, store location information, competitive price information, and results of a modeling process.
Once all of the data required for modeling is provided to the modeling database 144, the consumer response modeling process application 820 may process the data to provide demand model. In this embodiment a modeling program by SAS, which is produced by SAS Institute of Cary, N.C. may be used to provide the demand model. The primary inputs are product, location, and point of sale data. The product attributes are also used in the model. Modeling is carried out on a per category basis for each customer (it estimates econometric coefficients corresponding to different marketing levers such as price, promotion, . . . , and environmental variables such as seasonality. The model may be refreshed every 3 to 12 months or continuously whenever new point of sale data becomes available. Other modeling programs may be used. Model coefficients may be provided to the optimization database 136 by the modeling process application 820. In the preferred embodiment, Bayesian statistics is used to estimate the model coefficients. The parameters generated by the modeling process 820 are provided to the optimization database 136. In the preferred embodiment, some of the model specific attributes such as demand group may be used in the model to predict demand given price combinations and other variables.
The price and ABC application 808 may use the modeling parameters in the optimization database 136 provided by the modeling process application 820 to provide an optimization according to a client's input. The price and promotion optimization processing 808 may use the modeling parameters in the optimizing database to provide optimized price and promotion decisions, which may maximize profit or sales or some other goal. GAMS “General Algebraic Modeling System” is a commercial software for math programming by GAMS Development Corporation of Washington D.C., which may be used to provide such an optimization. The price delivery application 804 may be used to deliver the optimized pricing to the stores 104, 105, 106.
The benefits reporting application 816 determines and reports to the clients the benefits derived from the optimized prices. The compliance and variance reporting 824 may be used to identify how compliant the stores are to the optimized pricing and promotion recommendations and how close the model fits to the actual store's sales.
In other embodiments of the invention, other application combinations may be provided that use the data in the databases, such as assortment applications, placement applications, and markdown pricing applications. An assortment application may be used to determine what assortment of products should be carried. In addition, the invention may not have all of the applications described above in the preferred embodiment.
Although the preferred embodiment links products according to demand groups other methods of linking products for a linked product attribute may be used in other embodiments of the invention.
CPU 922 is also coupled to a variety of input/output devices, such as display 904, keyboard 910, mouse 912, and speakers 930. In general, an input/output device may be any of: video displays, track balls, mice, keyboards, microphones, touch-sensitive displays, transducer card readers, magnetic or paper tape readers, tablets, styluses, voice or handwriting recognizers, biometrics readers, or other computers. CPU 922 optionally may be coupled to another computer or telecommunications network using network interface 940. With such a network interface, it is contemplated that the CPU might receive information from the network, or might output information to the network in the course of performing the above-described method steps. Furthermore, method embodiments of the present invention may execute solely upon CPU 922 or may execute over a network such as the Internet in conjunction with a remote CPU that shares a portion of the processing.
In addition, embodiments of the present invention further relate to computer storage products with a computer-readable medium that have computer code thereon for performing various computer-implemented operations. The media and computer code may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well known and available to those having skill in the computer software arts. Examples of computer-readable media include, but are not limited to: magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs and holographic devices; magneto-optical media such as floptical disks; and hardware devices that are specially configured to store and execute program code, such as application-specific integrated circuits (ASICs), programmable logic devices (PLDs) and ROM and RAM devices. Examples of computer code include machine code, such as produced by a compiler, and files containing higher level code that are executed by a computer using an interpreter. Computer readable media may also be computer code transmitted by a computer data signal embodied in a carrier wave and representing a sequence of instructions that are executable by a processor.
Computer readable media may be used by the computer system 900 to communicate over the network 800 to collect store specific information to generate a consumer response model, and to receive feedback to an indicator or to obtain constraints. Computer readable media may be used by the computer system 900 to perform an optimization.
The master catalog with data for products, where at least one product has data from a plurality of sources of product data, provides the benefit of being able to allow the correction of inaccurate data from a source of product data. As a result, it has been found that the data quality in the resulting master catalog is improved over other data sources. In addition, a modeling process may require product attributes specific to the modeling process. If a new source of product data, such as a new store chain is added, existing data in the master catalog may be used to provide product attributes for products sold by the new source for product data. Product data from the new source for product data may be added to the master catalog, using the voting to correct any errors in the product data from the new source for product data or any errors in the master catalog data.
While this invention has been described in terms of several preferred embodiments, there are alterations, modifications, permutations, and substitute equivalents, which fall within the scope of this invention. It should also be noted that there are many alternative ways of implementing the methods and apparatuses of the present invention. It is therefore intended that the following appended claims be interpreted as including all such alterations, modifications, permutations, and substitute equivalents as fall within the true spirit and scope of the present invention.
Number | Name | Date | Kind |
---|---|---|---|
3017610 | Auerbach et al. | Jan 1962 | A |
4744026 | Vanderbei | May 1988 | A |
5063506 | Brockwell et al. | Nov 1991 | A |
5117354 | Long et al. | May 1992 | A |
5212791 | Damian et al. | May 1993 | A |
5249120 | Foley | Sep 1993 | A |
5299115 | Fields et al. | Mar 1994 | A |
5377095 | Maeda et al. | Dec 1994 | A |
5459656 | Fields et al. | Oct 1995 | A |
5521813 | Fox et al. | May 1996 | A |
5615109 | Eder | Mar 1997 | A |
5694551 | Doyle et al. | Dec 1997 | A |
5712985 | Lee et al. | Jan 1998 | A |
5732401 | Conway | Mar 1998 | A |
5765143 | Sheldon et al. | Jun 1998 | A |
5790643 | Gordon et al. | Aug 1998 | A |
5799286 | Morgan et al. | Aug 1998 | A |
5822736 | Hartman et al. | Oct 1998 | A |
5873069 | Reuhl et al. | Feb 1999 | A |
5878400 | Carter, III | Mar 1999 | A |
5918209 | Campbell et al. | Jun 1999 | A |
5933813 | Teicher et al. | Aug 1999 | A |
5987425 | Hartman et al. | Nov 1999 | A |
6009407 | Garg | Dec 1999 | A |
6029139 | Cunningham et al. | Feb 2000 | A |
6032123 | Jameson | Feb 2000 | A |
6032125 | Ando | Feb 2000 | A |
6044357 | Garg | Mar 2000 | A |
6052686 | Fernandez et al. | Apr 2000 | A |
6078893 | Ouimet et al. | Jun 2000 | A |
6094641 | Ouimet et al. | Jul 2000 | A |
6125355 | Bekaert et al. | Sep 2000 | A |
6134534 | Walker et al. | Oct 2000 | A |
6173345 | Stevens | Jan 2001 | B1 |
6202070 | Nguyen et al. | Mar 2001 | B1 |
6205431 | Willemain et al. | Mar 2001 | B1 |
6308162 | Ouimet et al. | Oct 2001 | B1 |
6341268 | Walker et al. | Jan 2002 | B1 |
6341269 | Dulaney et al. | Jan 2002 | B1 |
6397193 | Walker et al. | May 2002 | B1 |
6405175 | Ng | Jun 2002 | B1 |
6456986 | Boardman et al. | Sep 2002 | B1 |
6546387 | Triggs | Apr 2003 | B1 |
6553352 | Delurgio et al. | Apr 2003 | B1 |
6684193 | Chavez et al. | Jan 2004 | B1 |
6697824 | Bowman-Amuah | Feb 2004 | B1 |
6725208 | Hartman et al. | Apr 2004 | B1 |
6731998 | Walser et al. | May 2004 | B1 |
6735572 | Landesmann | May 2004 | B1 |
6826538 | Kalyan et al. | Nov 2004 | B1 |
6910017 | Woo et al. | Jun 2005 | B1 |
6934931 | Plumer et al. | Aug 2005 | B1 |
6965867 | Jameson | Nov 2005 | B1 |
20020023001 | McFarlin et al. | Feb 2002 | A1 |
20020042739 | Srinivasan et al. | Apr 2002 | A1 |
20020107819 | Quimet | Aug 2002 | A1 |
20020116348 | Phillips et al. | Aug 2002 | A1 |
20020123930 | Boyd et al. | Sep 2002 | A1 |
20020198794 | Williams et al. | Dec 2002 | A1 |
20030110072 | Delurgio et al. | Jun 2003 | A1 |
20030177103 | Ivanov et al. | Sep 2003 | A1 |
Number | Date | Country |
---|---|---|
WO 9853415 | Nov 1998 | WO |