Dynamic Pricing over Finite Horizons:
Single Resource Case
Guillermo Gallego
Spring 13
Abstract
In this chapter we consider the problem of dynamically pricing one or more products
that consume a single resource to maximize the expected revenue over a finite horizon.
We assume that there is a sunk investment in capacity that is not-replenishable over
the sales horizon. We formulate continuous and discrete optimal control problems for
price sensitive, Poisson and compound Poisson, demands. We discuss the advantages
and disadvantages of dynamic pricing versus fixed pricing and versus quasi-static pricing
policies. We use Approximate Dynamic Programming with affine functions to obtain
an upper bound on the value function and to develop heuristics that are asymptotically
optimal as the size of the system scales. We then consider pricing with finite price menus
and semi-dynamic pricing strategies.
1 Single Product Dynamic Pricing
In this Chapter we consider the problem of dynamically pricing one or more products that
consume a single resource over a finite horizon with the objective of maximizing the expected
revenue that can be obtained from c units of capacity over a given selling horizon. We will
measure time backwards so that t is the time-to-go until the end of the horizon. At the start
of the selling season the time-to-go is T . We assume that the salvage value at the end of the
horizon is zero to reflect the fact that in many applications the product is perishable. If there
is a positive salvage value then the objective is to maximize the expected revenue in excess
of salvage value, so the zero salvage value can be made without loss of optimality. We will
assume that the capacity provider cannot replenish inventory during the sales horizon. This
assumption holds for hotels and seasonal merchandise including fashion retailing, and to a
large extent to airlines who allocate planes to routes but may, in some cases, swap planes of
different capacities to better align capacity with demand.
We will assume that customers arrive as a time heterogeneous Poisson or compound Poisson
process. Expositionally, it helps to introduce the basic formulation for the Poisson case and
later take care of the changes needed to deal with the compound Poisson case. It is also
1
helpful to initially work with a single product and then show how that under mild conditions
the same formulation works for multiple products consuming a single resource. The pricing
problem for multiple resources will be dealt in a different Chapter.
Let dt(p) be the Poisson arrival rate of customers willing to buy at price p ∈ <+ at time
t. We assume that customers unwilling to buy at price p leave the system. Let rt(p,z) =
(p−z)dt(p). We know from the Static Pricing Chapter that if dt(p) is upper semi-continuous,
and
∫∞
0 d̄t(p)dp < ∞, where d̄t(p) = supq≥p d(q), then there exist a finite price pt(z), increasing
in z, such that rt(z) = supp≥0 rt(p,z) = maxp≥0 rt(p,z) = rt(pt( ...
Dynamic Pricing over Finite HorizonsSingle Resource Case.docx
1. Dynamic Pricing over Finite Horizons:
Single Resource Case
Guillermo Gallego
Spring 13
Abstract
In this chapter we consider the problem of dynamically pricing
one or more products
that consume a single resource to maximize the expected
revenue over a finite horizon.
We assume that there is a sunk investment in capacity that is
not-replenishable over
the sales horizon. We formulate continuous and discrete optimal
control problems for
price sensitive, Poisson and compound Poisson, demands. We
discuss the advantages
and disadvantages of dynamic pricing versus fixed pricing and
versus quasi-static pricing
policies. We use Approximate Dynamic Programming with
affine functions to obtain
an upper bound on the value function and to develop heuristics
that are asymptotically
optimal as the size of the system scales. We then consider
pricing with finite price menus
and semi-dynamic pricing strategies.
1 Single Product Dynamic Pricing
In this Chapter we consider the problem of dynamically pricing
2. one or more products that
consume a single resource over a finite horizon with the
objective of maximizing the expected
revenue that can be obtained from c units of capacity over a
given selling horizon. We will
measure time backwards so that t is the time-to-go until the end
of the horizon. At the start
of the selling season the time-to-go is T . We assume that the
salvage value at the end of the
horizon is zero to reflect the fact that in many applications the
product is perishable. If there
is a positive salvage value then the objective is to maximize the
expected revenue in excess
of salvage value, so the zero salvage value can be made without
loss of optimality. We will
assume that the capacity provider cannot replenish inventory
during the sales horizon. This
assumption holds for hotels and seasonal merchandise including
fashion retailing, and to a
large extent to airlines who allocate planes to routes but may, in
some cases, swap planes of
different capacities to better align capacity with demand.
We will assume that customers arrive as a time heterogeneous
Poisson or compound Poisson
process. Expositionally, it helps to introduce the basic
formulation for the Poisson case and
later take care of the changes needed to deal with the compound
Poisson case. It is also
1
helpful to initially work with a single product and then show
how that under mild conditions
3. the same formulation works for multiple products consuming a
single resource. The pricing
problem for multiple resources will be dealt in a different
Chapter.
Let dt(p) be the Poisson arrival rate of customers willing to buy
at price p ∈ <+ at time
t. We assume that customers unwilling to buy at price p leave
the system. Let rt(p,z) =
(p−z)dt(p). We know from the Static Pricing Chapter that if
dt(p) is upper semi-continuous,
and
∫∞
0 d̄ t(p)dp < ∞, where d̄ t(p) = supq≥p d(q), then there exist a
finite price pt(z), increasing
in z, such that rt(z) = supp≥0 rt(p,z) = maxp≥0 rt(p,z) =
rt(pt(z),z). As an example, if
dt(0) < ∞ and dt(p) is decreasing in p, we can write d̄ t(p) =
dt(p) = λtHt(p) where Ht(p) =
dt(p)/dt(0) = P(Wt ≥ p) for some random variable Wt. In this
case, the existence of a finite
maximizer pt(z) is guaranteed if Ht(p) is left continuous and
E[Wt] < ∞.
Let V (t,x) be the maximum expected revenue when the time-to-
go is t, and the remaining
inventory is x ≥ 1. We will refer to (t,x) as the state of the
system, with (T,c) being the
initial state. Our goal is to find V (T,c) and an optimal dynamic
pricing policy that results
in expected revenue V (T,c). Consider a time increment δt small
enough to approximate the
probability of a request for one unit at price p by dt(p)δt. Then,
4. V (t,x) = sup
p
{dt(p)δt[p + V (t− δt,x− 1)] + (1 −dt(p)δt)V (t− δt,x)} + o(δt)
(1)
where o(t) is function that goes to zero faster than t.
Researchers and practitioners who
prefer to keep the formulation in discrete time typically drop
the o(δt) term and work with
the resulting discrete time dynamic program, usually after
rescaling time so that δt = 1. If
dt(p) = λtHt(p) is continuous in t then we can rearrange terms
and taking the limit as δt goes
to zero we obtain the Hamilton Jacobi Bellman (HJB) partial
differential equation:
∂V (t,x)
∂t
= sup
p
rt(p, ∆V (t,x)) = rt(∆V (t,x)), (2)
where ∆V (t,x) = V (t,x) − V (t,x − 1) is the marginal value of
the xth unit of capacity for
integer x ≥ 1. The boundary conditions are V (t, 0) = V (0, t) =
0. If dt(p) is piecewise
continuous then the HJB equation (2) holds over each
subinterval where dt(p) is continuous
where the boundary condition is modified to be the value
function over the remaining time
horizon. If dt(p) satisfies the conditions of Theorem 2 in the
Static Pricing Chapter, then an
optimal policy at state (t,x) is given by P(t,x) = pt(∆V (t,x))
where pt(z) is the price that
5. maximizes rt(p,z).
1.1 Examples with Closed Form
Solution
We now present a couple of examples for which we can directly
solve the HJB without resorting
to numerically solutions.
Example 1 Suppose that dt(p) = λ exp(−p/θ) for all t ∈ [0,T].
This corresponds to a
time homogeneous arrival rate λ and an a time homogenous
exponential willingness to pay
2
H(p) = P(W ≥ p) = exp(−p/θ) with mean θ. Gallego and van
Ryzin [6] have shown that
V (t,x) = θλ∗ t + θ ln(Pr(N∗ (t) ≤ x)) (3)
6. = θ ln
j=0
(λ∗ t)j
j!
where N∗ (t) is the time homogeneous Poisson process with rate
λ∗ = λ/e. One can verify
that (3) satisfies the HJB equation (2) by taking the partial
derivative with respect to t.The
corresponding optimal price policy is given by
P(t,x) = θ + ∆V (t,x) (4)
= θ
(
7. 1 + ln
(
Pr(N∗ (t) ≤ x)
Pr(N∗ (t) ≤ x− 1)
))
.
To illustrate the solution, suppose that the arrival rate is λ = 2,
T = 50 and the willingness
to pay is exponentially distributed with mean θ = 500. If c = 50,
then V (50, 50) = $18, 386.31.
Figure 1 shows the price paths P(t,x),x ∈ {1, . . . , 5} for t ∈
{5, 10, . . . , 50}. The figures
confirm that P(t,x) increases with t and decreases with x. Since
t is the time-to-go, prices
decrease as time elapses and there is a price increase P(t,x− 1)
−P(t,x) when a sale occurs
at state (t,x). Notice also that the price paths are neither convex
nor concave in t for fixed x.
Example 2 Suppose that dt(p) = λtp
−b for some b > 1. Then pht(p) = b for all t where
8. h(p) = −d′t(p)/dt(p) is the hazard rate. Since pht(p) is the
absolute elasticity of demand, this
demand function has a constant elasticity of demand. Let Λt =
∫ t
0 λsds be the expected number
of sales at price p = 1, and let kx be a sequence defined by k0 =
0 and for integer x ≥ 1,
kx =
(
b−1
b
)b−1
(kx −kx−1)1−b.
McAfee, and te Velde [8] have shown that
V (t,x) = Λ
1/b
t kx (5)
9. P(t,x) = Λ
1/b
t k
−1/(b−1)
x . (6)
They also show that for large x, V (t,x) ' (Λt)1/bx1−1/b and
P(t,x) ' (Λt/x)1/b.
To illustrate the solution suppose that λ = 2 and T = 50 and b =
1.5. For c = 30,
V (50, 30) = 65.44. The price paths P(t,x),x ∈ {1, . . . , 5} for t
∈ {5, 10, . . . , 50} are given in
Figure 2.
1.2 Discrete Time Formulation and Numerical