Method and System for Optimizing Store Space and Item Layout
A method in a computer system for generating an efficient item assortment associated with a plurality of items includes obtaining choice set data specifying a multiplicity of choice sets associated with the plurality of items, where each of the multiplicity of choice sets includes several of the plurality of items, at least some of which are mutually substitutable, obtaining item interaction data descriptive of substitutions between pairs of items in each of the multiplicity of choice sets, obtaining a set of benefit metrics associated with the plurality of items, obtaining a constraint parameter associated with the item assortment, and generating an item selection based at least on the item interaction data, the set of benefit metrics, and the constraint parameter, where the item selection identifies at least one of the plurality of items selected for inclusion in the item assortment.
Latest WALGREEN CO. Patents:
- Systems and methods for automatic recording of insurance card information
- Technology for processing prescription medications for pickup by individuals
- System and method for generating digital content within an augmented reality environment
- Systems and methods for facilitating enhanced device functionalities within a retail store
- Apparatuses, systems, and methods for reducing return of prescriptions to stock
1. Field of the Disclosure
This disclosure relates generally to optimizing store space and, in particular, to developing efficient assortment and merchandizing fixture layout for a plurality of items.
2. Background Description
To increase profits and improve customer experience, retailers often develop diagrams that specify where and in what quantity items should be placed on shelves, in slots of vending machine, or on a sales floor. These diagrams are known as planograms or POGs. In general, the development of a planogram includes generating a selection of items for inclusion in a planogram (known as product assortment), and determining relative placement of these items within the planogram (known as item layout). While a relatively effective planogram for two or three items may be generated manually by simply trying various combinations and relying on subjective judgment, developing a planogram for tens or hundreds of items is a highly complicated task.
Generally speaking, planogram development is difficult due to numerous factors that affect the profitability of a particular arrangement of items. For example, shelf or floor space is typically limited, items usually have different physical dimensions, shelves often vary in width and depth, the sale of different items generates different profits, etc. Moreover, retails may have numerous requirements with respect to certain items such as mandatory presence on a shelf, restrictions on how proximate certain items may be relative to other items, requirements that heavy items must be placed on lower shelves, etc. Legal restrictions on item assortment may also apply in certain situations, e.g., a restriction on sale of toy guns in California. Further, restrictions may also apply to groups or categories of items.
In addition to multiple parameters with which items may be associated, and various restrictions or rules that may apply to the items individually or collectively, selection and placement of items in a retail area may result in different aesthetic effects due to color schemes, positioning of items relative to each other, etc. Also, the quality of a shopping experience may be affected by how easily a customer can locate a desired item or a suitable substitute on a shelf, how comfortable a customer is when browsing the selection, and similar factors.
In another aspect, customers often select an item from among several similar selections. Thus, by selecting a certain item on a shelf, a customer often foregoes another one or several selections. Further, when a customer cannot find the desired item on the shelf, he or she may purchase a substitute, while another customer will not accept a substitute and will not make a purchase at all. For these reasons, developing an efficient planogram that satisfies every relevant rule, generates a high profit, and addresses customers' needs remains very complicated.
BRIEF SUMMARY OF THE DISCLOSUREA computer system receives a description of a group of items including a set of spatial, financial, and other parameters for each item. The computer system further receives item interaction data descriptive of which items compete with each other, which items are bought together (i.e., display affinity), etc. to groups some items together as choice sets. Also, the computer system receives business rules that require or invalidate certain combinations of items, mandate placement of certain items in specified quantities on the shelves, and generally specify requirements on the level of an individual item or a choice set. The computer system may also receive historical data that includes transfer probabilities, i.e., probabilities that a customer who prefers a certain item purchases a specified other item instead. Further, the computer system may receive a set of parameters of an area, such as a retail area, for example, to hold the assortment of items. In an embodiment, the parameters include spatial constraints for each sub-area (e.g., a merchandizing fixture such as a store shelf) associated with the area. Using the received data, the computer system generates an efficient assortment of items that optimizes the overall expected profit. In at least some of the embodiments, the computer system further generates a layout of the assortment.
In at least some of the embodiments, the system includes a choice set generator to obtain several choice sets, each including multiple items, at least some of which are substitutable. In an embodiment, the system also includes a choice set splitter to reduce a size of some of the larger choice set by splitting these sets according to a specified criterion. The system further includes a facing combination generator to enumerate possible facings in each choice set, and a profit calculator to calculate the amount of expected profit for each facing combination.
In some embodiments, the profit calculator implements one or several of a linear programming technique, simulation with full replacement, and simulation with partial replacement. The linear programming technique may be consistent with a greedy optimization approach. The simulation technique may involve executing multiple iterations of a simulated arrival of a group of customers, attempted selection of a preferred item by each customer, and a selection of a replacement item if the primary selection is unavailable. The selection of the replacement item may be simulated using transfer probabilities and historical sales data.
In at least some of the embodiments, the system further includes components to format profit and space-constraint metrics for each facing combination in accordance with a generic optimization problem, and to solve the problem using a suitable mathematical technique such as a knapsack problem solution. The system may further include a multiple knapsack problem to optimally break up the solution for the general area constraint into several solutions for each sub-area, e.g., shelf.
In some embodiments, the system further includes a layout optimizer to improve the layout of the generated assortment. The layout optimizer may include a first component to efficiently block (place close together) items in accordance with a set of business rules, and a second component to sort the items within each block or across blocks, if desired. The layout optimizer may further include a control to adjust the layout in view of shoppability and profitability of the items.
In one embodiment, a method in a computer system for generating an efficient item assortment associated with a plurality of items includes obtaining choice net data specifying a multiplicity of choice sets associated with the plurality of items, such that each of the multiplicity of choice sets includes several of the plurality of items, at least some of which are mutually substitutable, obtaining item interaction data descriptive of substitutions between pairs of items in each of the multiplicity of choice sets, obtaining a set of benefit metrics associated with the plurality of items, obtaining a constraint parameter associated with the item assortment, and generating an item selection based at least on the item interaction data, the set of benefit metrics, and the constraint parameter; where the item selection identifies at least one of the plurality of items selected for inclusion in the item assortment.
In another embodiment, a system for generating an efficient item assortment associated with a plurality of items includes a storage unit to store a plurality of profit metrics, such that each of the plurality of profit metrics corresponds to a respective one of the plurality of items, a choice set generator to generate choice set data specifying a multiplicity of choice sets associated with the plurality of items, where each of the multiplicity of choice sets includes several of the plurality of items, at least some of which are mutually substitutable, a demand transfer matrix generator to receive item interaction data descriptive of substitutions between pairs of items in each of the multiplicity of choice sets, and to generate a respective demand transfer matrix for each of the multiplicity of choice sets to define a set of demand transfer matrices, where each demand transfer matrix includes a respective substitutability metric for each pair of items in the corresponding choice set, and a combinatorial problem solver communicatively coupled to the storage unit, the choice set generator, and the demand transfer matrix generator to obtain a global constraint parameter and to generate an item selection based at least one on the set of demand transfer matrices, the plurality of profit metrics, and the global constraint parameter.
In another embodiment, a method in a computer system for generating an efficient item assortment associated with a plurality of items, to be disposed in a retail area having a plurality of regions, includes receiving item data that includes, for each of the plurality of items, a first metric associated with a physical parameter of the item and a second metric indicative of profitability of the item, receiving retail region data that includes a plurality of metrics, where each of the plurality of metrics is associated with the physical parameter of a respective of the plurality of regions, receiving choice set data specifying a multiplicity of choice sets, where each of the multiplicity of choice sets includes several of the plurality of items, at least some of which are mutually substitutable, receiving item interaction data that includes, for each of the multiplicity of choice sets, a metric of substitutability between items in the corresponding choice set, generating a multiplicity of lists of facing combinations, where each of the multiplicity of lists corresponds to a respective one of the multiplicity of choice sets, and where each facing combination in each of the multiplicity of lists includes one or several facings of at least one of the items in the corresponding one of the multiplicity of choice sets, calculating at least a profit metric and a physical parameter metric for each facing combination in each of the multiplicity of lists of facing combinations based on the first metric and the second metric of each item included in the facing combination and the interaction data associated with the corresponding choice set, and selecting zero or more facing combinations from each of the multiplicity of lists of facing combinations to generate a selection so as to maximize a total profit associated with the selection in view of the retail region data and the first metric of each item included in the selection.
In another embodiment, a method in a computer system for generating an efficient item assortment associated with a plurality of items includes obtaining a first plurality of parameters, where each of the first plurality of parameters includes a benefit metric of a respective one of the plurality of items, obtaining a constraint parameter associated with the item assortment, generating a plurality of facing combinations, each including one or more facings of one or more of the plurality of items, generating a second plurality of parameters using the first plurality of parameters, where each of the second plurality of parameters includes a benefit metric of a respective one of the plurality of facing combinations, applying a function of the second plurality of parameters, subject to a limitation associated with the constraint parameter, to generate an optimization result, and generating an item selection based on the optimization result. In one operational mode consistent with this embodiment, the constraint parameter is a particular value. In another operational mode, the constraint parameter is a range of values. Further, in some operational modes, applying the function includes maximizing the function to identify the maximum value for the obtained constraint parameter. In another mode, applying the function includes generating multiple values consistent with the constraint parameter, and the optimization result accordingly includes multiple values through which an item selection can be generated.
In another embodiment, a method in a computer system for generating an efficient item assortment associated with a plurality of items, to be disposed in a retail area having a plurality of regions, includes obtaining a first plurality of parameters, where each of the first plurality of parameters is associated with a respective one of the plurality of items and includes a benefit metric of the respective one of the plurality of items indicative of a financial benefit associated with a sale of one unit of the respective one of the plurality of items, and a spatial metric of the respective one of the plurality of items specifying one of length, width, or height of the respective one of the plurality of items, obtaining a plurality of spatial metrics, each of the plurality of spatial metrics corresponding to a respective one of the plurality of regions of the retail area, obtaining choice set data specifying a multiplicity of choice sets associated with the plurality of items, generating a plurality of facing combinations in accordance with the choice set data, where each of the plurality of facing combinations includes one or more facings of one or more items of a respective one of the multiplicity of choice sets, generating a second plurality of parameters using the first plurality of parameters, where each of the second plurality of parameters corresponds to a respective one of the plurality of facing combinations and includes a benefit metric of the respective one of the plurality of facing combinations indicative of an expected financial benefit associated with including the respective one of the plurality of facing combinations in the item assortment, and a spatial metric of the respective one of the plurality of facing combinations specifying one of length, width, or height of the respective one of the plurality of facing combinations, maximizing a function of the benefit metrics of the second plurality of parameters, subject to a limitation associated with the plurality of spatial metrics, to generate an optimization result, and generating an item selection based on the optimization result.
An occurrence of an item on a merchandizing fixture such as a shelf along a dimension exposed to customers may be referred to as a facing. Thus, a certain product may have two facings on a shelf, with each facing corresponding to at most five instances of the product that can fit behind each other on the shelf. This maximum number of items that can be associated with a single facing on a particular shelf may be referred to as facing capacity, and the number of times a facing is replenished within a certain time interval may be referred to as the replenishment frequency of the facing.
In the example arrangement of baby care items depicted in
Applying the assortment selection and optimization techniques discussed below, the selection and placement of items 20A-26C in the retail area 10 may be optimized so as to generate the maximum amount of profit from the sale of these items. In particular, a system such as an assortment and layout optimization system depicted in
Next, an example system that may implement the techniques for optimizing product assortment (such as those outlined above) is discussed with reference to
Referring to
The optimization system 50 may also include one or several storage units 56A-F to store data related to the items 20A-26C (as well as other items which may not be included in a planogram for the retail area 10), parameters of the retail space 10, and other relevant information. For clarity of illustration,
The item data storage unit 56A may store item data that includes a width metric for each item. To take one specific example, the items 24A-C on the shelf 14 may have the respective widths of 5, 3, and 4 inches, although any other units of measurement also could be used. It will be further noted that for non-rectangular items such as round containers, cylinders, bottles, etc., the width metric may correspond to the diameter of the item. More generally, an item may be logically associated with a geometric solid such as a right hexahedron, for example, into which the item may be inscribed, so that the storage unit 56A may specify a dimension of the solid suitable for comparison with the width of the corresponding shelf. Also, as discussed in more detail below, the dimensions of certain items can be considered to be adjustable within certain limits (e.g., a soft package that includes several rolls of paper towels can be compressed, if necessary, by one or several inches).
The item data may also specify the range of the allowable number of facings of each item 20A-26C. To continue with the example above, the item 24A may have 0, 1, or 2 facings in the retail area 10; the item 24B may have 0 or 1 facing; and the item 26C may have 2 or 3 facings. Further, the storage unit 56A may store a facing capacity of each item. For example, the items 26A, 26B, and 26C may have the respective capacities of 2, 3, and 2 (see
In addition to spatial parameters of the items 20A-26C, the item data storage unit 56A may store financial parameters of each item such as unit price (to the manufacturer or retailer), unit cost (t) consumer), gross unit profit, net unit profit, etc. In general, any financial parameter may be used for optimization, as long as the same metric is used for every item. However, in some situations an analyst may prefer to generate a planogram in which gross profit is maximized, while in other situations the analyst may prefer to maximize net profit. In yet other situations, the analyst may wish to optimize unit sales. For example, an item may be a so-called “traffic driver” that has a tendency to draw customers to other items. Thus, a user interface of the optimization system 50 preferably includes a control to allow selection of the desired financial metric.
The shelf data storage unit 56B may store parameters for each of the shelves 12, 14, and 16. Referring back to
With continued reference to
The optimization system 50 may further include an item-level business rules storage unit 56E and a choice-set-level business rule storage unit 56F to store various business rules that may affect assortment optimization and layout automation. As one example, a business rule may require that boxes and other containers be placed on a shelf in an ascending order of size relative to the left edge of the shelf, so that a 20-diaper package always be placed to the left of a 50-diaper package. As another example, a business rule may require that a poisonous item and a food item reside on separate shelves. As yet another example, a business rule may make require that at least one facing of a certain item be unconditionally present in an assortment. Analysts may apply this rule when several items have been identified as displaying strong affinity in a complementary set, i.e., when the sales of one item positively affect the sales of another item. In this case, an item with a relatively small unit profit may be included in an assortment despite its low profitability to stimulate the sales of a more expensive item. Thus, in a hypothetical store, lighter fluid may be space-efficient and have high profit margin, and a facing of bags of charcoal may be included next to the facing of lighter fluid to maximize the overall profit despite the relatively low profitability of charcoal and the large size of charcoal bags.
Further examples of business rules may include a requirement that heavy bags be placed on one of the lower shelves, that toy guns not be included in an assortment in certain geographical areas, etc. Generally speaking, business rules can specify restrictions on brands, colors, sequencing, etc., and in some embodiments may include nested conditions. Some of the business rules may apply to individual items, while others may apply to choice sets (e.g., an infant formula choice set cannot be on the same shelf as any baby medicine choice set). Item-level and choice-set-level rules accordingly may be stored separately in the storage units 56E and 56F, respectively, although it is also possible to maintain a single repository for all business rules.
During operation, users such as analysts may interact with the assortment development engine 54 and the storage units 56A-F via one or several terminals or terminal stations 58A-B. To this end, the optimization system 50 may support a user interface that allows users to specify parameters and attributes of the items 20A-26C, to specify the particulars of the retail area 10, to configure business rules, etc. In some embodiments, some of the terminals 58A-B may be remote so that a single development engine 54 may support multiple analysts.
The processing unit 52, the storage units 56A-F, and the terminal stations 58A-B may be interconnected via a network backbone 60 such as Ethernet. The optimization system 50 may further include a router 62 to communicate with hosts on a network 64 which may be the Internet, for example. In some embodiments, the storage units 56A-F receive data such as historical sales data, for example, from external hosts residing in the network 64.
The processing unit 52 may further implement a layout optimizer 66 that generates an efficient planogram layout for the product assortment generated using the development engine 54. In some embodiments, the layout optimizer 66 receives shoppability and profitability targets from a corresponding user interface supported by the terminal stations 58A-B. In particular, a user such as an analyst may select various trade-off levels between shoppability, profitability, and other factors, if desired. In response to user selection, the layout optimizer 66 may perform nested grouping of items. In some embodiments, the layout optimizer 66 may implement simulated annealing techniques to improve the layout.
As illustrated in the exploded view in
The choice set generator 70 may operate in a fully or partially automated manner to develop choice sets within the group of items 20A-26C. For example, an analyst may operate the choice set generator 70 via one of the terminals 58A or 58B to define a choice set N1 corresponding to baby powder products and including the items 20A and 20B, a choice set N2 corresponding to baby wipes and including the items 22A and 22B, a choice set N3 corresponding to diapers and including the items 24A, 24B, and 24C, and a choice set N4 corresponding to infant formula and including the items 26A, 26B, and 26C. As discussed above, the items in each of the sets N1-N4 can in principle replace each other, while items in different ones of the sets N1-N4 cannot replace each other. For example, baby wipes cannot replace baby formula or, as a less obvious example, diapers for two-year-old children cannot replace diapers for newborns.
In some embodiments, the choice set generator 70 may interact with a choice set splitter 71 to divide choice sets that exceed one or more limits into several smaller choice sets. For example, the assortment development engine 54 may impose a 10-item limit on each choice set, and the choice set splitter 71 may accordingly divide each choice set that includes more than 10 items based on function, size, brand, price, or any other criterion.
Next, a facing combination generator 72 may generate various allowable combinations of items in each choice set in response to the input from the choice set generator 70 and in view of item, shelf, and other parameters stored in the storage units 56A-F. To consider one example of an input to the facing combination generator 72, the choice set N3 considered above may be associated with the following parameters:
Thus, the item 24A may have 0, 1, or 2 facing, and each facing of the item 24A can include up to 3 units. The sale of each unit is associated with a profit metric of 9 (e.g., nine dollars). Each unit of the item 24A has a width metric of 5. The input corresponding to the sets N1, N2, and N4 may be similarly defined.
Using input data such as the data summarized in Table 1, the facing combination generator 72 may enumerate facing combinations for each of the choice sets N1-N4. In an embodiment, the facing combination generator 72 may implement a recursive technique generally known in the art.
As illustrated in
The facing combination generator 72 can easily calculate the width of each facing combination by summing the individual unit widths, multiplied by the respective number of facings, for each of the units 24A-C.
Referring back to
To better explain the operation of the modules 76 and 78,
The relationship illustrated in the diagram 120 may be expressed in a matrix form by associating each row with a preferred item and associating each column with an acceptable substitute. The resulting matrix may be referred to as a demand transfer matrix (DTM).
Using the DTM 130, and assuming unlimited supply of items a and b, a technique referred to herein as substitution arithmetic can be applied to generate further sales and loss metrics:
Sales of item a when item b is not present=12+3=15
Sales of item b when item a is not present=8+8=16
Sales of items a and b when both items a and b are present=12+8=20
Referring back to
Next,
It is noted that the sales of a decrease in the region RD due to cannibalization. In other words, the relatively high supply of item b effectively decreases the sales potential of item a. However, although the detrimental effect on sales in the region RD is due to cannibalization, cannibalization need not always be detrimental to the overall sales of items a and b (as discussed in more detail with reference to
Similarly in the matrix Mb illustrated in
Now referring to
Mti,j=Mai,j+Mbi,j. (Equation 1)
Although
Pi,j=Mai,j*Pa+Mbi,j*Pb. (Equation 2)
Meanwhile, the width of each combination of i units a and j units of b can be expressed as:
Pi,j=i*Wa+j*Wb, (Equation 3)
where Wa is the width of a single unit of item a, and Wb is the width of a single unit of item b.
In the particular case of items a and b associated with a demand transfer scheme illustrated in
However, populating tables Mi
Generally with respect to the example matrices of
To continue with the example sets 122 and 124, items a and b may be associated with the following parameters and business rules:
Using the data listed in Table 3, the matrix Mt may be partitioned into regions based on the numbers of facings as illustrated in
Table 4 lists only those numbers of facings of items a and b that do not violate the rules specified in Table 3. Further, to populate the Total Width column, the number of facings of each item are multiplied by the respective item width metric. The columns Units of A Sold and Units of B Sold may be populated by selecting the maximum possible numbers of units based on the respective regions of the matrices Ma, Mb and Mt. For example, to populate the fields in these two columns in the row associated with one facing of item a and two facings of item b, the profit calculator 76 (or an analyst operating one of the terminals 58A-B) may consider a region F1.2 of the matrix Mt illustrated in
The columns Revenue from A, Revenue from B, Gross Profit from A, Gross Profit from B, Net Profit from A, and Net Profit from A may be populated by multiplying the numbers in the columns Units of A Sold and Units of B Sold by the corresponding profit metrics specified in Table 3. Finally, the columns Units Total, Revenue Total, Gross Profit Total, and Net Profit Total may be populated by summing up the benefit metrics for all items. Thus, Table 4 specifies profit metrics for various facing combinations of the example choice set illustrated in
Referring back to
In an embodiment, or according to a configuration parameter of the assortment development engine 54, the combination remover 80 may also implement a strong dominance rule whereby a facing combination with a smaller width and larger profit is considered dominant relative to a facing combination with a larger width and lower profit. However, it will be noted that the rule of strong dominance may sometimes result in solutions that do not fill up the entire width of a shelf, i.e., solutions that are aesthetically less pleasing. Accordingly, the strong dominance rule may be enabled or disabled according to user configuration.
In some embodiments, the combination remover 80 is adapted to also remove same-valued combinations, i.e., combinations associated with the same width and the same benefit metric. The combination remover 80 may choose from among several same-valued combinations randomly or based on any suitable tie-breaker such as, for example, a closer proximity between numbers of facings to achieve a better aesthetic effect. For example, the combination {2, 2, 3} in a certain choice set may be preferable to a same-valued combination {5, 1, 1}.
In yet other embodiments, the combination remover 80 may apply item-level rules to the combinations output by the profit calculator 76. More specifically, the components 72-78 may generate all potential facing combinations and the respective profit metrics without regard to item-level rules, and all elimination of invalid combinations may then be relegated to the combination remover 80. Further, the combination remover 80 may apply choice-set-specific rules to eliminate invalid combinations of choice sets.
Upon generating several choice sets, various facing combinations for each set along with the respective metrics, and optionally reducing each set by eliminating invalid, non-optimal, and superfluous combinations, the assortment development engine 54 may retrieve retail space data from the shelf-data database 56B and provide the retrieved data along with the generated choice sets as input to the combinatorial problem solver 82 via the combinatorial problem input generator 81. In an embodiment, the combinatorial problem input generator 81 describes the choice set data and the retail space data using a format of a general combinatorial optimization problem such as a knapsack problem, for example. Moreover, because the combinatorial problem solver 82 may include several stages such as a first stage that involves selecting one facing combination from each choice set to fit within an overall space constraint, and a second stage that involves breaking up the solution into multiple shelves, the combinatorial problem input generator 81 may format the input to include additional information to support each of the stages. An example format of an input to the combinatorial problem solver 82 is discussed in more detail below.
Next,
Referring to
As a faster alternative to calculating the profit for various combinations of items in a choice set using the equation (4) and the associated techniques, the profit calculator 76 may include a combinatorial problem solver 230 illustrated in
Referring to
In general, the profit calculator 76 and, in particular, the combinatorial problem solver 230 can operate with any desired profit model to assess the profitability of a certain configuration. The profit calculator 76 can receive, as an input, a specified number of facings for each item in a set of items and output profitability of the specified combination. In at least some of the embodiments, the profit calculator 76 utilizes an LP model to calculate profitability.
An example method for generating a profit model which the LP model solver 234A or 234B may implement is discussed next with reference to
At blocks 260-266, the LP model solver 234A or 234B develops a demand transfer matrix that may be generally similar to the DTM 130. It is noted that in an embodiment, the techniques discussed with reference to blocks 262-264 are also implemented by one or both simulators 236 and 238. In another embodiment, these techniques are implemented in a separate module communicatively coupled to the LP model solver 234A or 234B as well as the simulators 236 and 238. It is further noted that if the demand transfer matrix is available (e.g., provided via a user interface), the LP model solver 234A or 234B proceeds directly to block 268. Otherwise, at block 260, the LP model solver 234A or 234B obtains supply metrics of each item in a certain choice set for a certain facing combination. Referring back to
Referring again to
Thus, when the item 24A is not available, a customer will choose the item 24B with a 30% probability, but will never choose the item 24C. Similarly, when the item 24B is not available, a customer will choose the item 24A with a 20% probability or the item 24C with a 40% probability, etc.
At block 266, the LP model solver 234A or 234B may generate a demand transfer matrix, DTMLP, which may be generally similar to the DTM 130 discussed above with reference to
to populate at least the non-diagonal elements of the matrix DTMLP, i.e., when i≠j. For example, the element of DTMLP specifying how many customers who prefer the item 24A will buy the item 24B in the absence of the item 24A may be calculated by multiplying the element in the second column of the row of Table 5 by the average sales μ of the item 24A and converting the result from percentage to units: 30*10/100=3. The diagonal elements of DTMLP may be set to the respective value of μ. Generating the remaining elements in this manner using an example set of data, DTMLP becomes:
Next, the LP model solver 234A or 234B may sort the items in the choice set according to the unit profit in a first order which may be descending, for example (block 268). At block 270, the LP model solver 234A or 234B may calculate remaining supply and demand vectors for the specified facing combination. In particular, an element of the remaining supply vector RSV may be generated according to
RSVi=MAX(Supplyi−Preferredi, 0), (Equation 6)
where Supplyi and Preferredi correspond to the number of items supplied and preferred, respectively. In other words, the LP model solver 234A or 234B first allocates units to customers according to their primary preference (see assumption (1) above). Each Preferredi value may, in turn, be associated with the smaller one of the supply of the item and the average number of sales for the item. Thus, if the average number of customers who prefer the item exceeds the current supply, some of the demand will not be satisfied (see assumption (3)). Next, an element of the remaining demand vector RDV may be generated according to
RDVi=MAX(μi−Preferredi, 0). (Equation 7)
At block 272, the LP model solver 234B may transfer demand between items in the choice set for the specified facing combination using the vectors RSV and RDV. More specifically, the LP model solver 234A or 234B iteratively steps through the list of items in the choice set sorted in the descending order of unit profit, checks if excess supply remains once customers who prefer the item have made the purchase, “pulls” the demand from another item in accordance with RSV, RDV, and the DTMLP. However, the LP model solver 234A does not apply the DTMLP and instead unconditionally applies the excess demand to items with excess supply, i.e., implements the assumption (2a) instead of (2). In either case, the resulting expected profit from the sale of the item may be expressed as
Profiti=UnitProfiti*(Preferredi+MaxTransferredi) (Equation 8)
The LP model solver 234A or 234B may apply the equation (8) at block 274.
Sorted in the descending order of unit profit, the choice set of the items 24A-C may form an ordered list (24A, 24C, and 24B). In the first run of the method of
To better illustrate the operations associated with blocks 270-274, a specific example of generating a profit model for an example facing combination {2, 0, 2}, i.e., 2 facings of the item 24A, 0 facings of the item 24B, and 2 facings of the item 24C, is discussed with reference to Table 6 below.
In this example, row 1 corresponds to the example data in Table 1 and row 2 is populated by multiplying the number of facings of each of the items 24A-C by the respective shelf capacity provided in Table 1. It will be noted that rows 5 and 6 in Table 6 indicate that the facing {2, 0,2} generates excess supply of the item 24A and excess demand of items 24B and 24C. After customers who prefer the item 24A purchase the preferred units within the respective supply limits, several units of the item 24A will remain, and customers who prefer the items 24B or 24C but cannot purchase these items may instead purchase the remaining units of the item 24A to the extent of the excess demand for the items 24B and 24C, and in accordance with transfer probabilities. Because the transfer probability from 24C to 24A is zero, and because the transfer from 24B to 24A statistically yields only 0.6 customers, the total number of units of 24A expected to be sold is 10.6, and the number of units of the items 24B and 24C remains at 0 and 10, respectively (in this case, limited by the short supply of these items).
As indicated above, the LP model solver 234A or 234B sorts the items in one of several possible orders. It will be noted that the order in which the items have been sorted in turn affects the result generated at blocks 270-274 because depending on whether excess demand for a particular item transfers to a more expensive or a less expensive options, the overall profit grows at a different rate. Thus, at block 276, the LP model solver 234A or 234B may check whether the computation in blocks 270-274 has been repeated for another ordering of the items. If the computation has occurred only once, the LP model solver 234A or 234B may sort the items in the opposite (in this case, ascending) order at block 278 and repeat the execution of blocks 270-274. At block 280, the LP model solver 234A or 234B may calculate the average of the two iterations and associated the profitability metric with the calculated average. Of course, the LP model solver 234A or 234B may similarly execute additional iterations to also apply a random order of items, for example.
Next,
In particular, the simulators 236 or 238 may receive a number of iterations of the simulation scenario at block 302. At block 304, the simulators 236 or 238 may generate an estimated demand for each item in the choice set. To this end, the simulators 236 or 238 may obtain some or all of the mean, average, standard deviation, variance, etc. from the distribution module 240 which may implement normal distribution, for example. The demand for the corresponding item may then be generated using any suitable statistical technique. The simulators 236 or 238 may then associate each generated demand with a corresponding number of customers. For example, if the demand of 20 generated for a certain item at block 304, the simulators 236 or 238 may generate 20 customers at block 306 (by incrementing a total customer counter by 20, by allocating memory for 20 customers, or in any other suitable manner). Upon generating a simulated set of customers, each associated with a certain preference for one of the items in the choice set, the simulators 236 or 238 may randomly shuffle the customers at block 308 and begin to simulate an arrival of the customers to a store in which the choice set is being displayed. Referring back to
As indicated above, the optimization system 50 may store or derive average, standard deviation, and other metrics related to sales statistics for each item. To continue with the example set of items 24A-C, the corresponding historical sales data may include the following parameters:
Thus, the item 24A for example sells at least 3 units and at most 15 units, and 10 on average. Assuming normal distribution N(μi,σi2), the standard deviation σi can be expressed as
Accordingly, the distribution of the items 24A-C corresponds to the following parameters:
Referring back to
Referring again to
More specifically, the full replacement simulator 236 may implement the assumption that the a customer will always purchase a replacement item if the preferred item is not available. A weighed random selector (a “roulette”) may define a plurality of weighed choices, each of which may be regarded as a region on a roulette wheel. The size of each region may be proportional to the probability of replacement of the preferred item by the item associated with the region. Because one of the regions must be selected, the full replacement simulator 236 always selects a replacement item (as long as supplies last). By contrast, the partial replacement simulator 238 may include empty windows which, when selected, correspond to the event that the customer does not make any purchase at all. Thus, a 40% probability of replacing item a with item b may be simulated by a window of size 4 associated with item b and an empty window of size 6.
At block 318, the simulator 236 or 238 may check whether more customer selections must be simulated during the given run and return to block 310 if the customer list has not yet been exhausted. If, however, the entire group of customers has been processed, the simulator 216 or 238 may proceed to calculating the profit for the executed scenario at block 320. Similar to the corresponding block of the LP technique discussed above, the profit may be calculated by summing up the selected units for each item and multiplying the resulting number of the unit profit metric.
At block 322, the simulator 236 or 238 may decide to repeat the execution of at least some of the blocks 308-320 if the number of iterations specified at block 302 has not yet been performed. Otherwise, the average for the multiple iterations is calculated at block 324.
Next, Table 9 illustrates the results generated by the combinatorial problem solver 230 in several modes of operation and for various facings of the items 24A-C. In particular, column profitminLP lists the results generated by the LP model solver 234A, implementing the more optimistic assumption (2a) and using the list of items sorted in an ascending order of unit profit; column profitmaxLP lists the results generated by the LP model solver 234A, implementing the same assumption (2a) and using the list of items sorted in a descending order of unit profit; and column profitavgLP lists the corresponding averages. Further, column profitSF lists the results of simulation generated by the full replacement simulator 236, and column profitSP lists the results of simulation generated by the partial replacement simulator 238.
As indicated above, the combinatorial problem input generator 81 format the data generated by the profit calculator 76 so as make the data consistent with a mathematical problem. For example, the combinatorial problem input generator 81 may generate a list of facing combinations for the set of items 24A-C using an LP technique such as those discussed above, each element in the list specifying the width and the profit of the facing combination: ListN1={(Width1=8, Profit1=80), (Width2=11, Profit2=115), . . . } The combinatorial problem input generator 81 may generate similar lists for every choice set to ultimately generate a set of lists {ListN1, ListN1, . . . } so that the combinatorial problem solver 82 may produce an optimal assortment by selecting one facing combination from each choice set in view of the spatial constraints (and possibly business rules) associated with the retail space.
Now referring to
In an embodiment, the combinatorial problem solver 82 can operate in a fixed-constraint mode or a variable-constraint mode in accordance with a signal received via a run mode selection input. In the fixed-constraint mode, the combinatorial problem solver 230 generates an optimal solution consistent with a certain fixed constraint. In the variable-constraint mode of operation, the combinatorial problem solver 82 provides multiple solutions within a certain range or, in some cases, with no range restriction. As discussed below with reference to
As one example of an approach to solving the knapsack problem which the multiple-choice knapsack solver 352 may implement when operating in the fixed-constraint mode,
Generally speaking, the multiple-choice knapsack solver 352 may solve the knapsack problem by iteratively generating all possible combinations of elements in the list supplied by the module 81, testing each combination against the constraints, and selecting the one or several combinations associated with the maximum profit. Alternatively, the multiple-choice knapsack solver 352 may implement a more efficient general mathematical solution.
Referring to
In at least some of the embodiments, the multiple-choice knapsack solver 352 generates a solution for a problem in which each facing item effectively defines a single element. For example, a facing combination having 2 facings of the item 24A, 1 facing of the item 24B, and 2 facing of the item 24C corresponds to a single element of width 21 and profit 199 according to one of the LP models. When generating shelf-specific solutions, the shelf splitter 355 may retrieve the association between each facing and the corresponding items at block 412. In an embodiment, the knapsack problem solver 350 may maintain a record of the following format to facilitate the operation of the shelf splitter 355:
class_id=2, item_id=15, item_desc=“203”, profit=30, weight=24
In this example format, class_id identifies the choice set N2, and item_id identifies a facing combination to which identity 15 has been assigned, and that includes 2 facings of item 1 from the choice set N2, 0 facings of item 2 from the choice set N2, and 3 facings of item 3 from the choice set N2. The field class_id may be used to associate the facing combination that has several facings of several items with a single element when solving a knapsack problem. The profit of this facing combination is 30, and the total combined width of the 5 facings is 24. It will be noted that the width of the items in the choice set N2, or of the facing, can be generalized to “weight” for the purposes of solving a problem in combinatorics. Thus, knapsack problem solver 350 may be similarly utilized in systems that group items according to other criteria such as physical weight, for example.
With continued reference to
Referring again to
From the foregoing, it will be appreciated that the assortment development engine 54 may efficiently generate profit metrics for various facing combinations, select an optimal or near-optimal assortment that will maximize the profit derived from the sale of the items, and fit the selected assortment in the general space constraint as well as within each of multiple space constraints such as widths of individual shelves, for example. Referring back to
In operation, the layout optimizer 66 may apply business rules such as placing all facings of a certain item next to each other without breaking up the facings across multiple shelves, placing a generic product next to a brand-name product during promotions to effectively promote the generic product, maintaining a certain color scheme on a shelf, keeping same-brand items next to each other on a shelf, sequencing of items according to size (e.g., a 20-count pack before a 40-count pack), keeping high-profit items at the eye-level, etc. In some embodiments, the rules may be nested and/or hierarchical.
Generally speaking, the layout optimizer 66 may utilize any suitable optimization technique, including those known in the art. In some embodiments, the layout optimizer 66 applies simulated annealing to determine efficient grouping for the items included in an assortment, referred to herein as blocking. As is known, simulated annealing is a methodology that allows optimization to avoid being “trapped” at local minimums or maximums of a function. To this end, simulated annealing imitates the naturally occurring process of cooling a metal and, in particular, the “wandering” of atoms through energy states.
To apply simulated annealing, the layout optimizer 66 may group items according to various attributes, associate groups of items with an imaginary flexible space constraint (e.g., a rubber band) which may be two-dimensional in the examples discussed below. In other embodiments, however, the flexible space constraint may be three-dimensional or, conversely, one-dimensional in some simpler cases. The extent to which the flexible space constraint must be stretched to accommodate several items is indicative of the quality of grouping, with smaller degree of stretching being associated with better grouping of items. By way of example,
In the example arrangement of
In another aspect, items within a particular group may be presented to a consumer in an ascending order, a descending order, or in any other manner a customer would find intuitively correct and comfortable. Referring to
In yet another aspect, analysts may sometimes address two competing interests in developing a planogram: shoppability and profitability. For example, the principles of shoppability may dictate that a certain profitable item must be at customers' eye level to maximize purchases. On the other hand, the item may be blocked together with several other items which must be transferred to the eye level along with the item. Moreover, some shoppability factors are not quantifiable and require aesthetic or artistic judgment of an analyst.
One example of an optimizer that may be used by the layout optimizer 66 to facilitate the balancing between shoppability and profitability, as well as implement blocking and sequencing discussed above, is illustrated in
In view of the discussion of
Additionally,
At blocks 558-564, the optimization system 50 may receive a set of constraints such as number of allowable facings for each item, business rules such as those that specify whether a certain item is mandatory or optional, spatial and operational parameters for each item such as facing capacity and replenishment frequency, and other spatial and financial parameters, as well as aesthetic criteria expressed as business rules.
The optimization system 50 may then generate facing combinations for each choice set (block 566), determine a space requirement and a corresponding benefit metric for each combination (block 568) using one or several of suitable linear programming or simulation techniques. Next, dominated and/or same-valued combinations may be removed at block 570, and additional business rules may be applied at block 574 to detect invalid choice set combinations, for example. However, in other embodiments choice-set-level business rules may be applied at an earlier stage. At block 574, the optimization system 50 may define the total space available in the retail area. In the example illustrated in
The optimization system 50 may then format the generated data so as to make the data compatible with a generic optimization problem. In one embodiment, the optimization system 50 generates a first data file that list every facing combination along with a corresponding metric (e.g., width, profit, etc.) as a single element, and generates a second data file that retains the associated between every facing combination and the facings of items included in the facing combination. The problem may then be solved mathematically or programmatically in an exact or approximate mariner. For example, the first data file may define an input to a knapsack problem, and the output of the knapsack problem may be further split into several smaller areas using a suitable technique for solving a multiple knapsack problem (blocks 576-578).
Next, several additional techniques, which the assortment development engine 54 implements in some embodiments, are discussed with reference to
By contrast,
To generate the graph 620 using the data listed in Table 10, the assortment development engine 54 applies a rule that forbids gaps on an occupied merchandizing fixture. Thus, for a shelf of width 5, point 622 must be selected even though point 624, associated with a smaller width 4, corresponds to a higher profit. If, on the other hand, the knapsack problem solver 350 applies a rule that allows gaps on an occupied merchandizing fixture, the point 622 is not used in the generated solution, i.e., a graph 630 illustrated in
In general,
In an embodiment, the assortment development engine 54 further supports a near-optimal mode of operation, in which an analyst or a pre-defined rule can specify a range within which a near-optimal solution can be located. Referring to
Now referring to graph 660 illustrated in
In general, the region of near-optimality can be defined by a vertical dimension (i.e., a profit margin), a horizontal dimension (i.e., a gap or overfill/compression margin), or both. Thus, the region of near optimality can be defined by specifying how far, in dollars or other currency, an acceptable solution can be to the initial solution for the given combined width (in this example, the point 670). In visual terms, this approach corresponds to configuring the box 662 with a finite, rigid height and an elastic width. In other situations, the region of near optimality can be defined by the largest tolerable gap or the largest tolerable compression, and accordingly correspond to configuring the box 662 with a finite width and an elastic height.
It is noted that the assortment development engine 54 need not generate a graphical representation of the data illustrated in
Next,
While the present system and methods have been described with reference to specific examples, which are intended to be illustrative only and not to be limiting of the invention, it will be apparent to those of ordinary skill in the art that changes, additions and/or deletions may be made to the disclosed embodiments without departing from the spirit and scope of the invention.
Claims
1. A method in a computer system for generating an efficient item assortment associated with a plurality of items, the method comprising:
- obtaining choice set data specifying a multiplicity of choice sets associated with the plurality of items, wherein each of the multiplicity of choice sets includes several of the plurality of items, at least some of which are mutually substitutable;
- obtaining item interaction data descriptive of substitutions between pairs of items in each of the multiplicity of choice sets;
- obtaining a set of benefit metrics associated with the plurality of items;
- obtaining a constraint parameter associated with the item assortment; and
- generating an item selection based at least on the item interaction data, the set of benefit metrics, and the constraint parameter; wherein the item selection identifies at least one of the plurality of items selected for inclusion in the item assortment.
2. The method of claim 1, wherein the item interaction data is indicative of a probability of transferring customer demand between items in each of the multiplicity of choice sets.
3. The method of claim 1, wherein obtaining the constraint parameter includes obtaining a spatial metric indicative of a spatial limitation of a retail area in which the item assortment is to be physically disposed.
4. The method of claim 3, wherein the retail area includes a plurality of merchandizing fixtures, each associated with a respective fixture width; and wherein the spatial limitation is a sum of the fixture widths.
5. The method of claim 3, further comprising:
- obtaining a plurality of spatial metrics, each of the plurality of spatial metrics associated with a respective one of the plurality of items; and wherein
- generating the item assortment includes comparing the plurality of spatial metrics to the constraint parameter.
6. The method of claim 1, further comprising:
- obtaining a plurality of facing capacity parameters, wherein each of the plurality of facing capacity parameters specifies a respective number of units associated with a single facing of a respective one of the plurality of items; wherein
- generating the item selection is further based on the plurality of facing capacity parameters.
7. The method of claim 1, further comprising receiving a plurality of facing ranges, wherein each in the multiplicity of facing ranges specifies a minimum number of facings and a maximum number of facings for a respective one in the plurality of items; wherein generating the item selection further includes calculating a number of facings for each selected item in accordance with the plurality of facing ranges.
8. The method of claim 7, further comprising generating a planogram associated with the item assortment, including generating a layout of the selected ones of the plurality of items in accordance with the respective numbers of facings and a set of layout rules.
9. The method of claim 1, the method further comprising:
- generating a multiplicity of lists of facing combinations, wherein each of the multiplicity of lists corresponds to a respective one of the multiplicity of choice sets, and wherein each facing combination in each of the multiplicity of lists includes one or several facings of at least one of the items in the corresponding one of the multiplicity of choice sets; and wherein
- the set of benefit metrics is a first set of benefit metrics, each in the first set of benefit metrics being associated with a respective one of the plurality of items; the method further comprising: generating a respective benefit metric for each facing combination in each of the multiplicity of lists of facing combinations based on the first set of benefit metrics and the item interaction data to define a second set of benefit metrics.
10. The method of claim 9, wherein generating each benefit metric in the second set of benefit metrics includes applying a linear programming technique, comprising:
- projecting excess demand for each item in the corresponding one of the multiplicity of choice sets;
- projecting excess supply for each item in the corresponding one of the multiplicity of choice sets;
- sorting the corresponding one of the multiplicity of choice sets according o respective benefit metrics in the first set of benefit metrics to generate a sorted list; and
- transferring the excess demand between items in the corresponding one of the multiplicity of choice sets according to at least the sorted list and the excess supply.
11. The method of claim 9, wherein generating each benefit metric in the second set of benefit metrics includes generating a full replacement simulation model, comprising:
- obtaining historical sales data associated with the plurality of items;
- simulating a sequential arrival of a plurality of customers, including associating each of the plurality of customers with a preferred item in the corresponding one of the multiplicity of choice sets based on the historical sales data; and
- simulating a selection made by each customer, including: associating the selection with the corresponding preferred item if the preferred item is available; and associating the selection with another item in the corresponding one of the multiplicity of choice sets if the preferred item is not available and if the other item is available, wherein a probability of choosing an item in the corresponding one of the multiplicity of choice sets is related to the item interaction data.
12. The method of claim 9, wherein generating each benefit metric in the second set of benefit metrics includes generating a partial replacement simulation model, comprising:
- obtaining historical sales data associated with the plurality of items;
- simulating a sequential arrival of a plurality of customers, including associating each of the plurality of customers with a preferred item in the corresponding one of the multiplicity of choice sets based on the historical sales data; and
- simulating a selection made by each customer, including: associating the selection with the corresponding preferred item if the preferred item is available; and, if the preferred item is not available, further including one of: associating the selection with another item in the corresponding one of the multiplicity of choice sets according to a probability derived from the item interaction data; or not associating the selection with any of the items in the corresponding one of the multiplicity of choice sets according to the probability derived from the item interaction data.
13. The method of claim 9, further comprising:
- obtaining a plurality of spatial metrics, wherein each of the plurality of spatial metrics corresponds to a respective one of the plurality of items; and wherein
- generating the item selection includes selecting at most one facing combination from each one of the multiplicity of lists of facing combinations based on the second set of benefit metrics, the plurality of spatial metrics, and the constraint parameter associated with the item assortment.
14. The method of claim 13, wherein selecting at most one facing combination from each one of the multiplicity of lists of facing combinations includes solving a multiple choice knapsack problem.
15. The method of claim 1, further comprising receiving one or more business rules associated with the plurality of items, wherein
- generating the item selection includes applying the one or more business rules.
16. The method of claim 15, wherein the one or more business rules includes an item-specific business rule specifying at least one of: mandatory inclusion of a specified one in the plurality of items in the item selection, a minimum number of facings of the specified one in the plurality of items in the item selection, or a maximum number of facings of the specified one in the plurality of items in the item selection.
17. A system for generating an efficient item assortment associated with a plurality of items, comprising:
- a storage unit to store a plurality of profit metrics, wherein each of the plurality of profit metrics corresponds to a respective one of the plurality of items;
- a choice set generator to generate choice set data specifying a multiplicity of choice sets associated with the plurality of items, wherein each of the multiplicity of choice sets includes several of the plurality of items, at least some of which are mutually substitutable;
- a demand transfer matrix generator to receive item interaction data descriptive of substitutions between pairs of items in each of the multiplicity of choice sets, and to generate a respective demand transfer matrix for each of the multiplicity of choice sets to define a set of demand transfer matrices, wherein each demand transfer matrix includes a respective substitutability metric for each pair of items in the corresponding choice set; and
- a combinatorial problem solver communicatively coupled to the storage unit, the choice set generator, and the demand transfer matrix generator to obtain a global constraint parameter and to generate an item selection based on at least one of the set of demand transfer matrices, the plurality of profit metrics, and the global constraint parameter.
18. The system of claim 17, further comprising a choice set splitter to receive a selection of one of the multiplicity of choice sets and a split criterion, and to split the selected one of the multiplicity of choice sets into several choice sets according to the split criterion.
19. The system of claim 17, wherein the storage unit further stores:
- a plurality of facing range parameters, wherein each of the plurality of facing range parameters corresponds to a respective one of the plurality of items; wherein each facing range parameter specifies a minimum number of facings and a maximum number of facings for a respective one in the plurality of items; the system further comprising:
- a facing combination generator to generate a list of facing combinations for a respective one of the multiplicity of choice lists in accordance with the plurality of facing range parameters, wherein each facing combination includes one or several facings of at least one of the items in the corresponding one of the multiplicity of choice sets; and
- a profit calculator to generate a respective profit metric for each facing combination in the list of facing combinations using the corresponding demand transfer matrix, the plurality of facing range parameters, and a subset of the plurality of profit metrics, to define a set of profit metrics.
20. The system of claim 19, wherein the profit calculator includes a linear programming model solver to apply a linear programming technique.
21. The system of claim 19, wherein the profit calculator includes a simulator with full replacement to simulate a plurality of sequential purchases by a respective plurality of customers.
22. The system of claim 19, further comprising:
- a downscaling module to receive a number of facings limit, to compare a specified one of the plurality of facing range parameters to the number of facings limit, and to generate a reduced set of numbers of facings based on the specified one of the plurality of facing range parameters.
23. The system of claim 17, wherein the storage unit is a first storage unit;
- wherein the global constraint parameter specifies a spatial constraint of a retail area in which the item assortment is to be disposed; and wherein the retail area is associated with a plurality of regions;
- the system further comprising:
- a second storage unit to store a plurality of spatial metrics, wherein each of the plurality of spatial metrics corresponds to a respective one of the plurality of regions.
24. The system of claim 23, wherein the combinatorial problem solver includes:
- a multiple-choice knapsack problem solver to select at most one facing combination for each of the multiplicity of choice sets to define a global solution, and to generate a respective spatial metric for each selected facing combination;
- a fixture splitter to split the global solution into a plurality of solutions, each of the plurality of solutions corresponding to a respective one of the plurality of regions; and
- a multiple knapsack problem to optimize the plurality of solutions.
25. A method in a computer system for generating an efficient item assortment associated with a plurality of items, to be disposed in a retail area having a plurality of regions, the method comprising:
- receiving item data that includes, for each of the plurality of items: a first metric associated with a physical parameter of the item; and a second metric indicative of profitability of the item;
- receiving retail region data that includes a plurality of metrics, wherein each of the plurality of metrics is associated with the physical parameter of a respective one of the plurality of regions;
- receiving choice set data specifying a multiplicity of choice sets, wherein each of the multiplicity of choice sets includes several of the plurality of items, at least some of which are mutually substitutable;
- receiving item interaction data that includes, for each of the multiplicity of choice sets, a metric of substitutability between items in the corresponding choice set;
- generating a multiplicity of lists of facing combinations, wherein each of the multiplicity of lists corresponds to a respective one of the multiplicity of choice sets, and wherein each facing combination in each of the multiplicity of lists includes one or several facings of at least one of the items in the corresponding one of the multiplicity of choice sets;
- calculating at least a profit metric and a physical parameter metric for each facing combination in each of the multiplicity of lists of facing combinations based on the first metric and the second metric of each item included in the facing combination and the interaction data associated with the corresponding choice set; and
- selecting zero or more facing combinations from each of the multiplicity of lists of facing combinations to generate a selection so as to maximize a total profit associated with the selection in view of the retail region data and the first metric of each item included in the selection.
26. The method of claim 25, wherein the item data further includes, for each of the plurality of items, a third metric indicative of a facing capacity of the item, wherein the facing capacity specifies a number of units associated with a single facing of the item; and wherein
- calculating the profit metric for each facing combination in each of the multiplicity of lists of facing combinations is further based on the third metric of each item included in the facing combination.
27. The method of claim 25, wherein the physical parameter is a width, and wherein the plurality of regions corresponds to a plurality of merchandizing fixtures of the retail area.
28. The method of claim 25, further comprising:
- splitting the selection into a plurality of selection portions, wherein each of the plurality of selection portions is to be disposed in a respective one of the plurality of regions.
29. The method of claim 25, further comprising:
- identifying dominated facing combinations in each of the multiplicity of lists of facing combinations, wherein each dominated facing combination corresponds to a respective dominant facing combination so that the dominated facing combination and the respective dominant facing combination have the same physical parameter metric and different profit metrics;
- removing dominated facing combinations prior to selecting zero or more facing combinations from each of the multiplicity of lists.
30. A method in a computer system for generating an efficient item assortment for a plurality of items, the method comprising:
- obtaining a first plurality of parameters, wherein each of the first plurality of parameters includes a benefit metric of a respective one of the plurality of items;
- obtaining a constraint parameter associated with the item assortment;
- generating a plurality of facing combinations, each including one or more facings of one or more of the plurality of items;
- generating a second plurality of parameters using the first plurality of parameters, wherein each of the second plurality of parameters includes a benefit metric of a respective one of the plurality of facing combinations;
- maximizing a function of the second plurality of parameters, subject to a limitation associated with the constraint parameter, to generate an optimization result; and generating an item selection based on the optimization result.
31. The method of claim 30, wherein each of the first plurality of parameters further includes a physical parameter metric of the respective one of the plurality of items; wherein
- each of the second plurality of parameters further includes a physical parameter metric of the respective one of the plurality of facing combinations.
32. The method of claim 30, wherein the plurality of items define a multiplicity of choice sets, wherein at least some of the items in each of the multiplicity of choice sets are mutually substitutable; and wherein
- generating the plurality of facing combinations including generating a respective list of facing combinations for each of the multiplicity of choice sets.
33. The method of claim 32, wherein maximizing the function of the second plurality of parameters includes selecting exactly one facing combination from each list of facing combinations.
34. The method of claim 32, further comprising:
- obtaining item interaction data indicative of probabilities of substitutions between pairs of items in each of the multiplicity of choice sets; and wherein
- generating the second plurality of parameters using the first plurality of parameters includes applying the item interaction data.
35. The method of claim 30, wherein obtaining the constraint parameter includes:
- receiving a plurality of spatial metrics corresponding to a respective plurality of regions of a retail area; and
- calculating a sum of the plurality of spatial metrics to generating a total spatial limitation; and wherein
- maximizing the function of he second plurality of parameters includes maximizing the function subject to the total spatial limitation.
36. The method of claim 35, wherein generating the item selection includes generating a plurality of sub-selections, each of the plurality of sub-selections corresponding to a respective one of the plurality of regions of the retail area, including:
- solving a multiple knapsack problem using the optimization result, the first plurality of parameters, and the plurality of spatial metrics.
37. The method of claim 30, wherein generating the second plurality of parameters includes formatting the second plurality of parameters to comply with an input to a multiple-choice knapsack problem.
38. The method of claim 30, wherein generating the second plurality of parameters includes applying at least one of a linear programming technique or a simulation technique.
39. A method in a computer system for generating an efficient item assortment associated with a plurality of items, to be disposed in a retail area having a plurality of regions, the method comprising:
- obtaining a first plurality of parameters, wherein each of the first plurality of parameters is associated with a respective one of the plurality of items and includes: a benefit metric of the respective one of the plurality of items indicative of a financial benefit associated with a sale of one unit of the respective one of the plurality of items; and a spatial metric of the respective one of the plurality of items specifying one of length, width, or height of the respective one of the plurality of items;
- obtaining a plurality of spatial metrics, each of the plurality of spatial metrics corresponding to a respective one of the plurality of regions of the retail area;
- obtaining choice set data specifying a multiplicity of choice sets associated with the plurality of items;
- generating a plurality of facing combinations in accordance with the choice set data, wherein each of the plurality of facing combinations includes one or more facings of one or more items of a respective one of the multiplicity of choice sets;
- generating a second plurality of parameters using the first plurality of parameters, wherein each of the second plurality of parameters corresponds to a respective one of the plurality of facing combinations and includes: a benefit metric of the respective one of the plurality of facing combinations indicative of an expected financial benefit associated with including the respective one of the plurality of facing combinations in the item assortment; and a spatial metric of the respective one of the plurality of facing combinations specifying one of length, width, or height of the respective one of the plurality of facing combinations;
- maximizing a function of the benefit metrics of the second plurality of parameters, subject to a limitation associated with the plurality of spatial metrics, to generate an optimization result; and generating an item selection based on the optimization result.
40. A method in a computer system for generating an efficient item assortment associated with a plurality of items, to be disposed in a retail area having a plurality of regions, the method comprising:
- obtaining profitability data that includes a plurality of tuples, each of the plurality of tuples corresponding to a spatial metric of a particular combination of items and a profitability metric associated with the particular combination of items, wherein the profitability data is stored on a computer-readable medium;
- using a first constraint parameter to automatically select a first tuple in the plurality of tuples to define an initial solution;
- automatically applying at least one business rule to the initial solution; and
- if the at least one business rule is not satisfied: obtaining a near-optimality parameter; automatically selecting a subset of the plurality of tuples to define a region limited by the near-optimality parameter; and automatically selecting a second tuple in the subset of the plurality of tuples to define a near-optimal solution.
41. The method of claim 40, wherein the near-optimal solution is associated with the highest profitability metric in the selected subset.
42. The method of claim 40, wherein the near-optimality parameter is associated with the profitability metric.
43. The method of claim 42, wherein the near-optimality parameter is a first near-optimality parameter; the method further comprising:
- obtaining a second near-optimality parameter associated with the spatial metric; wherein
- the region is limited by the first near-optimality parameter and the second near-optimality parameter.
44. The method of claim 40, further comprising:
- applying the at least one business rule to the near-optimal solution; and
- if the at least one business rule is not satisfied: reducing the subset of the plurality of tuples to define a smaller region; and selecting a third tuple in the reduced subset of the plurality of tuples to define an updated near-optimal solution.
Type: Application
Filed: May 4, 2010
Publication Date: Nov 10, 2011
Applicant: WALGREEN CO. (Deerfield, IL)
Inventors: John Bergstrom (Palatine, IL), David Pisinger (Frederiksberg)
Application Number: 12/773,617
International Classification: G06Q 10/00 (20060101); G06Q 30/00 (20060101);