assortment planning for p&g

12
1 Assortment Planning and Optimization Based on Localized Demand Lee Saeugling First Reader: Jeffrey Camm Second Reader: Michael Fry

Upload: lee-saeugling

Post on 17-Aug-2015

50 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Assortment Planning for P&G

1

Assortment Planning and Optimization Based on Localized Demand

Lee Saeugling

First Reader: Jeffrey Camm

Second Reader: Michael Fry

Page 2: Assortment Planning for P&G

2

Abstract

We consider the problem of optimizing assortments for a single product category across a large

national retail chain. The objective of this paper is to develop a methodology for picking from 1 to N

(complete localization) assortments in order to maximize revenue. We first show how to estimate

demand based on product attributes. SKUs are broken into a set of attribute levels and the fractional

demand for these levels is estimated along with an overall demand for the attribute space. We use the

estimated fractional demand and overall demand to create from 1 to N assortments and assign each

store a single assortment in order to maximize revenue. We found a significant increase in revenue

when going from one national assortment to complete localization. Further we found that most of the

revenue increase of complete localization can be accomplished with far fewer than N assortments. The

advantage to our approach is it only requires transactional data that all retailers have.

Introduction

The problem addressed in this paper was presented to us by Procter & Gamble (P&G). The

premise was to formulate an approach to optimize assortments for a single product category across a

large national retail chain. That is how best to choose assortments in order to maximize revenue while

minimizing cost and complexity for the retailer. The simplest and least costly solution is to have one

assortment for all stores in the retail chain. However this solution does not take into consideration that

the demand in a product category is not uniform across the nation and thus will not maximize revenue.

An easy and intuitive example of differing localized demand is that luxury goods are in higher demand in

areas with high median household incomes and low demand in areas with low median household

incomes. Given this, the solution that can best meet local demand and maximize revenue would be for

each store to have a unique assortment based on the local demand. However this solution is highly

complex and costly for a large national retailer to implement. Therefore the goal of this paper is to

establish a methodology to both maximize localized demand captured by the unique assortment

solution while minimizing the cost and complexity.

Given the above problem, the first questions is how to determine local demand within a product

category. The approach taken in this paper is based on the ideas presented in “A Demand Estimation

Procedure for Retail Assortment Optimization with Results from Implementation” (Fisher and

Vaidyanathan, 2014). The basic idea being that a product (SKU) can be thought of as a collection of

attributes. For example we could think of the attributes of laundry detergent being brand, size, liquid or

powder, pod or bulk, etc. We assume people have preference for product attribute levels and buy the

SKU with the attribute combination of most utility for them. It follows that there is a fractional demand

between zero and one for each level of an attribute (i.e. attribute of size with levels small, medium and

large) with the sum of the attribute levels equal to one. Fractional demand is defined as the fraction of

customers whose first choice for attribute a is level i. We assume the demand for a SKU is the product of

the fractional demand of attributes multiplied by an overall demand for the attribute space. Overall

demand for the attribute space being the product category demand if all SKUs with every possible

attribute combination were offered. The estimates of fractional demand and overall demand are found

using a nonlinear optimization that minimizes the sum of absolute deviation of the actual observed sales

and the estimated demand for individual SKU currently in assortment. Ideally this optimization would be

done for every store in the chain using the individual stores transactional data for the product category

of interest. However this was not practical for this project. We therefore simplified the problem by

Page 3: Assortment Planning for P&G

3

clustering stores into ten groups. The details of how this was done can be found in Adhikarla (2015) and

Das (2015).

Once the above demand estimation problem is solved we use the estimated attributes fractional

demand and overall demand for the attribute space for all stores as inputs for assortment planning. For

assortment planning a second optimization problem is used. In this case a maximum number of SKUs

(the number of SKUs to allow in each assortment would be a business decision and a few options will be

explored later in the example section) are chosen for assortments 1 to N (N being the number of stores

in the chain) in order to maximize revenue. One assortment is the simplest solution and N is the most

complex solution both described above. The optimization could also be done to maximize profit or as a

set covering problem where SKUs are chosen to maximize the number of households whose desired SKU

is in the assortment. The optimization must simultaneously pick SKUs for each assortment and assign

stores an assortment. For example if the optimization is run for two assortments SKUs will be picked for

both assortments while simultaneous assigning each store to use either assortment one or two. This

could mean half the stores use assortment one and half assortment two but doesn’t have to and in fact

is unlikely. As long as stores use one and only one assortment any percentage split over the two

assortments is allowed and will be done in order to maximize revenue. This leads directly to using two

classes of binary variables one for picking SKUs in assortment and one for assigning stores to an

assortment where 1 indicates the SKU is in assortment and the store uses that assortment zero if not

respectively. Multiplying these two binary variables would give a 1 if SKU i contributed to the revenue of

store s, zero if not. However this means the optimization would be nonlinear and integer which is a very

difficult problem to solve and in fact we could never be sure we reached the true optimum. For this

reason the problem was transformed into a linear integer program with a third binary variable. While

the problem is now solvable the integer nature can lead to an untenable amount of computer time to

solve. The “solution” for this issues will be discussed in the example section. Also in the example section

based on a business consideration brought up by P&G the objective function will be altered to penalize

assortments that do not include a brand, the reasoning being if a store does not carry a customer’s

preferred brand in the product category of interest, they may go elsewhere and thus the store loses all

revenue for all other products that customer would have purchased.

Example

The model was built and tested on the open source data set “Carbo-Loading” provided by

dunnhumby. Only the data for the pasta category was used which included over 1,000,000 transactions

from 382 stores. The first step was to decide on what attributes were important the details of this can

be found in Adhikarla (2015) and Das (2015). The attributes used were brand, pasta type (i.e. spaghetti,

linguine, etc.) and size/price (The SKU size was classified as large or small and within each size as being

high, medium or low priced). Next I present how demand estimation was done.

Demand Estimation

As stated earlier, ideally demand estimation would be done for every store in the retail chain.

However for simplification purposes the stores were clustered into ten groups, the details of which can

be found in Adhikarla (2015) and Das (2015). The transactional data was aggregated for each of the

clusters. This was necessary to make the second optimization feasible given our available computer

Page 4: Assortment Planning for P&G

4

power. The following model was used for demand estimation on all ten clusters. The optimization was

carried out on AMPL using the nonlinear package “knitro” from Ziena Optimization LLC. Because of the

nonlinearity of the objective function the multi-start option was used. While we cannot be sure of

reaching the global optimum the multi-start options allows us to be reasonably confident our

estimations are close to the true optimum. The model estimates the fractional demand of each attribute

brand, pasta shape and size/price as well as the overall demand for the three dimensional attribute

space. The overall demand is limited to three times the transaction data count because substitution is

not considered. The demand can become artificially high without substitution and thus is limited. The

estimations are done by minimizing the absolute deviation of the actual SKU count from the

transactional data and the estimated demand provided by multiplying the attribute fractional demand

and the overall demand. Note that the estimated demand is only used in the objective function for the

three attribute level combination of SKUs currently carried in assortment. Once we have estimates of

the attribute fractional demand and the overall demand we are able to estimate the demand of all

attribute level combinations. This is important because it allows for bringing new products into

assortment. It may suggest SKUs that are not currently manufactured should be, because the demand

for their attribute level combination is high.

Demand Estimation Model

Let

𝐵𝑖 = 𝑇ℎ𝑒 𝑒𝑠𝑡𝑖𝑚𝑎𝑡𝑒𝑑 𝑓𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑎𝑙 𝑑𝑒𝑚𝑎𝑛𝑑 𝑓𝑜𝑟 𝑏𝑟𝑎𝑛𝑑 𝑖

𝑃𝑗 = 𝑇ℎ𝑒 𝑒𝑠𝑡𝑖𝑚𝑎𝑡𝑒𝑑 𝑓𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑎𝑙 𝑑𝑒𝑚𝑎𝑛𝑑 𝑓𝑜𝑟 𝑝𝑎𝑠𝑡𝑎 𝑠ℎ𝑎𝑝𝑒 𝑗

𝑆𝑘 = 𝑇ℎ𝑒 𝑒𝑠𝑡𝑖𝑚𝑎𝑡𝑒𝑑 𝑓𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑎𝑙 𝑑𝑒𝑚𝑎𝑛𝑑 𝑓𝑜𝑟 𝑠𝑖𝑧𝑒 − 𝑝𝑟𝑖𝑐𝑒 𝑘

𝐷 = 𝑇𝑜𝑡𝑎𝑙 𝑒𝑠𝑡𝑖𝑚𝑎𝑡𝑒𝑑 𝑑𝑒𝑚𝑎𝑛𝑑

𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑒 ∑ |𝑐𝑜𝑢𝑛𝑡(𝑖, 𝑗, 𝑘) − 𝐵𝑖𝑃𝑗𝑆𝑘𝐷|(𝑖,𝑗,𝑘)∈𝑎𝑠𝑠𝑜𝑟𝑡𝑚𝑒𝑛𝑡

Where

𝑐𝑜𝑢𝑛𝑡(𝑖,𝑗,𝑘) = 𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑠 𝑠𝑜𝑙𝑑 𝑤𝑖𝑡ℎ 𝑎𝑡𝑡𝑟𝑖𝑏𝑢𝑡𝑒 𝑐𝑜𝑚𝑏𝑖𝑛𝑎𝑡𝑖𝑜𝑛 (𝑖, 𝑗, 𝑘)

s.t.

∑ 𝐵𝑖

𝑖

= 1

∑ 𝑃𝑗 = 1

𝑗

∑ 𝑆𝑘 = 1

𝑘

∑ 𝑐𝑜𝑢𝑛𝑡(𝑖, 𝑗, 𝑘) ≤ 𝐷 ≤ 3 ∗ ∑ 𝑐𝑜𝑢𝑛𝑡(𝑖, 𝑗, 𝑘)

(𝑖,𝑗,𝑘)∈𝑎𝑠𝑠𝑜𝑟𝑡𝑚𝑒𝑛𝑡(𝑖,𝑗,𝑘)∈𝑎𝑠𝑠𝑜𝑟𝑡𝑚𝑒𝑛𝑡

Page 5: Assortment Planning for P&G

5

After the optimization is run for all ten clusters the estimated fractional attribute demand and

overall demand are used as input parameters for the assortment planning optimization. The fractional

demand for the attribute brand, size/price and pasta shape by cluster is presented in Table 1(A-C) and

overall demand by cluster in Table 2.

Table 1 Attribute Fractional Demand by Cluster

A) Fractional Demand for Brand by Cluster

Brand Cluster1 Cluster2 Cluster3 Cluster4 Cluster5 Cluster6 Cluster7 Cluster8 Cluster9 Cluster10

Al_Dente 0.024 0.010 0.015 0.021 0.027 0.012 0.011 0.011 0.012 0.016

Barilla 0.031 0.016 0.015 0.153 0.047 0.044 0.019 0.019 0.122 0.028

Barilla_Plus 0.005 0.015 0.025 0.006 0.007 0.008 0.017 0.007 0.008 0.028

Creamette 0.212 0.096 0.024 0.099 0.208 0.172 0.102 0.185 0.229 0.033

DaVinci 0.006 0.006 0.008 0.025 0.000 0.006 0.005 0.005 0.010 0.002

Dececco 0.022 0.013 0.006 0.020 0.000 0.014 0.009 0.019 0.024 0.022

Healthy_Harvest 0.033 0.036 0.021 0.022 0.032 0.042 0.049 0.082 0.020 0.034

Hodgson_Mills 0.009 0.022 0.012 0.012 0.001 0.009 0.031 0.021 0.013 0.032

Maggi_Spaetzle 0.029 0.014 0.016 0.017 0.021 0.012 0.011 0.019 0.016 0.013

Mueller 0.018 0.044 0.084 0.011 0.013 0.042 0.050 0.010 0.008 0.071

No_Yolks 0.034 0.071 0.076 0.023 0.032 0.106 0.068 0.039 0.023 0.068

Pennsylvania_Dutch 0.029 0.022 0.016 0.019 0.027 0.013 0.015 0.020 0.016 0.016

Private_Label 0.413 0.384 0.405 0.296 0.398 0.361 0.383 0.376 0.282 0.396

Private_Label_Premium 0.036 0.104 0.122 0.070 0.034 0.038 0.090 0.036 0.053 0.103

Private_Label_Value 0.007 0.006 0.007 0.002 0.003 0.008 0.006 0.003 0.001 0.001

Ronzoni 0.008 0.025 0.075 0.023 0.010 0.017 0.036 0.007 0.014 0.058

San_Giorgio 0.059 0.033 0.008 0.049 0.051 0.012 0.026 0.061 0.052 0.012

Sugar_Buster 0.024 0.012 0.008 0.017 0.022 0.023 0.009 0.012 0.014 0.005

Al_Dente 0.024 0.010 0.015 0.021 0.027 0.012 0.011 0.011 0.012 0.016

Colavita 0.000 0.012 0.015 0.018 0.026 0.013 0.009 0.000 0.015 0.019

Eden 0.000 0.014 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000

Gooch 0.000 0.012 0.010 0.016 0.000 0.012 0.008 0.020 0.016 0.005

La_Moderna 0.000 0.012 0.006 0.000 0.000 0.012 0.000 0.000 0.000 0.004

Orzo 0.000 0.010 0.010 0.011 0.022 0.000 0.000 0.000 0.013 0.008

Pasta_Shoppe 0.000 0.011 0.013 0.016 0.000 0.000 0.009 0.014 0.013 0.008

Alessi 0.000 0.000 0.000 0.017 0.020 0.012 0.008 0.017 0.012 0.000

Kedem 0.000 0.000 0.000 0.017 0.000 0.000 0.011 0.000 0.000 0.000

Mothers 0.000 0.000 0.000 0.019 0.000 0.000 0.009 0.000 0.000 0.003

Dell_Alpe 0.000 0.000 0.000 0.000 0.000 0.012 0.009 0.000 0.014 0.007

Mrs_Weiss 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.018 0.000 0.000

Arlow 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.006

Page 6: Assortment Planning for P&G

6

B) Fractional Demand Size/Price by Cluster

Size/Price Cluster1 Cluster2 Cluster3 Cluster4 Cluster5 Cluster6 Cluster7 Cluster8 Cluster9 Cluster10

LARGE_HIGH 0.028 0.018 0.027 0.018 0.021 0.015 0.026 0.014 0.018 0.028

LARGE_LOW 0.529 0.609 0.648 0.508 0.517 0.508 0.617 0.537 0.556 0.634

LARGE_MEDIUM 0.315 0.132 0.107 0.336 0.308 0.302 0.125 0.311 0.326 0.124

SMALL_HIGH 0.031 0.003 0.019 0.013 0.034 0.016 0.012 0.025 0.008 0.017

SMALL_LOW 0.066 0.177 0.134 0.079 0.068 0.124 0.156 0.067 0.069 0.121

SMALL_MEDIUM 0.032 0.061 0.066 0.047 0.052 0.034 0.064 0.047 0.023 0.076

C) Fractional Demand of Pasta Shape by Cluster

Pasta Shape Cluster1 Cluster2 Cluster3 Cluster4 Cluster5 Cluster6 Cluster7 Cluster8 Cluster9 Cluster10

FETTUCCINE 0.301 0.249 0.242 0.461 0.345 0.296 0.244 0.331 0.451 0.249

FUSILLI 0.039 0.007 0.056 0.046 0.015 0.016 0.017 0.007 0.000 0.035

MACARONI 0.189 0.156 0.091 0.010 0.179 0.161 0.150 0.169 0.095 0.068

NOODLES 0.032 0.152 0.177 0.056 0.020 0.043 0.157 0.014 0.051 0.178

OTHER 0.048 0.017 0.010 0.018 0.016 0.037 0.007 0.036 0.000 0.005

PENNE 0.081 0.076 0.067 0.092 0.104 0.093 0.072 0.087 0.078 0.067

RIGATO 0.166 0.154 0.136 0.217 0.207 0.185 0.139 0.172 0.185 0.126

SPAGHETTI 0.116 0.185 0.206 0.069 0.101 0.128 0.200 0.161 0.090 0.261

VERMICELLI 0.028 0.004 0.015 0.030 0.014 0.040 0.014 0.023 0.050 0.011

Table 2 Overall Demand by Cluster

Demand

Cluster1 274,348

Cluster2 327,348

Cluster3 401,607

Cluster4 123,551

Cluster5 51,304

Cluster6 249,349

Cluster7 722,303

Cluster8 552,190

Cluster9 235,555

Cluster10 282,233

Assortment Planning

For this optimization we choose to maximize revenue. If we want to pick any SKU within the

attribute space, there must be a price associated with every attribute level combination in the attribute

Page 7: Assortment Planning for P&G

7

space. Because many of these attribute level combinations are not in the transactional data, there are

no associated prices. In order to have prices for the entire attribute space we would need a way to price

SKUs based on their attribute level combination. This however was beyond the scope of the project.

Only SKUs carried by at least one store in the retail chain were used for assortment planning because

they have an associated price. Prices of SKUs were averaged over all stores, giving one price for each of

the 110 available SKUs. These prices were used as an input parameter for assortment planning.

Assortment Planning Pure Revenue Model

There are six input parameters: the fractional demand for the three attribute levels by cluster,

the overall demand by cluster, the price of each SKU and the maximum number of SKUs allowed per

assortment (max_sku). The decision variables are whether or not SKU i should be used in assortment a

and whether or not store s uses assortment a. As described earlier, this logically leads to multiplying the

two binary variables together in order to determine if SKU i in assortment a contributes to the revenue

of store s. However this creates a nonlinear integer objective which is very difficult to solve. Therefore

the objective was linearized by introducing a third binary variable y. This variable takes the value 1 if

both binary decision variable are 1, zero otherwise. This is done by imposing the constraints that y must

be less than or equal to both binary decision variables and 1 plus y be greater than or equal to the sum

of the two binary decision variables. The model for assortment planning where the objective is to

maximize revenue is presented below.

Pure Revenue Model

Let

𝑅(𝑎,𝑖,𝑗,𝑘) = {0 𝑖𝑓 𝑛𝑜𝑡1 𝑖𝑓 𝑆𝐾𝑈 (𝑖,𝑗,𝑘)∈𝑎𝑠𝑠𝑜𝑟𝑡𝑚𝑒𝑛𝑡 𝑎

𝑈(𝑠,𝑎) = {0 𝑖𝑓 𝑛𝑜𝑡1 𝑖𝑓 𝑠𝑡𝑜𝑟𝑒 𝑠 𝑢𝑠𝑒𝑠 𝑎𝑠𝑠𝑜𝑟𝑡𝑚𝑒𝑛𝑡 𝑎

𝑦(𝑎,𝑖,𝑗,𝑘,𝑠) = {0 𝑖𝑓 𝑛𝑜𝑡1 𝑖𝑓 𝑏𝑜𝑡ℎ 𝑅 𝑎𝑛𝑑 𝑈 𝑒𝑞𝑢𝑎𝑙 1

𝑀𝑎𝑥𝑖𝑚𝑖𝑧𝑒 ∑ ∑ ∑ 𝐵𝑖,𝑠

(𝑖,𝑗,𝑘)𝑠𝑎

𝑃𝑗,𝑠𝑆𝑘,𝑠𝐷𝑠𝑝𝑟𝑖𝑐𝑒(𝑖,𝑗,𝑘)𝑦(𝑎,𝑖,𝑘,𝑠)

Where

𝐵𝑖,𝑠 = 𝑇ℎ𝑒 𝑓𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑎𝑙 𝑑𝑒𝑚𝑎𝑛𝑑 𝑓𝑜𝑟 𝑏𝑟𝑎𝑛𝑑 𝑖 𝑖𝑛 𝑠𝑡𝑜𝑟𝑒 𝑠

𝑃𝑗,𝑠 = 𝑇ℎ𝑒 𝑓𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑎𝑙 𝑑𝑒𝑚𝑎𝑛𝑑 𝑓𝑜𝑟 𝑝𝑎𝑠𝑡𝑎 𝑠ℎ𝑎𝑝𝑒 𝑗 𝑖𝑛 𝑠𝑡𝑜𝑟𝑒 𝑠

𝑆𝑘,𝑠 = 𝑇ℎ𝑒 𝑓𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑎𝑙 𝑑𝑒𝑚𝑎𝑛𝑑 𝑓𝑜𝑟 𝑠𝑖𝑧𝑒 − 𝑝𝑟𝑖𝑐𝑒 𝑘

𝐷𝑠 = 𝑂𝑣𝑒𝑟𝑎𝑙𝑙 𝑑𝑒𝑚𝑎𝑛𝑑 𝑓𝑜𝑟 𝑠𝑡𝑜𝑟𝑒 𝑠

s.t

∑ ∑ ∑ 𝑅(𝑎,𝑖,𝑗,𝑘) ≤ max _𝑠𝑘𝑢 ∀ 𝑎

𝑘𝑗𝑖

∑ 𝑈(𝑠,𝑎) = 1 ∀ 𝑠

𝑎

𝑈(𝑠,𝑎) + 𝑅(𝑎,𝑖,𝑗,𝑘) ≤ 1 + 𝑦(𝑎,𝑖,𝑗,𝑘,𝑠) ∀ (𝑎, 𝑖, 𝑗, 𝑘, 𝑠)

Page 8: Assortment Planning for P&G

8

𝑅(𝑎,𝑖,𝑗,𝑘) ≥ 𝑦(𝑎,𝑖,𝑗,𝑘,𝑠) ∀ (𝑎, 𝑖, 𝑗, 𝑘, 𝑠)

𝑈(𝑠,𝑎) ≥ 𝑦(𝑎,𝑖,𝑗,𝑘,𝑠) ∀ (𝑎, 𝑖, 𝑗, 𝑘, 𝑠)

This model was executed in AMPL using the gurobi solver. A run file with a for loop was used to

run the optimization from 1 to 10 assortments. This was performed for a range of max SKU in

assortment values.

Assortment Planning Penalized Objective Model

The above model however does not addresses P&G’s concern raised earlier. They wanted a way

to penalize the objective function every time a brand was left completely out of the assortment. Their

concern was, if a customer’s preferred brand was not carried, the store would not only lose the revenue

of that customer in that product category but their business entirely. This lead to the idea of brands with

high loyalty, if left out of the assortment should penalize the objective function more than those with

low loyalty, the reasoning being the higher the loyalty the more likely a customer is to choose to shop

somewhere else if they can’t find their desired brand. Loyalty scores between 0 and 1 were created for

each brand. The details of how this was done can be found in Adhikarla (2015) and Das (2015). In order

to penalize the objective function for not including a brand in an assortment, another set of binary

variables was introduced. A variable x was created that took the value 1 if brand i was in assortment a,

zero if not. Because we want to penalize the objective if brand i is not in assortment a variable c was

created that took the value 1 if x was zero and zero if x was 1. The objective should only be penalized if

store s uses assortment a, the variable introduced earlier U, that indicates whether or not store s uses

assortment a is therefore also needed. This leads to the same problem of nonlinearity if the product of c

and U were used. The same logic used earlier was used to introduce a variable t that is 1 if and only if c

and U are 1, zero otherwise. The objective function is penalized by multiplying the loyalty score times

the revenue that brand i not carried in assortment a would have contributed to revenue. The new

penalized model is shown below.

Penalized Objective Model

Let

𝑅(𝑎,𝑖,𝑗,𝑘) = {0 𝑖𝑓 𝑛𝑜𝑡1 𝑖𝑓 𝑆𝐾𝑈 (𝑖,𝑗,𝑘)∈𝑎𝑠𝑠𝑜𝑟𝑡𝑚𝑒𝑛𝑡 𝑎

𝑈(𝑠,𝑎) = {0 𝑖𝑓 𝑛𝑜𝑡1 𝑖𝑓 𝑠𝑡𝑜𝑟𝑒 𝑠 𝑢𝑠𝑒𝑠 𝑎𝑠𝑠𝑜𝑟𝑡𝑚𝑒𝑛𝑡 𝑎

𝑦(𝑎,𝑖,𝑗,𝑘,𝑠) = {0 𝑖𝑓 𝑛𝑜𝑡1 𝑖𝑓 𝑏𝑜𝑡ℎ 𝑅 𝑎𝑛𝑑 𝑈 𝑒𝑞𝑢𝑎𝑙 1

𝑥(𝑖,𝑎) = {0 𝑖𝑓 𝑛𝑜𝑡1 𝑖𝑓 𝑏𝑟𝑎𝑛𝑑 𝑖 𝑖𝑛 𝑎𝑠𝑠𝑜𝑟𝑡𝑚𝑒𝑛𝑡 𝑎

𝑐(𝑖,𝑎) = {0 𝑖𝑓 𝑥=11 𝑖𝑓 𝑥=0

𝑡(𝑖,𝑎,𝑠) = {0 𝑖𝑓 𝑛𝑜𝑡1 𝑖𝑓 𝑏𝑜𝑡ℎ 𝑈 𝑎𝑛𝑑 𝑐 𝑒𝑞𝑢𝑎𝑙 1

𝑀𝑎𝑥𝑖𝑚𝑖𝑧𝑒 ∑ ∑ ∑ (𝐵𝑖,𝑠

(𝑖,𝑗,𝑘)𝑠𝑎

𝑃𝑗,𝑠𝑆𝑘,𝑠𝐷𝑠𝑝𝑟𝑖𝑐𝑒(𝑖,𝑗,𝑘)𝑦(𝑎,𝑖,𝑘,𝑠) − 𝐵𝑖,𝑠𝑃𝑗,𝑠𝑆𝑘,𝑠𝐷𝑠𝐿𝑖𝑝𝑟𝑖𝑐𝑒(𝑖,𝑗,𝑘)𝑡(𝑖,𝑎,𝑠))

Where

𝐵𝑖,𝑠 = 𝑇ℎ𝑒 𝑓𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑎𝑙 𝑑𝑒𝑚𝑎𝑛𝑑 𝑓𝑜𝑟 𝑏𝑟𝑎𝑛𝑑 𝑖 𝑖𝑛 𝑠𝑡𝑜𝑟𝑒 𝑠

𝑃𝑗,𝑠 = 𝑇ℎ𝑒 𝑓𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑎𝑙 𝑑𝑒𝑚𝑎𝑛𝑑 𝑓𝑜𝑟 𝑝𝑎𝑠𝑡𝑎 𝑠ℎ𝑎𝑝𝑒 𝑗 𝑖𝑛 𝑠𝑡𝑜𝑟𝑒 𝑠

Page 9: Assortment Planning for P&G

9

𝑆𝑘,𝑠 = 𝑇ℎ𝑒 𝑓𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑎𝑙 𝑑𝑒𝑚𝑎𝑛𝑑 𝑓𝑜𝑟 𝑠𝑖𝑧𝑒 − 𝑝𝑟𝑖𝑐𝑒 𝑘

𝐷𝑠 = 𝑂𝑣𝑒𝑟𝑎𝑙𝑙 𝑑𝑒𝑚𝑎𝑛𝑑 𝑓𝑜𝑟 𝑠𝑡𝑜𝑟𝑒 𝑠

𝐿𝑖 = 𝑙𝑜𝑦𝑎𝑙𝑡𝑦 𝑠𝑐𝑜𝑟𝑒 𝑓𝑜𝑟 𝑏𝑟𝑎𝑛𝑑 𝑖

𝑝𝑟𝑖𝑐𝑒(𝑖,𝑗,𝑘) = 𝑝𝑟𝑖𝑐𝑒 𝑜𝑓 𝑆𝐾𝑈 (𝑖, 𝑗, 𝑘)

s.t

∑ ∑ ∑ 𝑅(𝑎,𝑖,𝑗,𝑘) ≤ max _𝑠𝑘𝑢 ∀ 𝑎

𝑘𝑗𝑖

∑ 𝑈(𝑠,𝑎) = 1 ∀ 𝑠

𝑎

𝑈(𝑠,𝑎) + 𝑅(𝑎,𝑖,𝑗,𝑘) ≤ 1 + 𝑦(𝑎,𝑖,𝑗,𝑘,𝑠) ∀ (𝑎, 𝑖, 𝑗, 𝑘, 𝑠)

𝑅(𝑎,𝑖,𝑗,𝑘) ≥ 𝑦(𝑎,𝑖,𝑗,𝑘,𝑠) ∀ (𝑎, 𝑖, 𝑗, 𝑘, 𝑠)

𝑈(𝑠,𝑎) ≥ 𝑦(𝑎,𝑖,𝑗,𝑘,𝑠) ∀ (𝑎, 𝑖, 𝑗, 𝑘, 𝑠)

𝑥(𝑖,𝑎) ≤ ∑ ∑ 𝑅(𝑎,𝑖,𝑗,𝑘) ∀ (𝑖, 𝑎)

𝑘𝑗

𝑐(𝑖,𝑎) = 1 − 𝑥(𝑖,𝑎) ∀ (𝑖, 𝑎)

𝑐(𝑖,𝑎) + 𝑈(𝑠,𝑎) ≤ 1 + 𝑡(𝑖,𝑎,𝑠) ∀ (𝑖, 𝑎, 𝑠)

𝑈(𝑠,𝑎) ≥ 𝑡(𝑖,𝑎,𝑠) ∀ (𝑖, 𝑎, 𝑠)

𝑐(𝑖,𝑎) ≤ 𝑡(𝑖,𝑎,𝑠) ∀ (𝑖, 𝑎, 𝑠)

This model was executed in AMPL using the gurobi solver. A run file with a for loop was used to

run the optimization from 1 to 10 assortments. This was performed for a range of max SKU in

assortment values.

Results

Both the pure revenue and penalized optimization have the greatest percent increase when the

maximum allowable SKUs in assortment is low. In this case the lowest maximum SKU value used was 20

out of the 110 available SKUs to choose from. With a percent increase from 1 to 10 (complete

localization) assortments for the pure revenue and penalized objectives of 6.16% (Figure 1) and 6.05%

(Figure 2) respectively. At 40 SKUs (36.4% of available SKUs) the percent increase for the pure revenue

and penalized objectives is reduced to 3.05% (Figure 1) and 3.14% (Figure 2) respectively. As the number

of assortments increase the percent increase in revenue decreases, which is intuitive. Both the pure

revenue and penalized objective show a large percent increase when going from 1 to 2 assortments,

4.41% (Figure 1) and 4.55% (Figure 2) for 20 SKUs respectively. The increase continues at a slower rate

as the number of assortments go from 2 to 6 assortments (Figures 1 and 2). Past 6 assortments there is

little appreciable increase in the objective function. The pure revenue and penalized objectives capture

97.4% and 96.6% at 6 assortments as the maximum value of the objectives with complete localization at

10 assortments.

Page 10: Assortment Planning for P&G

10

The SKUs in assortment were different between the pure revenue and penalized objective

models. However the differences were small and had only a small effect on revenue. The greater the

localization (more assortments) the greater the difference was between assortments of the pure

revenue and penalized objective models. This makes logical sense as we would expect there to be a core

group of SKUs that are in high demand in all stores and localized demand would affect a smaller subset

of SKUs. The penalty imposed was relatively small but could be increased if not including brands that

some customers are highly loyal to is considered to be significantly detrimental to the stores overall

business.

The results suggest that a small amount of localization/customization (i.e. going from 1 to 2

assortments) can achieve a significant proportion of the revenue of complete localization. The results

clearly indicate that localization is more important if a small percentage of available SKUs are going to

be offered. Further the customization of SKU offerings is small with the assortments carrying the same

core SKUs. The customization occurs for a small number of SKUs in assortment. While the 382 stores in

the data set were clustered into 10 similar groups it is unclear how much more revenue could be gained

by having unique assortments for every store. It is also unclear how much customization there would

need to be to capture a significant proportion of the revenue gained by complete customization.

Figure 1: Pure Revenue

0.00%

1.00%

2.00%

3.00%

4.00%

5.00%

6.00%

7.00%

1 2 3 4 5 6 7 8 9 10

# of assortments

Percent Increase in Pure Revenue Objective

20 SKU

40 SKU

60 SKU

80 SKU

Page 11: Assortment Planning for P&G

11

Figure 2: Penalized Objective

Conclusion

This paper clearly demonstrates a methodology for assortment optimization based on localized

demand. First demand must be assessed. We demonstrate an approach where SKUs are considered as a

collection of attributes. The fractional demand for each attribute level and overall demand for the

attribute space can be estimated through an optimization that minimizes absolute difference of

predicted demand and transactional data. Once demand is assessed assortments can be created and

stores assigned to assortments through a second optimization that maximizes revenue but could be

used for profit or other metrics. There are technical challenges to this approach addressed in this paper,

namely nonlinear objective functions and computational time. We showed that a modest amount of

localization can provide significant increases in revenue. The advantage of our approach is that it only

uses transactional data, something all retailers would have available to them.

Future Study

Our approach for demand estimation neglects substitution behavior. That is, if a customers

preferred SKU is not carried, they may be willing to substitute to a different SKU. Our approach assumes

that if the customer does not find their first choice the sale is lost, which may not the best

approximation of consumer behavior. Future models will need to consider substitution behavior.

Our approach for assortment planning requires significant computational time and we were

forced to make simplifications. Further study into reducing computational time is needed. Reduction in

computational time could come from more powerful computers, improved optimization algorithms or a

reformation of the model that is easier to solve. Future models should be capable of going from one

national assortment to complete localization where every store has a unique assortment.

0.00%

1.00%

2.00%

3.00%

4.00%

5.00%

6.00%

7.00%

1 2 3 4 5 6 7 8 9 10

# of assortments

Percent Change in Penalized Objective

20 SKU

40 SKU

60 SKU

Page 12: Assortment Planning for P&G

12

References

Adhikarla, Swati. “Store Clustering and Assortment Optimization.” University of Cincinnati Capstone

(2015)

Das, Auroshis. “Assortment Planning Strategy for a Retailer.” University of Cincinnati Capstone (2015)

Fisher, Marshall, and Ramnath Vaidyanathan. "A Demand Estimation Procedure for Retail Assortment

Optimization with Results from Implementations." Management Science 60.10 (2014): 2401-

415. Web.

Gaur, Vishal, and Dorothée Honhon. "Assortment Planning and Inventory Decisions Under a Locational

Choice Model." Management Science 52.10 (2006): 1528-543. Web.

Kök, A. Gürhan, and Marshall L. Fisher. "Demand Estimation and Assortment Optimization Under

Substitution: Methodology and Application." Operations Research 55.6 (2007): 1001-021.

Web.

Kök, A. Gürhan, and Yi Xu. "Optimal and Competitive Assortments with Endogenous Pricing Under

Hierarchical Consumer Choice Models." Management Science 57.9 (2011): 1546-563. Web.