U.S. patent application number 12/773617 was filed with the patent office on 2011-11-10 for method and system for optimizing store space and item layout.
This patent application is currently assigned to WALGREEN CO.. Invention is credited to John Bergstrom, David Pisinger.
Application Number | 20110276364 12/773617 |
Document ID | / |
Family ID | 44902529 |
Filed Date | 2011-11-10 |
United States Patent
Application |
20110276364 |
Kind Code |
A1 |
Bergstrom; John ; et
al. |
November 10, 2011 |
Method and System for Optimizing Store Space and Item Layout
Abstract
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.
Inventors: |
Bergstrom; John; (Palatine,
IL) ; Pisinger; David; (Frederiksberg, DK) |
Assignee: |
WALGREEN CO.
Deerfield
IL
|
Family ID: |
44902529 |
Appl. No.: |
12/773617 |
Filed: |
May 4, 2010 |
Current U.S.
Class: |
705/7.29 |
Current CPC
Class: |
G06Q 30/0201 20130101;
G06Q 10/087 20130101; G06Q 10/04 20130101 |
Class at
Publication: |
705/7.29 |
International
Class: |
G06Q 10/00 20060101
G06Q010/00; G06Q 30/00 20060101 G06Q030/00 |
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.
Description
FIELD AND BACKGROUND OF THE DISCLOSURE
[0001] 1. Field of the Disclosure
[0002] This disclosure relates generally to optimizing store space
and, in particular, to developing efficient assortment and
merchandizing fixture layout for a plurality of items.
[0003] 2. Background Description
[0004] 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.
[0005] 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.
[0006] 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.
[0007] 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 DISCLOSURE
[0008] A 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.
[0009] 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.
[0010] 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.
[0011] 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.
[0012] 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.
[0013] 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.
[0014] 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.
[0015] 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.
[0016] 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.
[0017] 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] FIG. 1 illustrates an example arrangement of several items
in a retail area that includes several shelves.
[0019] FIG. 2 is a block diagram of an example system that
implements the techniques for assortment optimization of the
present disclosure.
[0020] FIG. 3 is a block diagram that illustrates an example group
of facing combinations generated for a certain choice set.
[0021] FIG. 4 is schematic illustration of interaction between two
items associated with a certain degree of substitutability.
[0022] FIG. 5A is a matrix that specifies projected sales of a
first item for various numbers of supplied units of the first item
and the second item.
[0023] FIG. 5B is a matrix that specifies projected sales of the
second item for various numbers of supplied units of the first item
and the second item used in generating the matrix illustrated in
FIG. 5A.
[0024] FIG. 5C is a matrix that specifies projected combined sales
of the items used in generating the matrices of FIGS. 5A and
5B.
[0025] FIG. 5D is the matrix of 5C divided into several regions in
accordance with respective facing capacities of the first and the
second items.
[0026] FIG. 6A is a block diagram of an example downscaling module
which may be used in the system illustrated in FIG. 2.
[0027] FIG. 6B schematically illustrates an example range of
facings downscaled by the module illustrated in FIG. 6A.
[0028] FIG. 7 is a block diagram of an example profit model
generator which may be used in the system illustrated in FIG.
2.
[0029] FIG. 8 is a flow diagram of an example method which the
combinatorial problem solver illustrated in FIG. 7 may implement to
generate a profitability model using a linear programming
technique.
[0030] FIG. 9 is a flow diagram of an example method which the
combinatorial problem solver illustrated in FIG. 7 may implement to
generate a profitability model using a simulation technique.
[0031] FIG. 10 is a block diagram of an example knapsack problem
solver which may be utilized by the combinatorial problem solver
illustrated in FIG. 2.
[0032] FIG. 11 is an example histogram of data which the system
illustrated in FIG. 2 may generate when seeking an optimal
assortment.
[0033] FIG. 12 is a flow diagram of an example method which the
knapsack problem solver illustrated in FIG. 10 may implement to
split a total-space solution into several shelves.
[0034] FIG. 13 is a block diagram that illustrates an example
division of a solution to a space-constrained combinatorial problem
into several regions such as shelves.
[0035] FIG. 14A is a block diagram that schematically illustrates
an example random layout of several items.
[0036] FIG. 14B is a block diagram of a layout of the items of FIG.
14A which has been generated using the techniques described
herein.
[0037] FIG. 14C is a block diagram that schematically illustrates
sorting of several items within a block.
[0038] FIG. 15 is a block diagram of an example optimizer which may
be utilized by the layout optimizer solver illustrated in FIG.
2.
[0039] FIG. 16 is a flow diagram of an example method for
generating an efficient assortment of items.
[0040] FIG. 17 is another flow diagram of an example method for
generating an efficient assortment of items.
[0041] FIG. 18 is a graph that illustrates, for an example pair of
items, the relationship between the net profit associated with the
sale of the items and the total width occupied by the items.
[0042] FIG. 19A is a graph that illustrates, for another pair of
example items, the relationship between the net profit associated
with the sale of the items and the total width occupied by the
items, if a rule that forbids gaps on an occupied merchandizing
fixture is applied.
[0043] FIG. 19B is a graph that illustrates, for the pair of items
of FIG. 19A, the relationship between the net profit associated
with the sale of the items and the total width occupied by the
items, if a rule that allows gaps on an occupied merchandizing
fixture is applied
[0044] FIG. 20A is a graph that illustrates, for another group of
items, the relationship between the net profit associated with the
sale of the items and the total width occupied by the items.
[0045] FIG. 20B illustrates selection of a region of
near-optimality for an enlarged section of the graph illustrated in
FIG. 20A.
[0046] FIG. 21 is a flow diagram of an example method for
generating a near-optimal solution.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0047] FIG. 1 illustrates a certain arrangement of items on a
longer shelf 12 and two shorter shelves 14 and 16 in a retail area
10. In general, the retail area 10 may include any number of
merchandizing fixtures (e.g., shelves, racks, gridwall panels) of
the same or different width, and the items may be any types of
products packaged in any desired manner. By way of example,
however. FIG. 1 depicts several baby care items packaged in
rectangular boxes or round (tubular) containers. In particular,
several small containers 20A and several large containers 20B may
contain baby powder, boxes 22A and 22B may contain two respective
brands of baby wipes, boxes 24A-C may contain diapers for different
ages of one or several brands, and cartons 26A-C may contain infant
formula from several manufacturers. The containers 20A-B and boxes
22A-B are placed on the upper shelf 12 in this example
configuration, boxes 24A-C are on the second shelf 14, and the
26A-C are on the bottom shelf 16. The upper shelf 12 has the width
L.sub.1 greater than the width L.sub.2 of the shelves 14 and 16,
and each of the shelves 12-16 has the same depth D.
[0048] 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.
[0049] In the example arrangement of baby care items depicted in
FIG. 1, the retail area 10 includes four facings of small
containers 20A, three facings of the cartons 26C, two facings of
each of the large containers 20B, the boxes 24A and 24C, and
cartons 26B, and one facing of each of the boxes 22B and 24B, and
cartons 26A. As illustrated in FIG. 1, each facing of the item
20A-26C is associated with a respective number of units of the item
that can fit on one of the shelves 12-16 in a single column,
defining the corresponding facing capacity of the item for the
shelf depth D. Thus, the large containers 20B have the facing
capacity of 2, and the boxes 24A, 24B, and 24C on the middle shelf
14 have respective facing capacities of 8, 7, and 5, for
example.
[0050] 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 FIG. 3 may develop several choice sets as sets
of items within the group of items 20A-26C in which member items
may serve as alternatives to other items in the set. The system may
then determine and quantify interactions among the items in each
choice set to develop a demand model. Using the demand model, and
in view of various item attributes, the system may further develop
a profit model to generate metrics of profitability for various
combinations of facings. In particular, the system may consider
spatial dimensions (e.g., length/diameter, width), financial
attributes (e.g., gross unit profit, net unit profit),
item-specific business requirements (e.g., mandatory presence,
minimum and maximum number of facings of the item, minimum and
maximum number of units of the item in the retail space), and other
parameters of the items 20A-26C when developing the profit model.
The system may then apply the profit model to generate several item
combinations and the corresponding profit and spatial metrics for
each choice set, represent the generated data in a format
consistent with an input to a combinatorial optimization problem
such as the so-called knapsack problem, and generate a solution to
the combinatorial problem within the specified boundaries. More
specifically, the solution specifies an optimal assortment of items
for each shelf in the retail area 10 to maximize the profit from
the sale of at least some of the items 20A-26C. As is known, a
knapsack problem in general involves a global constraint and a set
of elements, each having a certain constraint metric and a benefit
metric, and attempts to select elements from the set so as to
maximize the benefit without exceeding the global constraint. In at
least some of the embodiments, the system further optimizes the
layout of the selected facings in response to a user selecting
shoppability and profitability levels. In some of these
embodiments, the system applies simulated annealing techniques.
[0051] Next, an example system that may implement the techniques
for optimizing product assortment (such as those outlined above) is
discussed with reference to FIG. 2, and various aspects of theses
techniques are discussed with reference to FIGS. 3-5D. Some of the
components illustrated in FIG. 2, along with the associated methods
and several example applications of these methods, are then
illustrated in more detail in FIGS. 6A-14.
[0052] Referring to FIG. 2, an optimization system 50 may include a
processing unit 52 that implements an assortment development engine
54, also illustrated in FIG. 2 in an exploded view. The processing
unit 52 generally may be any type of a device having a processor.
In some embodiments, the optimization system 50 may include
multiple processing units 52, and the assortment development engine
54 may be implemented in a distributed manner on some or all of
these processing units. The assortment development engine 54 may be
a set of instructions stored in a computer-readable memory. In one
embodiment, the processing unit 52 includes a memory unit such as a
hard drive, and assortment development engine 54 is a software
system stored at least partially on the hard drive of the
processing unit 52.
[0053] 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, FIG. 2 depicts
each of the storage units 56A-F as a separate entity. However, it
will be noted that although the storage units 56A-F in some
embodiments may be databases implemented on respective physical
devices, the data units 56A-F may also be implemented as separate
tables or groups of tables in a single database, as files in the
memory of the processing unit 52, or in any other suitable manner.
Moreover, in some embodiments, item and shelf parameters used by
the optimization system 50 are not stored in a permanent memory at
all, and are retained only temporarily in a volatile memory such as
a RAM, for example.
[0054] 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).
[0055] 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
FIG. 1). Facing capacity in an alternative embodiment may not be
stored in memory at all, but rather be derived from the width
metric of a shelf and a corresponding width metric of an item.
Still further, the storage unit 56A in some embodiments may also
store the height of each of the item 20A-26C so that items in
relatively tall boxes or other containers can be restricted to the
shelves that have an appropriate height capacity. Generally
speaking, the storage unit 56A may store a number of additional
physical parameters such as the approximate shape of the item, the
weight of the item, etc.
[0056] 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.
[0057] The shelf data storage unit 56B may store parameters for
each of the shelves 12, 14, and 16. Referring back to FIG. 1, the
shelf 12 has the width L.sub.1 and the depth D, and each of the
shelves 14 and 16 has the width L.sub.2 and the same depth D. If
desired, the shelf data storage unit 56B may also store other shelf
parameters such as the maximum amount of weight each shelf may
hold, special restrictions for a particular shelf, etc.
[0058] With continued reference to FIG. 2, the survey data storage
unit 56C and the syndicated data storage 56D may store survey data
and syndicated data, respectively. Together, the survey data and
the syndicated data at least partially define consumer behavior and
historical sales data descriptive of how customers perceive the
items 20A-26C. More specifically, survey data may include
statistics related to how loyal consumers are to their favorite
brands (i.e., whether consumers purchase a comparable replacement
or "walk" without making a purchase), while syndicated data
automatically collected at cash registers, for example, describes
how often customers purchase certain items together, how likely
customers are to repeat the same purchase, how often the same
purchase is repeated per unit of time, etc. As discussed in more
detail below, the survey data and the syndicated data may be used
to generate demand models for respective subsets of items
20A-26C.
[0059] 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.
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] As illustrated in the exploded view in FIG. 2, the
development engine 54 may include several interconnected components
such as a choice set generator 70, a facing combination generator
72, a demand transfer matrix generator 74, a profit calculator 76,
a sale data generator for limited-supply items 78, a combination
remover 80, a combinatorial problem input generator 81, and a
combinatorial problem solver 82. The various ones of the modules
70-82 may be implemented using hardware, software instructions
executed by a processor, firmware, or combinations thereof. Of
course, the components 70-82 may be grouped together or,
conversely, divided into smaller components according to
implementation choices.
[0065] 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 N.sub.1 corresponding to baby powder products and
including the items 20A and 20B, a choice set N.sub.2 corresponding
to baby wipes and including the items 22A and 22B, a choice set
N.sub.3 corresponding to diapers and including the items 24A, 24B,
and 24C, and a choice set N.sub.4 corresponding to infant formula
and including the items 26A, 26B, and 26C. As discussed above, the
items in each of the sets N.sub.1-N.sub.4 can in principle replace
each other, while items in different ones of the sets
N.sub.1-N.sub.4 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.
[0066] 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.
[0067] 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 N.sub.3 considered above may be
associated with the following parameters:
TABLE-US-00001 TABLE 1 Item Facings Shelf Capacity Unit Profit Unit
Width 24A 0, 1, 2 8 9 5 24B 0, 1 7 5 3 24C 2, 3 5 8 4
[0068] 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 N.sub.1, N.sub.2, and N.sub.4 may be
similarly defined.
[0069] 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 N.sub.1-N.sub.4. In an embodiment, the
facing combination generator 72 may implement a recursive technique
generally known in the art. FIG. 3 is a block diagram that
illustrates a group 100 of facing combinations 100.sub.1,
100.sub.2, . . . 100.sub.12 which the facing combination generator
72 may develop for the choice set N.sub.3. For ease of
illustration, the blocks in each facing combination 100.sub.1,
100.sub.2, . . . 100.sub.12 are labeled "A" for the item 24A, "B"
for the item 24B, and "item 24C. It will be noted that the length
of each block in FIG. 3 corresponds to the unit width metric listed
in Table 1.
[0070] As illustrated in FIG. 3, the facing combination generator
72 generates 3*2*2=12 facing combinations, and the resulting width
of each combination may be easily calculated as a sum of the
individual width metrics. In some embodiments, the combination
generator 72 may also include or cooperate with a downscaling
module (not shown) to reduce the number of facing combinations and
thus simplify subsequent analysis. The operation of an example
downscaling module is discussed below with reference to FIGS. 6A
and 6B. Table 2 included below lists the parameters of each facing
combination and the corresponding width values.
TABLE-US-00002 TABLE 2 Facings.sub.24A Facings.sub.24B
Facings.sub.24C Width 1 0 0 2 8 2 0 0 3 12 3 0 1 2 11 4 0 1 3 15 5
1 0 2 13 6 1 0 3 17 7 1 1 2 16 8 1 1 3 20 9 2 0 2 18 10 2 0 3 22 11
2 1 2 21 12 2 1 3 25
[0071] 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.
[0072] Referring back to FIG. 2, the profit calculator 76 may
calculate an expected profit, or other type of benefit, for each of
the facing combinations 100.sub.1, 100.sub.2, . . . 100.sub.12.
However, unlike width, profit associated with the facing
combinations 100.sub.1, 100.sub.2, . . . 100.sub.12 is difficult to
calculate due to item interaction within the choice set N.sub.3. In
particular, items in a common choice set, such as the items 24A-C
in the choice set N.sub.3, may have a detrimental effect on the
sales of other items in the same choice set. This effect is
referred to herein as cannibalization, and the demand transfer
matrix generator 74 may help the profit calculator 76 to properly
account for this and other item interaction effects. Moreover, the
sale data generator 78 may further improve the accuracy of profit
estimation in those typical situations when the supply of items
24A-C is limited.
[0073] To better explain the operation of the modules 76 and 78,
FIG. 4 first illustrates, in a schematic format, a situation in
which customers choose between two items a and b which are mutually
substitutable, and in which each customer purchases one item at a
time. Although many choice sets such as the choice set N.sub.3
include more than two substitutable items, FIG. 4 illustrates a
simpler case of two-item interaction by way of example. In
particular, a diagram 120 depicts a set 122 that consists of twelve
customers who prefer item a, and a set 124 that consists of eight
costumers who prefer item b. Out of the twelve costumers in the set
122, eight would accept item b as a substitute when item a is not
available, and three customers in the set 124 would accept item a
as a substitute when item b is not available.
[0074] 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). FIG. 4 illustrates a DTM 130 that corresponds to the diagram
120, as well as a corresponding loss vector 132 that indicates the
number of customers lost at each substitution. Thus, as expected,
the element in the first row and in the first column of the DTM 130
indicates that of the 12 customers who prefer item a accept item a;
the element in the first row and in the second column of the DTM
130 indicates that 8 of those who prefer item a will accept item b
if item a is not available; and the upper-row element in the loss
vector 132 indicates that 4 customers do not make a purchase (i.e.,
are "lost" to the retailer) if item a is not available. Similarly,
5 customers are lost when item b is not present, as reflected in
the bottom row of the loss vector 132.
[0075] 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:
[0076] Sales of item a when item b is not present=12+3=15
[0077] Sales of item b when item a is not present=8+8=16
[0078] Sales of items a and b when both items a and b are
present=12+8=20
[0079] Referring back to FIG. 3, the demand transfer matrix
generator 74 may generate matrices similar to the DTM 130 based on
the survey data and the syndicated data stored in the storage units
56C-D. In a typical scenario, however, supply of items a and b is
limited. To account for limited item supply, the sales data
generator 78 may develop sales data by calculating projected sales
of items for various numbers of other items in the same choice set.
In the simple two-item example introduced above, the sales data
generator 78 may calculate the sales of items a and b for each
combination N.sub.a and N.sub.b, where N.sub.a is the number of
units of item a, and N.sub.b is the number of units of item b.
Because each customer in the sets 122 and 124 purchases at most one
item, 0.ltoreq.N.sub.a.ltoreq.20 and
0.ltoreq.N.sub.b.ltoreq.20.
[0080] Next, FIG. 5A illustrates an example matrix M.sub.a that
specifies the projected sales of item a for various values of
N.sub.a and N.sub.b, and FIG. 5B illustrates an example matrix
M.sub.b that specifies the projected sales of item b for various
values of N.sub.a and N.sub.b. Referring first to FIG. 5A, the
sales of item a in the absence of item b increase from 0 to 15
until the supply of item a reaches 15, and stay at 15 even as the
supply of item a continues to increase to 20 units. As indicated
above, this upper limit of 15 can be derived from the DTM 130
(i.e., 12+3=15). When the supply of item b is 1, 2, 3, 4, or 5, the
sales of a are the same because out of the 8 customers who prefer
b, only 3 will find a acceptable when the supply of b is not
sufficient. It will be noted that in a region R.sub.B of the matrix
M.sub.a, the effect of substitution of item a for item b (or vice
versa) is beneficial to the sales of a. However, in a region
R.sub.D of the matrix M.sub.a, the effect of substitution is
detrimental to the sales of a. In particular, when the supply of b
is between 6 and 8, customers who could purchase a select b and
thus prevent the sales of a from being maximized. Finally, the
sales of a in the "stable" regions R.sub.S are not further affected
by increases in the supply of a or b.
[0081] It is noted that the sales of a decrease in the region
R.sub.D 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
R.sub.D 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 FIG. 5C), or to the overall
profit. In particular, the profit associated with the sale of one
unit of item b may be significantly higher than the profit
associated with the sale of one unit of item a, and cannibalization
of item a by item b in some instances may actually increase the
overall profit.
[0082] Similarly in the matrix M.sub.b illustrated in FIG. 5B, the
sales of item b in the region R.sub.D are cannibalized by the
relatively high supply of item a, while the numbers of supplied
units of items a and b in the region R.sub.B are beneficial to the
sales of item b. As expected from the previous discussion of the
DTM 130, the matrix M.sub.b indicates that the sales of item b can
be at most 16.
[0083] Now referring to FIG. 5C, a matrix M, represents a totality
of sales of items a and b for various values of N.sub.a and
N.sub.b. Thus, every element of the matrix 154 is a sum of the
corresponding elements of the matrices M.sub.a and M.sub.b,
i.e.,
M.sub.ti,j=M.sub.ai,j+M.sub.bi,j. (Equation 1)
Although FIG. 5C illustrates the regions R.sub.D1 and R.sub.D2
corresponding to the R.sub.D region of the matrix M.sub.a and the
R.sub.D region of the matrix M.sub.b, respectively, it will be
noted that the effect of cannibalization on sales in the overall
set {a,b} is not necessarily detrimental, i.e., the overall sales
each of the regions R.sub.D1 and R.sub.D2 is at the maximum level
of 20. However, because the unit profit P.sub.a associated item a
and the unit profit P.sub.b associated with item b may not be the
same, some of the identical elements in the matrix M.sub.t may
correspond to a different profit metric. For example, each of the
elements M.sub.t8,12 and M.sub.t12,8 of the matrix M.sub.t
specifies that a total of 20 units is sold, but the profit
associated with M.sub.t8,12 is equal to 12*P.sub.a+8*P.sub.b,
whereas the profit associated with M.sub.t12,8 corresponds to
8*P.sub.a+12*P.sub.b. In general, the profit P.sub.i,j associated
with each combination of i units a and j units of b can be
expressed as:
P.sub.i,j=M.sub.ai,j*P.sub.a+M.sub.bi,j*P.sub.b. (Equation 2)
Meanwhile, the width of each combination of i units a and j units
of b can be expressed as:
P.sub.i,j=i*W.sub.a+j*W.sub.b, (Equation 3)
where W.sub.a is the width of a single unit of item a, and W.sub.b
is the width of a single unit of item b.
[0084] In the particular case of items a and b associated with a
demand transfer scheme illustrated in FIG. 4, the profit calculator
76 may receive data similar to the data reflected in the matrices
M.sub.a, M.sub.b and M.sub.t, and calculate the expected profit
associated with each combination of items a and b using the
equation (2) or a similar technique. Theoretically, this approach
may be generalized to accommodate any number N of items i.sub.1,
i.sub.2, . . . i.sub.N competing within a certain choice set, in
which case the sales data generator 78 may generate N projected
sales matrices, each having N dimensions, so that each element of a
matrix M.sub.i.sub.r specifies the number of items i.sub.r sold for
a certain combination of units of every other item in the choice
set i.sub.1, i.sub.2, . . . i.sub.N. The corresponding profit of a
combination P.sub.x.sub.1.sub.,x.sub.2.sub.. . . x.sub.n of x.sub.1
items i.sub.i, x.sub.2 items x.sub.2, . . . , and x.sub.N items
i.sub.N can then be expressed as
P x 1 , x 2 , x n = j N M i j x 1 , x 2 , x n ( Equation 4 )
##EQU00001##
However, populating tables M.sub.i.sub.r in a deterministic manner
may not be possible. In particular, certain customers may accept
several different items as substitutes if the preferred item is not
available, and the selection between the acceptable substitutes may
be driven by price, brand recognition, or even be or appear to be
random. In another aspect, the order of arrival of customers may
further affect the selection of preferred items and acceptable
substitutes. Accordingly, substitution arithmetic associated with
equations (1)-(4) may be optimized and simplified to efficiently
process multiple choice sets with relatively large numbers of items
in each, as discussed in detail below.
[0085] Generally with respect to the example matrices of FIGS.
5A-C, it is also noted that many of the item combinations may
represent impractical choices (e.g., an excessively high number of
facings of one item at the expense of other items), invalid choices
(i.e., choices that violate one or several business rules), or
clearly irrational choices. Thus, it will be appreciated that
generating complete matrices M.sub.a, M.sub.b and M.sub.t is
discussed for the purposes of clarity only, and that the profit
calculator 76 and the sales data generator 78 need not evaluate all
possible combinations of items in a choice set.
[0086] To continue with the example sets 122 and 124, items a and b
may be associated with the following parameters and business
rules:
TABLE-US-00003 TABLE 3 Unit Unit Facing Facing Min Max Unit Unit
Gross Net Item Width Capacity Mandatory? Facings Facings Cost Price
Profit Profit A 2 10 No 1 2 2 3 1 0.7 B 4 5 Yes 1 3 3 4 1 0.75
[0087] Using the data listed in Table 3, the matrix M.sub.t may be
partitioned into regions based on the numbers of facings as
illustrated in FIG. 5D. Several portions of the matrix M.sub.t can
be immediately eliminated, as illustrated by respective shaded
regions, because the elements in these portions represent choices
that violate the mandatory, minimum facing, or maximum facing
rules. Next, the data listed below in Table 4 may be generated:
TABLE-US-00004 TABLE 4 Gross Gross Net Net Units Units Rev. Rev.
Profit profit Profit Profit Gross Net Facings Total of A of B from
from from from from from Units Rev. Profit Profit A B Width Sold
Sold A B A B A B Total Total Total Total 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 2 10 0 30 0 10 0 7 0 10 3 10 7 0 1 4 0 4 0 16 0 4 0 3 4 16
4 3 2 0 4 15 0 45 9 15 0 10.5 0 15 45 14 10.5 1 1 6 10 5 30 20 10 5
7 3.75 15 50 15 10.75 0 2 8 0 9 0 36 0 9 0 6.75 9 36 9 6.75 2 1 8
15 5 45 20 15 5 10.5 3.75 20 65 20 14.25 1 2 10 10 10 30 40 10 10 7
7.5 20 70 20 14.5 0 3 12 0 14 0 56 0 14 0 10.5 14 56 14 10.5 2 2 12
12 8 36 32 12 8 8.4 6 20 68 20 14.5 1 3 14 10 10 30 40 10 10 7 7.5
20 70 20 14.5 2 3 16 12 8 36 32 12 8 8.4 6 20 68 20 14.5
[0088] 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 M.sub.a, M.sub.b and M.sub.t. 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 F.sub.1.2 of the matrix M.sub.t illustrated
in FIG. 5D, as well as the respective regions in the matrices
M.sub.a and M.sub.b. It will be noted that the maximum number of
sales in this region corresponds to the element in the lower right
corner of the region F.sub.1.2 specifying the sale of 10 units of a
and 10 units of b.
[0089] 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 FIG. 4. Of course, similar
metrics may be developed for each choice set within a group of
items that are candidates for an assortment selection. The
assortment development engine 54 may then utilize the profit
metrics generated for each choice set in developing an overall
solution, i.e., a selection of several choice sets in an assortment
for a specified retail space.
[0090] Referring back to FIG. 2, the combinatorial problem solver
82 may automatically optimize a selection of choice sets using the
profit metrics developed by the profit calculator 76. In some
embodiments, the assortment development engine 54 may also include
a combination remover 80 to eliminate several non-optimal facing
combinations and therefore reduce the complexity of the problem
which the combinatorial problem solver 82 must solve. In
particular, when two allowable facing combinations of items use the
same amount of shelf space but are associated with non-equal
benefit metrics, the combination with the higher metric can be said
to dominate the combination of the lower metric, and the dominated
combination can be safely removed. Referring to Table 4, the
combination of 0 facings of item a and 2 facings of item b is
associated with width 8 and net profit of 6.25, whereas the
combination of 2 facing of item a and 1 facing of item b is
associated with the same width 8 but a higher net profit of 14.25.
The latter combination is thus dominant, and the combination of 0
facings of item a and 2 facings of item b need not be considered in
subsequent analysis. The combination remover 80 may further analyze
other combinations in the choice set listed in Table 4 and also
remove the combination of 0 facings of item a and 1 facing of item
b, as well as the combination of 0 facings of item a and 3 facings
of item b.
[0091] 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.
[0092] 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}.
[0093] 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.
[0094] 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.
[0095] Next, FIGS. 6A-8 illustrate some of the example embodiments
of the components 70-82, as well as several components which may be
utilized in the optimization system 50 additionally or
alternatively to the components 70-82. Several flowcharts of the
related methods are also provided.
[0096] Referring to FIG. 6A, the assortment development engine 54
in some embodiments may include a downscaling module 200 to reduce
the number of combinations to be generated by the combination
generator 72. The downscaling module 200 may include a facing
number generator 202 and a nearest allowed integer mapper 204. In
response to the input that specifies the complete range of all
allowed facing combinations (e.g., between 1 and 10 facings of item
1, between 5 and 11 facings of item 2, etc.), the downscaling
module 200 may first linearly spread the facing possibilities
across the allowable range. For example, a business rule may
specify that a certain non-mandatory item may have a minimum of 3
facings and a maximum of 8 facings. Thus, the item may have 0, 3,
4, 5, 6, 7, or 8 facings. The degree of downscaling may be
controlled via a maximum facing combinations input, which for
example may require that at most 5 facing values actually be used
in an assortment. In some embodiments, the downscaling module 200
eliminates 0 from a candidate list for reduction (because another
business rule requires that the item remain optional), and evenly
spreads the remaining four desired facing values across the
interval [3, 8], as illustrated in FIG. 6B. The module 202 may then
identify the most proximate allowed integers. In this case, the
downscaling module 200 may output 0, 3, 5, 6, and 8 as the reduced
set of facings values.
[0097] 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 FIG. 7 to
construct a reliable profit model using a suitable linear
programming (LP) technique for each choice. As another alternative,
the profit calculator 76 may apply one of several simulation
models, and select a number of repeated simulation runs in
accordance with a target level of reliability. The selection
between LP and one of the simulation modes may be automatic (e.g.,
based on the size of a choice set) or user-selectable. In each
case, the profit calculator 76 may utilize historical sales data
stored in the storage units 56C-D, demand transfer data supplied by
analysts via the terminals 58A-B or stored in one of the storage
units 56A-F, and transfer probability data developed by the
optimization system 50 in cooperation with users such as
analysts.
[0098] Referring to FIG. 7, the combinatorial problem solver 230
may include a profit model selector 232 which may be responsive to
a user command entered via one of the terminal stations 58A-B, for
example. The profit model selector 232 may activate one of an LP
model solver with full replacement 234A, an LP model solver with
partial replacement 234B, a simulator with full replacement 236, or
a simulator with partial replacement 236. Each of the modules
234A-238 may generate a profit model using a respective programming
or simulation technique based on historical sales data input and
item supply data. If desired, the combinatorial problem solver 230
may implement additional techniques selectable via the profit model
selector 232 or, conversely, include one of the modules 234A-238
and omit the profit model selector 232. Further, the combinatorial
problem solver 230 may include a distribution module 240 to supply
distribution (such as normal distribution) parameters to one or
both of the simulator modules 236 and 238. A random generator
module 242 may generate random numbers to simulate consumer
choices, arrival of customers to a store, etc.
[0099] 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.
[0100] An example method for generating a profit model which the LP
model solver 234A or 234B may implement is discussed next with
reference to FIG. 8. In an embodiment, the LP model solvers 234A
and 234B are generally similar, except that the LP model solver
with full replacement 234A implements the assumption that a
customer will always purchase a replacement item if the preferred
item is not available, whereas the LP model solver with partial
replacement 234B does not implement this assumption. Generally
speaking, the LP model solver 234A or 234B may implement a greedy
approach characterized by systematically making locally optimal
choices. In this example, the LP model solver 234B further
implements the following assumptions: (1) a customer will always
prefer to satisfy his or her main preference prior to considering
an alternative; (2) a customer will buy a replacement item subject
to demand transfer probability; and (3) items in excess of the
available supply cannot be sold. On the other hand, rather than
implementing assumption (2), the LP model solver 234A may implement
a more optimistic assumption (2a) that a customer will always
purchase a replacement item if one is available. Generally
speaking, an LP model consistent with the assumption (2a) generates
an optimistic solution, whereas the assumption (2) adjusts the
optimistic solution by considering transfer probabilities. For the
purposes of clarity, the flow diagram in FIG. 8 is illustrated as
including several optional blocks at which the LP model solver 234B
obtains transfer probability data, generates a DTM, and applies the
DTM to adjust the expected profits in accordance with the
assumption (2).
[0101] 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 FIG. 1 and Tables 1 and 2,
the combination associated with one facing of the item 24A, one
facing of the item 24B, and two facings of the item 24C corresponds
to a set of capacity metrics {3, 3, 4} which can be obtained by
multiplying the number of facings of each item by the corresponding
facing capacity. Next, at block 262, the LP model solver 234A or
234B may obtain historical sales data for each item. The
optimization system 50 may store or derive average, standard
deviation, and other metrics related to sales statistics for each
item.
[0102] Referring again to FIG. 8, the LP model solver 234A or 234B
at block 264 may obtain a transfer probability matrix TPM which may
be manually formatted or automatically derived based on survey
data, user data, or other sources. For example, a transfer
probability matrix may specify the following parameters for the
items 24A-C:
TABLE-US-00005 TABLE 5 Item 24A 24B 24C 24A -- 30 0 24B 20 -- 40
24C 0 60 --
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.
[0103] At block 266, the LP model solver 234A or 234B may generate
a demand transfer matrix, DTM.sub.LP, which may be generally
similar to the DTM 130 discussed above with reference to FIG. 4. To
this end, the LP model solver 234A or 234B may use the data
associated with Table 5. The LP model solver 234A or 234B may apply
a suitable conversion formula such as
D T M LPi , j = T P M i , j * Avg i 100 ( Equation 5 )
##EQU00002##
to populate at least the non-diagonal elements of the matrix
DTM.sub.LP, i.e., when i.noteq.j. For example, the element of
DTM.sub.LP 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 .mu. of the item 24A and
converting the result from percentage to units: 30*10/100=3. The
diagonal elements of DTM.sub.LP may be set to the respective value
of .mu.. Generating the remaining elements in this manner using an
example set of data, DTM.sub.LP becomes:
D T M LP = [ 10 2 0 0.6 3 1.2 0 7.2 12 ] ##EQU00003##
[0104] 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
RSV.sub.i=MAX(Supply.sub.i-Preferred.sub.i, 0), (Equation 6)
where Supply.sub.i and Preferred.sub.i 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 Preferred.sub.i 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
RDV.sub.i=MAX(.mu..sub.i-Preferred.sub.i, 0). (Equation 7)
[0105] 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 DTM.sub.LP. However, the
LP model solver 234A does not apply the DTM.sub.LP 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
Profit.sub.i=UnitProfit.sub.i*(Preferred.sub.i+MaxTransferred.sub.i)
(Equation 8)
The LP model solver 234A or 234B may apply the equation (8) at
block 274.
[0106] 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 FIG. 8, excess demand, when
available, is first transferred to 24A, followed by 24C and finally
by 24B.
[0107] 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.
TABLE-US-00006 TABLE 6 row 24A 24B 24C 1 Unit Profit 9 5 8 2 Supply
16 0 10 3 Average (.mu.) 10 3 12 4 Preferred = MIN (row 2, row 3)
10 0 10 5 Remaining Supply = MAX (row 2 - row 3, 6 0 0 0) 6
Remaining Demand = MAX (row 3 - row 4, 0 3 2 0) 7
Transfer.sub.24B->24A = MIN (MIN ((6, 3), 0.6 -- -- DTM.sub.2,
1) 8 Remaining Supply' = row 4 - row 7 5.4 2.4 2 Remaining Demand'
= row 6 - row 7 9 Transfer.sub.24C->24A = MIN (MIN ((5.4, 2), --
-- 0 DTM.sub.3, 1) 10 Total Sold 10.6 0 10
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).
[0108] 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.
[0109] Next, FIG. 9 depicts a flow diagram of an example method 300
which one of the simulators 236 or 238 may implement to generate a
profit model based on simulated behavior of each customer. In
general, the simulators 236 or 238 may model the behavior of a
group of hypothetical customers by simulating a scenario according
to which customers enter a retail area (such as the retail area 10)
in a random order, purchase a unit of the preferred item if one is
available, and select a replacement item subject to certain
conditions or probabilities. By repeating the scenario several
times, the simulators 236 or 238 may improve the reliability of the
generated profit metrics.
[0110] 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 FIG. 7,
the simulators 236 or 238 may utilize the random number generator
242 to shuffle the customers.
[0111] 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:
TABLE-US-00007 TABLE 7 Item Average (.mu.) Min Max 24A 10 3 15 24B
3 0 8 24C 12 2 18
Thus, the item 24A for example sells at least 3 units and at most
15 units, and 10 on average. Assuming normal distribution
N(.mu..sub.i,.sigma..sub.i.sup.2), the standard deviation
.sigma..sub.i can be expressed as
.sigma. i = 1 4 ( max i - min i ) ( Equation 9 ) ##EQU00004##
Accordingly, the distribution of the items 24A-C corresponds to the
following parameters:
TABLE-US-00008 TABLE 8 Item .mu. .SIGMA. .sigma..sup.2 24A 10 3 9
24B 3 2 4 24C 12 4 16
Referring back to FIG. 7, the historical sales data supplied to
each of the modules 234A-238 in some embodiments may be similar to
the data in Table 7, Table 8, or both. Further, in an embodiment,
the data listed in Table 8 is used in deriving the matrix
DTM.sub.LP discussed above with reference to the LP model solvers
234A and 234B.
[0112] Referring again to FIG. 9, the arrival of one customer from
the randomly shuffled group is simulated at block 310, and the
selection of an item by the customer is simulated at blocks
312-316. Because each customer is associated with a certain
preference, the simulators 236 or 238 first attempt to satisfy the
customer's preference at block 312 and, if the preferred item is
available, simulate the transaction at block 314. If, on the other
hand, the preferred item is not available, a replacement item is
selected at block 316 using the random number generator 242 and
transfer probability metrics. A decision to purchase the preferred
or one of the replacement items at blocks 314 or 316 may be
represented by incrementing a corresponding counter, for
example.
[0113] 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.
[0114] 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.
[0115] 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.
[0116] 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
profit.sup.min.sub.LP 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 profit.sup.max.sub.LP 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 profit.sup.avg.sub.LP lists the corresponding
averages. Further, column profit.sub.SF lists the results of
simulation generated by the full replacement simulator 236, and
column profit.sub.SP lists the results of simulation generated by
the partial replacement simulator 238.
TABLE-US-00009 TABLE 9 Facings.sub.24A Facings.sub.24B
Facings.sub.24C Width Profit.sup.min.sub.LP Profit.sup.max.sub.LP
Profit.sup.avg.sub.LP Profit.sub.SF Profit.sub.SP 1 0 0 2 8 80 80
80 78 76 2 0 0 3 12 120 120 120 105 98 3 0 1 2 11 115 115 115 111
105 4 0 1 3 15 155 155 155 135 120 5 1 0 2 13 152 152 152 147 144 6
1 0 3 17 192 192 192 172 166 7 1 1 2 16 187 187 187 173 166 8 1 1 3
20 193 199 196 187 179 9 2 0 2 18 215 215 215 178 169 10 2 0 3 22
210 213 212 202 191 11 2 1 2 21 195 203 199 190 186 12 2 1 3 25 201
201 201 199 197
[0117] 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:
List.sub.N1={(Width.sub.1=8, Profit.sub.1=80), (Width.sub.2=11,
Profit.sub.2=115), . . . } The combinatorial problem input
generator 81 may generate similar lists for every choice set to
ultimately generate a set of lists {List.sub.N1, List.sub.N1, . . .
} 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.
[0118] Now referring to FIG. 10, a combinatorial problem solver 82
illustrated in FIG. 2 may include a knapsack problem solver 350
that includes a multiple-choice knapsack solver 352, a multiple
knapsack problem solver 354, a shelf splitter 355, a shelf capacity
controller 356, and a graph/chart generator 357. During operation,
the multiple-choice knapsack solver 352 in one mode of operation
may find an optimal solution to the problem of selecting one facing
from each choice set within a global space constraint, e.g., total
space available in a retail area. For the retail space 10
illustrated in FIG. 1, the multiple-choice knapsack solver 352 may
thus select an optimal facing from each of the choice-sets
N.sub.1-N.sub.4 to fit within the total width of the shelves 12-14,
i.e., L.sub.1+2*L.sub.2. The shelf capacity controller 356 may then
supply the parameters such as the number of shelves in the retail
space 10, the width of each shelf, and other relevant parameters to
the shelf splitter 355 which may split the solution into
shelf-specific components utilizing the multiple knapsack problem
solver 354.
[0119] 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 FIGS. 18, 19A, and 19B, the
combinatorial problem solver 82 in this mode identifies an optimal
profit value for each width (e.g., using discrete width value or
according to any other resolution), generate a visual
representation of the results using the graph/chart generator 357
so that an analyst can efficiently select a solution for any
desired width. It is noted that an analyst may find the
variable-constraint mode to be useful when the width of a certain
merchandizing fixture has not yet been selected or, at least, can
be varied within a certain range. Further, an analyst can utilize
the variable-constraint mode to quickly and efficiently identify
the impact of possible gaps in shelf space (see FIG. 19B).
[0120] 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, FIG. 11 illustrates a
histogram 370 of various profit metrics associated with various
spatial metrics (e.g., total shelf widths) filled to maximum
capacity. For example, when considering certain choice sets
N.sub.1, N.sub.2, and N.sub.3, the knapsack problem solver 350 may
during one of the iterations consider a facing combination from the
choice set N.sub.1 with width=18 and profit=215, a facing
combination from the choice set N.sub.2 with width=10 and
profit=117, and a facing combination from the choice set N.sub.2
with width=22 and profit=247. The resulting bar in the histogram
370 may then correspond to width 18+10+22=50 and profit
215+116+247=579. It will be noted that it is possible for profit to
decrease with an increase in shelf width because less profitable
items may be selected to fill the shelf. The multiple-choice
knapsack solver 352 may generate the histogram 370 and identify a
bar that corresponds to the highest profit within the specified
shelf capacity, indicated by shading in FIG. 11. However, as
explained in more detail below, the bar that corresponds to the
highest profit need not necessarily represent a globally optimal
assortment solution because of an additional practical requirement
that the overall solution fit on several shelves (or otherwise
conform to several space constraints in addition to the global
constraint associated with the corresponding retail area).
[0121] 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.
[0122] Referring to FIG. 12, the shelf splitter 355 depicted in
FIG. 10 may implement a method 400 to split the solution generated
by the multiple-choice knapsack solver 352 into several shelves.
For example, the multiple-choice knapsack solver 352 may output a
solution for the retail space depicted in FIG. 1 without specifying
how the items 20A-26C must be split among the shelves 12-16. Thus,
the multiple-choice knapsack solver 352 may supply to the shelf
splitter 355 a preliminary solution for multiple item width
combinations such as the histogram 370, for example. At block 402,
the shelf splitter 355 may determine the sum of all shelf widths in
the available retail space. In the example of the retail space, the
total available shelf width is L.sub.1+2*L.sub.2 which may be, for
example, 50. Next, the shelf splitter 355 may select an interval
shelfstep at block 404, and select a first interval of the
histogram 470 as the group of bars between 50 and 50--shelfstep at
block 406. At block 408, the shelf splitter 355 may select the data
in the histogram 370 in the interval selected at block 406, and
identify the bar with the highest profit in the selected interval
at block 410.
[0123] 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 N.sub.2,
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 N.sub.2, 0 facings of item 2 from the choice set
N.sub.2, and 3 facings of item 3 from the choice set N.sub.2. 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 N.sub.2, 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.
[0124] With continued reference to FIG. 12, the shelf splitter 355
at block 414 may attempt to split the identified most profitable
solution into several shelves. If a split is possible, the shelf
splitter 355 may split the solution at block 420 in cooperation
with the multiple knapsack problem solver 354. In a sense, the
problem to be solved at block 414 may be considered to involve
several knapsacks, with the length of each shelf defining the
capacity of the respective knapsack. One example solution to this
problem is described by David Pisinger in "An Exact Algorithm for
Large Multiple Knapsack Problems," European Journal for Operational
Research, 114 (1999), the entire disclosure of which is expressly
incorporated herein by reference. Referring to FIG. 13, it will be
noted that an example splitting solution 450 may not completely
fill each shelf, and that multiple facings of an item need not
always be contiguous (provided splitting of facings of the same
item does not violate any of the business rules).
[0125] Referring again to FIG. 12, the shelf splitter 355 may
adjust the interval in which a solution is sought at block 418 if a
split in the current interval is not possible. In particular, the
shelf splitter 355 may move a window of size shelfstep to the left
in the histogram 370. The shelf splitter 355 may then repeat the
execution of blocks 408-416 until a solution is found.
[0126] 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 FIG. 2, the layout optimizer 66 may further
improve the layout by considering positioning of items included in
the assortment relative to each other. Thus, if the solution to an
assortment problem specifies that 2 facings of the item 24A, 1
facing of the item 24B, and 1 facing of the item 24C are to be
placed on a shelf of length L.sub.1, the layout optimizer 66 may
further determine at least a partial ordering of the items 24A-C on
the shelf. The layout optimizer 66, in a sense, improves aesthetic
qualities of the assortment. In another sense, the layout optimizer
66 reduces customer frustration in trying to locate a desired item
on the shelf by improving the perceived logic behind item grouping.
Both of the items 24A and 24B, to consider one example, may be
boxes of diapers for one age group, while the items 24C may be
boxes of diapers for another group. A customer may therefore expect
to find the items 24A and 24B in relative proximity to each other,
and the layout optimizer 66 may attempt to account for this and
similar factors.
[0127] 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.
[0128] 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.
[0129] 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, FIGS. 14A-B
illustrate an example group of items 460 including items 462, 464,
and 466 associated with one brand, and items 470, 472, and 474
associated with another brand. Further, items 462 and 464 may be of
one size, and item 466 may be of another size.
[0130] In the example arrangement of FIG. 14A, each of the flexible
space constraints 480-484 encompasses respectively a group of items
of the first brand (462-466), a group of items of the second brand
(470-474), and a group of items of the same size of the first brand
(462 and 464). It will be noted that the flexible space constraints
480-484 must be stretched far in excess of the combined area of the
corresponding enclosed items because of the non-optimal arrangement
of items 460-466 and 470-474. By contrast, the arrangement
illustrated in FIG. 14B requires less stretching for each of the
flexible space constraints 480-484. The blocking depicted in FIG.
14B may thus be regarded as more favorable, and stretching of the
flexible space constraints 480-484 may be analogized to expanding
effort in searching for the desired item on a shelf. It will be
further noted that the flexible space constraints may be nested,
hierarchical, overlapping, etc.
[0131] 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 FIG. 14C, the layout optimizer 66 may
generate a desired sequencing for a group of items 485, 486, and
487 by associating additional flexible space constraints 488 and
489 with the pairs 485, 486, and 486, 487. However, the amount of
computation required for sequencing using flexible space
constraints may be high for large numbers of items. The layout
optimizer 66 accordingly may use flexible space constraints for
blocking only, and apply a different sorting technique to a group
of items within a particular block. For example, the layout
optimizer 66 may associate each of the items 485-487 with an
additional flexible metric that may correspond to a piece count of
the item (e.g., a 20-count package of diapers), volume (e.g., a
12-oz bottle), weight, or any suitable other parameter, and execute
a simple sort based on the single parameter using a technique such
as those known in the art. Of course, the sort may also be
performed on multiple parameters.
[0132] 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.
[0133] 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 FIG. 15. An optimizer 490 may
include a block generator 492, a sequence generator 494, and a
profitability/shoppability selector 496. The optimizer 490 may
receive as input item data, business rules, and an indication of
how business rules are to be applied. Referring back to FIG. 2, the
terminal stations 58A-B may support a user interface to adjust the
importance of shoppability relative to profitability, so that a
rule such as "item X must be at eye level" may receive a higher or
lower priority relative to a rule such as "profitability must not
be lower than Y." In response to the user input, the
profitability/shoppability selector 496 may generate an appropriate
ordering of business rules, and the modules 492 and 494 may block
and sequence items as discussed above. In this manner, the
optimizer 490 can generate a layout using a holistic approach.
[0134] In view of the discussion of FIGS. 1-15, it will be
appreciated that the optimization system 50 can accurately and
efficiently generate a profitable item assortment consistent with a
set of business rules, and optimize or facilitate optimization of a
layout of these items. Referring to FIG. 16, an example of a method
which the optimization system 50 may implement to generate
assortment and an item layout is illustrated as a high-level flow
diagram 500. As described in the diagram 500, the optimization
system 50 may develop several choice sets at block 502, develop a
demand model for each choice set at block 504, generate a benefit
model (such as a profit model discussed above with reference to
F(g. 7) at block 506, and optimize assortment using the benefit
model and width metrics of each facing combination (or other
metrics, if desired) in view of business rules (block 508). At
block 510, the optimization system 50 may optimize the layout of
the generated item assortment using the layout optimizer 66, for
example.
[0135] Additionally, FIG. 17 provides a diagram of an example
method 550 for generating an assortment of several items, which may
partially overlap with some of the blocks 502-508 illustrated in
FIG. 17. Thus, at block 552, the optimization system 50 may obtain
a list of items from one or several files, user interface of the
terminals 58A-B, via the network 64, or in any other suitable
manner. The optimization system 50 may then generate choice sets
and affinity sets at block 554 in response to user input which may
be received via graphical or text interface of the terminals 58A-B,
for example. Alternatively, the input data provided to the
optimization system 50 may specify choice sets and affinity sets
using dedicated flags, organized lists each corresponding to a
certain set, etc. For each choice set, the optimization system 50
may generate a DTM using the techniques discussed above (block
556). Additionally or alternatively, an analyst may receive or
derive transfer probabilities from the survey, syndicated, and
other historical sales data, and the optimization system 50 may
automatically generate DTMs using the respective probability
metrics.
[0136] 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.
[0137] 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 FIG. 1,
the space area 10 includes several shelves. In general, the retail
area may be any area such as the floor of a supermarket, the
holding area of a vending machine, etc.
[0138] 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).
[0139] Next, several additional techniques, which the assortment
development engine 54 implements in some embodiments, are discussed
with reference to FIGS. 18-20B. First referring to FIG. 18, a
module such as the knapsack problem solver 350 (see FIG. 10) can
generate a graph 600 to facilitate efficient selection of a
combination of items when the width of a merchandizing fixture is
variable within a certain range or is not limited at all. In
particular, the graph 600 illustrates net profit associated with a
combination of items (they axis) plotted against width of the
combination (the x axis) using the data listed Table 4. Thus, each
point in the graph 600 (or outside the graph 600) is a {width, net
profit} tuple that corresponds to the Total Width and Net Profit
Total columns of the respective row of Table 4, for example, or
another data set. Point 602 in this example represents the maximum
profit when the width is 2, point 604 represents the highest net
profit for any width listed in Table 4, and point 606 represents a
less-than-optimal profit for the width 4, for example. In an
embodiment, the assortment development engine 54 generates the
graph 600 by drawing connecting lines between maximum values for
each combination. It is noted that in this example, there are no
maximum values that are less than a maximum value of a combination
with a smaller width.
[0140] By contrast, FIG. 19A illustrates a graph 620 that
corresponds to a pair of items a and b such that the width of a is
3 and the width of b is 5. Using the techniques discussed above,
and using the parameters and business rules specified in Table 3,
the data listed below in Table 10 can be generated:
TABLE-US-00010 TABLE 10 Gross Gross Net Net Units Units Rev. Rev.
Profit profit Profit Profit Gross Net Facings Total of A of B from
from from from from from Units Rev. Profit Profit A B Width Sold
Sold A B A B A B Total Total Total Total 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 3 10 0 30 0 10 0 7 0 10 3 10 7 0 1 5 0 4 0 16 0 4 0 3 4 16
4 3 2 0 6 15 0 45 9 15 0 10.5 0 15 45 14 10.5 1 1 8 10 5 30 20 10 5
7 3.75 15 50 15 10.75 0 2 10 0 9 0 36 0 9 0 6.75 9 36 9 6.75 2 1 11
15 5 45 20 15 5 10.5 3.75 20 65 20 14.25 1 2 13 10 10 30 40 10 10 7
7.5 20 70 20 14.5 0 3 15 0 14 0 56 0 14 0 10.5 14 56 14 10.5 2 2 16
12 8 36 32 12 8 8.4 6 20 68 20 14.5 1 3 18 10 10 30 40 10 10 7 7.5
20 70 20 14.5 2 3 21 12 8 36 32 12 8 8.4 6 20 68 20 14.5
[0141] 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 FIG. 19B. Thus, depending on whether the analyst
selects a business rule that allows gaps between items occupying a
merchandizing fixture, different solutions can be generated.
[0142] In general, FIGS. 18, 19A, and 19B illustrate an approach to
generating profit metrics for different total widths in view of
different rules. An analyst can use the graphs 600, 620, and 630 to
determine the amount of profit associated with a certain
combination prior to applying spatial restrictions. Further, this
techniques is particularly useful when small discrepancies between
the size of a merchandizing fixture and the total width of a
combination are tolerable. For example, in some situations, a
20-inch fixture can accommodate items with the combined width of 21
inches if some of the items can be easily compressed (e.g., packs
of diapers, rolls of paper towels, etc.). Similarly, a relatively
small gap is tolerable is some situations, and it is acceptable to
utilize a 20-inch fixture to display items with the combined width
of only 17 inches, for example.
[0143] 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 FIG. 20A, a
graph 650 illustrates, for a certain group of 29 items, the
relationship between the net profit associated with the sale of the
items and the total width occupied by the items. It is noted that
the graph 650 is a curve that displays diminishing returns as the
width increases, and that the graph 650 reaches a point beyond
which no further profit is possible.
[0144] Now referring to graph 660 illustrated in FIG. 20B and
corresponding to an enlarged portion of the graph 650, the
assortment development engine 54 in an embodiment identifies the
closest solution for a given width, receives dimensions of a region
of near-optimality (depicted in FIG. 20B as a box 662),
automatically identifies an optimal solution within the specified
region of near-optimality, and iteratively adjusts the region of
near-optimality until a solution acceptable in view of other
business rules is found. For some types of items, the region of
near-optimality can exceed the total available width of the
merchandizing fixtures if the items are compressible, as discussed
above. For other items, the region of near-profitability cannot
exceed the total available width. In this example, the analyst
wishes to optimize the assortment to fit on several merchandizing
fixtures with the combined width of 60. The closest initial
solution, represented in FIG. 20B as point 670, corresponds to the
width of 59, and, in an embodiment, the assortment development
engine 54 can specify the point 670 to the analyst. However, it may
not be possible to fit the combination that corresponds to the
point 670 on the individual merchandizing fixtures without
violating one or more business rules (e.g., a requirement that
related items be placed together on the same shelf) or having an
item go over the boundary of an individual merchandizing fixture.
According)y, the assortment development engine 54 can automatically
reject the point 670 upon applying one or more relevant rules and
proceed to search within the region of near-optimality until a
suitable solution can be found. In this example, the suitable
solution corresponds to point 672 that is associated with the
profit metric relatively proximate to the profit metric of the
point 670.
[0145] 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.
[0146] It is noted that the assortment development engine 54 need
not generate a graphical representation of the data illustrated in
FIGS. 20A and 20B, or visually illustrate the process of
iteratively adjusting the region of near-optimality. However, the
assortment development engine 54 may display the graphs 650 and 660
on the screen of the workstation 58A or 58B, for example, in
response to a request from the analyst or another user.
[0147] Next, FIG. 21 illustrates a flow diagram of a method 700
which the assortment development engine 54 can implement to support
locating a solution within a region of near-optimality. In
accordance with the method 700, a maximum solution for a certain
width is located at block 702, and appropriate business rules are
applied at block 704. If it is determined at block 706 that the
initial solution does not satisfy one or more rules, region
boundaries (e.g., a vertical limit, a horizontal limit, both) are
received from a user or from a pre-defined rule at block 708, and
an optimal solution is located within the specified boundaries
(block 710). The optimal solution is then tested using the business
rules (the blocks 704 and 706) and, if the solution satisfies every
rule, the method completes at block 712.
[0148] 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.
* * * * *