The present invention relates to providing a plurality of price clusters for a plurality of stores.
In businesses, prices of various products must be set. In a chain of a plurality of stores, instead of setting the prices in each store individually, the stores may be grouped in one or more clusters. Each cluster may form a price zone. The creation of price zones in the past may have been done only using geographical proximity to generate clusters.
To achieve the foregoing and other objects and in accordance with the purpose of the present invention, a method for forming a plurality of stores into a plurality of clusters is provided. An optimization is performed for the plurality of stores to obtain individual store prices. The individual store prices are used to create the plurality of clusters. An optimization for the plurality of clusters is performed to obtain cluster prices.
In another embodiment of the invention, a method for forming a plurality of stores into a plurality of clusters is provided. Store specific information is collected. Optimized combinations for each individual store are provided based on the store specific information. Clusters are created based on the closeness of the optimal combinations.
In another embodiment of the invention, an apparatus for forming a plurality of stores into a plurality of clusters is provided. Computer readable code for collecting store specific information is provided. Computer readable code for optimizing combinations for each individual store based on the store specific information is provided. Computer readable code for creating clusters based on the closeness of the optimal combinations is provided.
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.
In examining purchase data, it is found that geographical price zones (clustering by geography alone) may reduce profits by as much as 60%.
To facilitate understanding,
To facilitate discussion,
The financial model engine 208 may receive data 232 from the store computer systems 224 (step 316) and processed data from the econometric engine 204. The data 232 received from the stores is generally cost-related data, such as average store labor rates, average distribution center labor rates, cost of capital, the average time it takes a cashier to scan an item (or unit) of product, or how long it takes to stock a received unit of product and fixed cost data. The financial model engine 208 may process the data to provide a variable cost and fixed cost for each unit of product in a store, generating cost coefficients (step 320). The processing by the econometric engine 204 and the processing by the financial model engine 208 may be done in parallel. Cost data 236 is provided from the financial model engine 208 to the optimization engine 212 (step 324).
The optimization engine 212 utilizes the demand coefficients 228 to create a demand equation. The optimization engine is able to forecast demand and cost for a set of prices and promotion conditions, such as store displays and ads to calculate net profit. The stores 224 may use the support tool 216 to provide optimization rules to the optimization engine 212 (step 328). The optimization engine 212 may use the demand equation, the variable and fixed costs, and the rules to compute an optimal set of prices that meets the rules (step 332). For example, if a rule specifies the maximization of profit, the optimization engine would find a set of prices that causes the largest difference between the total sales revenue and the total cost of all products being measured. In this preferred embodiment, the prices are provided on a store-by-store basis, instead of by groups of stores. In addition, in this example the prices are also provided on an item-by-item basis.
If a rule providing a promotion of one of the products by specifying a discounted price is provided, the optimization engine may provide a set of prices that allows for the promotion of the one product and the maximization of profit under that condition. The rules normally include an objective, such as optimizing profit or optimizing volume of sales of a product and constraints, such as a limit in the variation of prices.
When profit is maximized, it may be maximized for a sum of all measured products. Such a maximization may not maximize profit for each individual product, but may instead have an ultimate objective of maximizing total profit. The result of this optimization provides an optimal product and price combination for each store.
Stores with the closest prices and which meet the constraints are then grouped together in clusters (step 408). There may be many different approaches to clustering stores with the closest prices. Such clustering may attempt to minimize the sum of differences or distances in prices between stores in a cluster. The steps of
The prices are plotted in
Therefore, the total distances for each possible cluster pairings are shown in Table 3.
The store pair combination with the lowest distance would be chosen as the best cluster pairing. From Table 3, it can be seen that by putting stores 1 and 2 in one cluster and stores 3 and 4 in another cluster, the total distances between stores within the same cluster are minimized, and therefore the stores are clustered accordingly.
These distances may be weighted according to volume sales by multiplying the distances by revenue.
Various algorithms may be used to actually form clusters. One example of such clustering is the k-means clustering method. The FASTCLUS procedure available in SAS, provided by the SAS Institute, Inc of Cary, N.C. is one procedure that may be used to create the clusters.
If a store does not sell a particular product, an average price for the product may be calculated and used as the price of the product for the store that does not sell the product, so that the absence of the product does not affect the clustering of the stores. If a constraint requires that two or more stores be placed in the same cluster, their prices may be averaged together and the average price may be used as individual store prices for these stores, so that the clustering algorithm automatically places these stores in the same cluster, since their prices are identical.
After the clusters are created (step 108), prices for items in the store are set by cluster so that stores within the same clusters have items with the same prices (step 112). Setting the product and price combinations by cluster is an example of providing cluster based combinations (step 1016). Preferably, the new prices may be obtained by performing a new optimization, where prices are calculated by cluster instead of by store. Such an optimization might be weighted by volume of sales for each store. The steps of
The prices for the items in store 1 are the same as the prices for store 2, since they are in the same cluster. Similarly, the prices for the items in store 3 are the same as the prices for store 4, since they are in the same cluster. In this example, the prices for the cluster are close to and in between the prices for the individual stores in the cluster derived when the optimization was done on a store-by-store basis. By providing clusters so the prices for each cluster are as close as possible to the prices for an optimization done on a store-by-store basis, the optimization by cluster is kept as close to the optimization on a store-by-store basis, which minimizes the loss of optimization opportunity.
Over time, as more sales data is collected, the new data may be added to iteratively change the clusters over time. Such iteration may limit the number of stores that can change clusters or may have a similar constraint.
In an embodiment of the invention, each store may have a plurality of product categories. Clustering may be according to product categories, so that a store may be in one cluster for one product category and in another cluster for another product category. This clustering may allow more constraints. For example, a product category with perishable items may have a constraint so that stores within a cluster are relatively close together, while a product category with non-perishable items may not have such a constraint.
In another embodiment of the invention, it may be found that for some product categories there may be more products available than what may be offered in each store. For example, there may be more than 500 different soap products, although the stores may only have room to sale 200 products. An optimization engine as described above may be used to determine the most profitable combination of products for each store. A chain of 100 stores may have a hundred product combinations. It may be desirable to provide five clusters of product combinations. This embodiment of the invention would provide clusters of stores according to product combinations (assortment zones) for an entire store or a product category.
Other embodiments may be generated according to margins or by metric or according to direction of movement.
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 use the consumer response model to create clusters. Computer readable media may be used by the computer system 900 to perform an optimization to obtain individual store prices, which are used to create clusters and then to perform an optimization for the plurality of clusters to obtain cluster prices.
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.
This application is a Continuation-in-Part to co-pending U.S. patent application Ser. No. 10/007,002 filed Nov. 30, 2001, entitled “RULE RELAXATION AND SUBSET OPTIMIZATION SYSTEM”, by Michael Neal, Krishna Venkatraman, Rob Parkin, Suzanne Valentine, Phil Delurgio, and Hau Lee, which is incorporated by reference herein for all purposes.
Number | Name | Date | Kind |
---|---|---|---|
3017610 | Auerbach et al. | Jan 1962 | A |
4744026 | Vanderbei | May 1988 | A |
4862357 | Ahlstrom et al. | Aug 1989 | A |
4907170 | Bhattacharya | Mar 1990 | A |
4916443 | Barrett et al. | Apr 1990 | A |
5063506 | Brockwell et al. | Nov 1991 | A |
5117354 | Long et al. | May 1992 | A |
5189606 | Burns et al. | Feb 1993 | 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 |
5832456 | Fox et al. | Nov 1998 | A |
5832458 | Jones | Nov 1998 | A |
5873069 | Reuhl et al. | Feb 1999 | A |
5878400 | Carter, III | Mar 1999 | A |
5902351 | Streit et al. | May 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 |
6009415 | Shurling et al. | 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 |
6219649 | Jameson | Apr 2001 | B1 |
6308162 | Ouimet et al. | Oct 2001 | B1 |
6321207 | Ye | Nov 2001 | B1 |
6341268 | Walker et al. | Jan 2002 | B2 |
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 |
6536935 | Parunak et al. | Mar 2003 | B2 |
6546387 | Triggs | Apr 2003 | B1 |
6553352 | Delurgio et al. | Apr 2003 | B2 |
6567824 | Fox | May 2003 | B2 |
6609101 | Landvater | Aug 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 | B2 |
6735572 | Landesmann | May 2004 | B2 |
6745184 | Choi et al. | Jun 2004 | B1 |
6826538 | Kalyan et al. | Nov 2004 | B1 |
6910017 | Woo et al. | Jun 2005 | B1 |
6934931 | Plumer et al. | Aug 2005 | B2 |
6965867 | Jameson | Nov 2005 | B1 |
6988076 | Ouimet | Jan 2006 | B2 |
7058617 | Hartman et al. | Jun 2006 | B1 |
7072848 | Boyd et al. | Jul 2006 | B2 |
7092896 | Delurgio et al. | Aug 2006 | B2 |
7092918 | Delurgio et al. | Aug 2006 | B1 |
7130811 | Delurgio et al. | Oct 2006 | B1 |
7240019 | Delurgio et al. | Jul 2007 | B2 |
7249031 | Close et al. | Jul 2007 | B2 |
7249032 | Close et al. | Jul 2007 | B1 |
7249033 | Close et al. | Jul 2007 | B1 |
20010014868 | Herz et al. | Aug 2001 | A1 |
20020023001 | McFarlin et al. | Feb 2002 | A1 |
20020042739 | Srinivasan et al. | Apr 2002 | A1 |
20020042755 | Kumar et al. | Apr 2002 | A1 |
20020107819 | Ouimet | Aug 2002 | A1 |
20020116348 | Phillips et al. | Aug 2002 | A1 |
20020123930 | Boyd et al. | Sep 2002 | A1 |
20020165834 | Delurgio et al. | Nov 2002 | A1 |
20020169657 | Singh et al. | Nov 2002 | A1 |
20020198794 | Williams et al. | Dec 2002 | A1 |
20030110072 | Delurgio et al. | Jun 2003 | A1 |
20030177103 | Ivanov et al. | Sep 2003 | A1 |
20040111358 | Lange et al. | Jun 2004 | A1 |
20040243432 | Kelly et al. | Dec 2004 | A1 |
20050108070 | Kelly et al. | May 2005 | A1 |
20060161504 | Walser et al. | Jul 2006 | A1 |
20060195345 | Close et al. | Aug 2006 | A1 |
20060224534 | Hartman et al. | Oct 2006 | A1 |
Number | Date | Country |
---|---|---|
WO 9746950 | Dec 1997 | WO |
WO 9853415 | Nov 1998 | WO |
WO 0070519 | Nov 2000 | WO |
WO 0070556 | Nov 2000 | WO |
Number | Date | Country | |
---|---|---|---|
Parent | 10007002 | Nov 2001 | US |
Child | 10092361 | US |