markdown optimization under inventory depletion effect
TRANSCRIPT
<Insert Picture Here>
Markdown Optimization under Inventory Depletion Effect
Andrew Vakhutinsky, Alex Kushkuley, Manish Gupte
Oracle Retail GBU
Markdown Challenges for Large Retailers
• When should the Markdown occur and how deep
should the markdown be?
• How should a retailer balance the tradeoff between
sales volume and price?
• How can a retailer centrally manage millions of
combinations of Merchandise/Location/Candidate
Markdowns?
2
Last Year Actual
Sales
0
100
200
300
400
500
600
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Week
Sa
les
Un
its
0
100
200
300
400
500
600
Sale
s U
nit
s
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Week
Last Year Sales Deconstructed
Markdown
Promotion
Seasonal
Lift
25% MD 50% MD
Circular BOGO
Christmas
Last Year’s Causal Factors
Natural Demand
We decompose historical sales patterns into specific demand drivers representing
different causal factors.
Demand Decomposition
Problem Formulation• Given: Initial product price p0, inventory level I0, and
markdown season length, T,
• Find: Sequence of non-increasing prices pt , t = 1,…,T, to
maximize the total revenue over the markdown season.
4
Ttpp
sII
Is
TtddppIds
sp
tt
ttt
tt
tttt
T
t
tt
,...,1
,...,1 ),...,,,...,,(
subject to
max
1
1
1
1110
1
Assumptions
• Single-product dynamic pricing without replenishment
• Merchandise items aggregated over size/color
• Some items’ stock is below presentation minimum resulting in
adverse inventory effect
• Myopic customers coming from infinite population
• Discrete price ladder
• Stochastic demand
1
6
11
16
21
26
31
36
41
46
51
0% 10% 20% 30% 40% 50% 60% 70% 80% 90%
Markdown %
Sa
les
Ac
ce
lera
tor
Markdown Events
Expected
High
Low
Estimating Price Elasticity
How much do sales change when prices change?
Observed Markdown Response Within a Subclass
Price Elasticity Model
0
1
2
3
4
5
6
7
8
9
5 10 15 20 25 30 35 40 45 50
% Off Full Price
Sa
les
Mu
ltip
lie
r
Girl's Dress Shoe Women's Sandal Women's Boot
Subclass Elasticities
Se
as
on
ali
ty In
de
x (
1 =
ave
rag
e w
ee
k)
Seasonality
Seasonality captures the ebb and flow of demand driven by holidays,
promotions and normal weather patterns.
0
1
2
3
4
5
6
7
8
03/15/03 05/24/03 08/02/03 10/11/03 12/20/03 02/28/04
0%
20%
40%
60%
80%
100%
0 10 20 30 40 50 60 70 80
Current OH as % of Max OH
Inv
en
tory
Eff
ec
t F
ac
tor
Inventory Effect
Sales Dampening vs. Inventory Sell-Through
Demand model
• Demand modeled as a function of: time, price, on-hand inventory.
d = d(t, p, I)
• Demand model components:
o Price Effect, dp(p): captures the sensitivity of demand to price
changes; modeled as isoelastic function of price p with constant
elasticity γ < –1
dp(p) = (p/pf)γ where pf is the full price of the item
o Inventory Effect (broken-assortment effect: willing-to-pay
customers cannot find their sizes/colors), dI(I): modeled as power
function of on-hand inventory I
dI(I) = (I/Ic)α where Ic is the critical inventory of the item
o Seasonality, s(t): seasonal variation of demand due to holidays
and seasons of the year; shared by similar items
Demand model and parameter fitting
• Demand is a product of the above-mentioned components:
d(t, p, I) = k dp(p) dI(I) s(t) δ(t) = k (p/pf)γ (I/Ic)
α s(t)
According to this model, the inventory must satisfy the following
differential equation:
- dI(t)/dt = k (p(t)/pf)γ (I(t)/Ic)
α s(t)
• Fitting the demand model:
• Estimate: base demand (k), price elasticity (γ) and inventory effect (α)
• Means: regression on multiple sales data points with known price,
inventory and seasonality.
Inventory effect at constant price: p(t) = p0
1 if ,1
1 if ,)(
)1(11))(()(
(1) where
1 if ,
1 if ,)(
)1(1)(
:are )( revenue cumulative and )( level inventory Then
),0()( and )(1
),( :Denote
0
0
2
1
/)(
00
1
1
0
0000
00
/)(
0
1
1
0
0
12
21
ItKt
cfItKt
t
t
eIp
I
tKtIp
tIIptR
I
I
p
pkK
eI
I
tKtItI
tRtI
ttduustt
tt
Cumulative revenue: 50 weeks, various inventory effects
p0=$100; I0=1000; K=100; α=0.8,1,1.2 and α=0, no inventory effect
$0
$10,000
$20,000
$30,000
$40,000
$50,000
$60,000
$70,000
$80,000
$90,000
$100,000
0 10 20 30 40 50
α = 1
α = 0.8
α = 1.2
α = 0
weeks
Optimal Price Control:
continuous time and price
• MDO as a constrained variational problem
00
0
1
)0(,)0( :conditions initial with
)()()()(
subject to
)()()(
max
IIpp
tsp
tp
I
tIk
dt
tdI
dttsp
tp
I
tIkp
fc
T
fc
f
• Optimal solution:
(2) )()1(
and 1
where)(
)(1)( 0
1
1
0
k
θI τ
ttptp
Properties of the optimal solution for
continuous price and time
• Inventory level evolution under optimal price control:
• Optimal revenue when T = τ : R*(T) = p0I0 θ/(θ+1)
• Otherwise (if T ≠ t), the price control is not smooth:
• If T < τ, set p0 := p0 (τ/T)1/γ and re-apply optimal price control (2)
• If T > τ, keep price p(t) = p0 until time ts determined by:
then re-apply optimal price control (2) with new I0 = I(ts) where during
time period [0, ts] inventory level evolves at constant price according to (1)
1
0)(
)(1)(
ttItI
1 where
),()()1(
/),(1
1
01
θ
Ttt
KITtTt
ss
ss
Optimal Price Control:
discrete price ladder, periodic updates
• Approximate the optimal trajectory at each periodic price update
• At the price update time t compute optimal price:
• Compare p*(t) to the current price p(t):
• If p*(t) < p(t), then set the current price p(t) to the point in the price ladder,
which is closest to p*(t)
• If p*(t) ≥ p(t) and ts < tnext , lower p(t) one notch in the price ladder
• Performance can be further tuned up by selecting rounding
criteria based on update period, proximity of the switching time ts
to the next update time tnext , etc.
//1
*
)()(),(
)(
1)(
tI
I
tTkTt
tI
θ
θptp c
f
Example of optimal price control:
p0 = $100; I0 = 1000; K = 20; α = 0.8; γ = −2 → τ = 28 weeks
T = τ = 28 weeks: keep on the optimal trajectory (blue line)
T = 25 weeks: optimal trajectory starts at discounted price of $80 (green)
T = 31 weeks: price constant until it reaches optimal trajectory (red line)
0
20
40
60
80
100
120
0 10 20 30 40
T = 28
T = 31
T = 25
T=28, price ladder
weeks
Pricing Policy for Stochastic Demand
weekly price
adjustment
weekly
salesweekly
demand
Pricing Policy:
• Current price adjustment is a function of previous demand realizations
• Determined by several parameters tuned to optimize performance
Regret measure:
• Difference between revenue obtained by applying closed-loop control
and optimal solution obtained in hindsight, i.e. when the demand
realization is known.
Optimization Objective: Regret minimization
Computational Experiments
• Sales data from a large national fashion retailer
• ~100 merchandise x 500 locations ≈ 50,000 items
• Demand model parameters fitted via regression
• Closed loop simulated with multiple demand realizations
• Price policy parameters tuned-up to improve performance
• Regret measure: Mean relative regret
• Two price policies compared:
1. Closed-form analytical solution (fast computation)
2. Dynamic programming approach (slow)
0%
1%
2%
3%
4%
5%
6%
10 15 20 25 30
rela
tive
re
gre
t
markdown season length (weeks)
Relative regret vs. number of weeks in markdown season for two different policies
closed-form based policy
dp-search based policy
Effect of parameter estimation error
-0.5%
0.0%
0.5%
1.0%
1.5%
2.0%
2.5%
3.0%
-25% -15% -5% 5% 15% 25%
relative revenue loss vs. parameter estimation error
stochastic demand
deterministic demand
References
•R. Lobel and G. Perakis. Dynamic Pricing Through Sampling
Based Optimization, Submitted 2010
•S. A. Smith and D. D. Achabal. Clearance pricing and
inventory policies for retail chains. Management Science,
44:285–300, 1998
•K.T. Talluri and G.J. Van Ryzin. Dynamic pricing. In The
Theory and Practice of Revenue Management, chapter 5.
Kluwer Academic Publishers, 2004
Summary
• Fast and scalable computational schema
• Adequately captures inventory effect
• Business rules friendly