Abstract
We consider an irreversible dynamic pricing situation in which a firm uses real-time inventory information to decide the most opportune time to raise its sales prices. Feng and Xiao (Oper Res 48:332–343, 2000b) has studied this problem along with the opposite markdown case. In quite symmetric fashions, they established the optimality of threshold policies for both cases. Though the earlier work has made dramatic advances in dynamic pricing and at the same time pioneered with many relevant techniques, we believe its treatment of the markup case warrants some revision. In particular, we find it is in possession of an erstwhile-unknown complementarity property between price flexibility and inventory, whose counterpart is not true for the markdown case. This property is needed in the derivation leading to the optimality of a threshold policy. Our development also allows demand to be time-dependent in a product form, and naturally leads to an efficient policy-computing algorithm.
Similar content being viewed by others
References
Araman, V. F., & Caldentey, R. (2009). Dynamic pricing for nonperishable products with demand learning. Operations Research, 57, 1169–1188.
Aviv, Y., & Pazgal, A. (2005). A partially observed Markov decision process for dynamic pricing. Management Science, 51, 1400–1416.
Besbes, O., & Zeevi, A. (2009). Dynamic pricing without knowing the demand function: Risk bounds and near optimal algorithms. Operations Research, 57, 1407–1420.
Bitran, G. R., & Mondschein, S. V. (1997). Periodic pricing of seasonal products in retailing. Management Science, 43, 64–79.
Broder, J., & Rusmevichientong, P. (2012). Dynamic pricing under a general parametric choice model. Operations Research, 60, 965–980.
Farias, V. F., & van Roy, B. (2010). Dynamic pricing with a prior on market responses. Operations Research, 58, 16–29.
Feng, Y., & Gallego, G. (1995). Optimal starting times for end-of-season sales and optimal stopping times for promotional fares. Management Science, 41, 1371–1391.
Feng, Y., & Gallego, G. (2000). Perishable asset revenue management with Markovian time dependent demand intensities. Management Science, 46, 941–956.
Feng, Y., & Xiao, B. (2000a). A continuous-time yield management model with multiple prices and reversible price changes. Management Science, 46, 644–657.
Feng, Y., & Xiao, B. (2000b). Optimal policies of yield management with multiple predetermined prices. Operations Research, 48, 332–343.
Gallego, G., & van Ryzin, G. J. (1994). Optimal dynamic pricing of inventories with stochastic demand over finite horizons. Management Science, 40, 999–1020.
Gallego, G., & van Ryzin, G. J. (1997). A multiproduct dynamic pricing problem and its applications to network yield management. Operations Research, 45, 24–41.
Karlin, S. (1968). Total positivity (Vol. I). Stanford, CA: Stanford University Press.
Wang, Z., Deng, S., & Ye, Y. (2014). Close the gaps: A learning-while-doing algorithm for single-product revenue management problems. Operations Research, 62, 318–331.
Xia, Y., Yang, J., & Zhou, T. (2019). Revenue management under randomly evolving economic conditions. Naval Research Logistics, 66, 73–89.
Zhao, W., & Zheng, Y.-S. (2000). Optimal dynamic pricing for perishable assets with nonhomogeneous demand. Management Science, 46, 375–388.
Acknowledgements
Jian Yang’s research has benefited from the National Natural Science Foundation of China Grants 11371273 and 71502015.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendices
Proofs for the markup case
Proof of Proposition 2
We can use a sample-path argument to prove that
We allow four pools of inventories, termed 1, 2, \({\bar{1}}\), and \({\bar{2}}\), to start at time t with the same price \({\bar{p}}^k\) and experience the same sample path over the interval [t, T]. These pools have different starting inventory levels and may exert different price controls, though. Pools 1 and 2 start with \(n+1\) and \(n-1\) initial items and pools \({\bar{1}}\) and \({\bar{2}}\) with n items.
Besides applying optimal time-increasing stopping-time pricing policies to pools 1 and 2, we apply the higher of the two prices for pools 1 and 2 to pool \({\bar{1}}\) and the lower of the two prices to pool \({\bar{2}}\), until the first moment, say s, when pool 1 is to have generated one more demand arrival than pool \({\bar{1}}\). After s, we let pool \({\bar{1}}\) follow pool 1’s decisions and pool \({\bar{2}}\) follow pool 2’s decisions. As both the minimum and maximum of two decreasing functions are decreasing functions themselves, pools \({\bar{1}}\) and \({\bar{2}}\) can be considered as adopting time-increasing stopping-time pricing policies as well.
Suppose the moment ever occurred, i.e., \(s\in [t,T)\). Then, it has already been shown by Zhao and Zheng that the total sales revenue made by pools \({\bar{1}}\) and \({\bar{2}}\) amounts to the same as that by pools 1 and 2. Suppose the moment never occurred, i.e., \(s=T\). Then, it has been shown by Zhao and Zheng that pools \({\bar{1}}\) and \({\bar{2}}\) can generate as high a total sales revenue as pools 1 and 2. So regardless, on every sample path, pools \({\bar{1}}\) and \({\bar{2}}\) can generate as high a total revenue as pools 1 and 2. Thus, we have proved (A.1). \(\square \)
Proof of Proposition 3
We use a sample-path approach to show the following: for any \(n=0,1,\ldots ,N-1\),
We prove by induction on the inventory level n. Let us first prove
For every possible k and t, we introduce four pools of inventories, 1, 2, \({\bar{1}}\), and \({\bar{2}}\), that experience identical sample paths. At time t, pools 1 and \({\bar{1}}\) are with price index \(k+1\), and pools 2 and \({\bar{2}}\) are with price index k. Also, pools 1 and \({\bar{2}}\) have one item, while pools \({\bar{1}}\) and 2 are out of stock. Apparently, pools \({\bar{1}}\) and 2 will continue to hold zero inventory. On the other hand, pool \({\bar{2}}\) can immediately raise its price to \({\bar{p}}^{k+1}\) and then match actions taken by pool 1. Hence, (A.3) is true.
Now, for some \(n=1,2,\ldots N-1\), suppose it is true that, for any \(m=0,1,\ldots ,n-1\),
We now prove that
For any possible k and t, we rely on pools 1, 2, \({\bar{1}}\), and \({\bar{2}}\) that experience identical sample paths. At time t, pools 1 and \({\bar{1}}\) are with price index \(k+1\), and pools 2 and \({\bar{2}}\) are with price index k. Also, pools 1 and \({\bar{2}}\) both have \(n+1\) items, while pools \({\bar{1}}\) and 2 both have n items. For \(s\in [t,T]\), let us use \(N_i(s)\) to denote the inventory level of pool i at time s. For instance, we have \(N_{{\bar{1}}}(t)=n\) and \(N_{{\bar{2}}}(t)=n+1\). We let pools 1 and 2 execute their respective optimal decisions. For a certain period, we let pool \({\bar{1}}\) follow pool 1’s decisions and pool \({\bar{2}}\) follow pool 2’s decisions. Note that prices adopted by all pools are increasing over time.
We let this certain period end at the first moment, say \(s\in [t,T)\), when (a) pools 1 and 2 have reached the same price, (b) pools 2 and \({\bar{2}}\) have just experienced one more arrival than pools 1 and \({\bar{1}}\), or (c) pools 1 and \({\bar{2}}\) both have just one item left while pools \({\bar{1}}\) and 2 have no item left. We may denote the case where none of the above occurs by \(s=T\). This is the case when by time T, at any moment the price taken by pool 2 has always been strictly lower than that taken by pool 1, yet all pools have admitted the same demand arrivals, and none of the pools have run out of stock. We caution that the opposite to (b) will not occur, since before its price “catches up” with that of pool 1, pool 2 always charges a strictly lower price than pool 1 and hence, by (S1’), has more chance to realize sales.
For all cases, pools \({\bar{1}}\) and \({\bar{2}}\) will have together generated the same revenue as pools 1 and 2 by time s. This also means that we are already done when \(s=T\).
When (a) ever occurs, we may let pools \({\bar{1}}\) and \({\bar{2}}\) both execute optimal decisions from time s on. Then, within the time interval [s, T], pool \({\bar{1}}\) will behave exactly the same as pool 2, and pool \({\bar{2}}\) will behave exactly the same as pool 1. So, pools \({\bar{1}}\) and \({\bar{2}}\) will continue to together produce the same revenue as pools 1 and 2 do.
When (b) ever occurs, denote the price taken by pool 1 at time s by \(k_1\) and the price taken by pool 2 at time s by \(k_2\). We have \(k_1>k_2\), and
Hence, from the induction hypothesis (A.4), we have
But from Proposition 2, we also have
Combining (A.7) and (A.8), we obtain
In view of the memorylessness property of the Poisson process, (A.9) means that, conditioned on the same sample path up to the provocation of (b), pools \({\bar{1}}\) and \({\bar{2}}\) will on average together earn more than pools 1 and 2 in the time interval [s, T].
When (c) ever occurs, denote the price taken by pool 1 at time s by \(k_1\) and the price taken by pool 2 at time s by \(k_2\). We have \(k_1>k_2\), and
From the induction hypothesis (A.4), we have
In view of the memorylessness property of the Poisson process, (A.11) means that, conditioned on the same sample path up to the provocation of (c), pools \({\bar{1}}\) and \({\bar{2}}\) will on average together earn more than pools 1 and 2 in the time interval [s, T].
In view of all the above, we see that (A.5) is true. We have hence completed the induction process. Therefore, (A.2) is true. \(\square \)
Proof of Theorem 1
The proof has use of the following lemma, which was originated in Karlin (1968) and also used in Feng and Xiao (2000b).
Lemma 1
Let \(k>0\) and \(\phi (t)=\int _t^{+\infty }\rho (s)\cdot exp(-k\cdot (s-t))\cdot ds\). Then, \(\phi (t)\) will be decreasing in \(t\ge 0\) if \(\rho (s)\) is decreasing in \(s\ge 0\).
We prove by induction on k. Let us focus on proving (a[K]) to (f[K]) first. Take \(n=1,2,\ldots ,N\). From (3), we have
which, by (2), amounts to
Taking derivative over t, we find that, for \(t\in (0,T)\),
Taking differences over n, we find that
From (A.14) and (A.15), it can be checked that
Consulting (5) and (6), we obtain
In view of the construction (9), we may see (c[K]), that
From (A.16), we may confirm (d[K]) with the understanding that \(\tau ^{K+1}_n=0\) for \(n=1,2,\ldots ,N\). The convention for the \(\tau ^{K+1}_n\)’s also leads directly (e[K]). By (A.16) and the convention on \(\tau ^{K+1}_n\) and \(v^{K+1}_n(t)\), we may see that (a[K]) and (b[K]) are both true. To verify (f[K]), we can use the same method on (f[k]) for \(k=K-1,K-2,\ldots ,0\), which is presented near the end of this proof.
Suppose for some \(k=K-1,K-2,\ldots ,0\), we have (a\([k+1]\)), that
(b\([k+1]\)), that \({{\mathcal {G}}}^{k+1}_n(t)\circ v^{k+2}/\beta (t)\) is increasing in t for \(n=1,2,\ldots ,N\) and \(t\in (0,T)\), (c\([k+1]\)), that
(d\([k+1]\)), that, for \(n=1,2,\ldots ,N\),
and
(e\([k+1]\)), that \(\tau ^{k+2}_n\) is decreasing in n, and (f\([k+1]\)), that \(v^{k+1}_n(t)\) has decreasing differences between n and t.
Now we embark on showing (a[k]) to (f[k]). For \(n=1,2,\ldots ,N\), by the definition of \(\tau ^{k+1}_n\) through (11), we know that
and
By (5) and (6), we may see that the construction (10) renders
Our construction through (10)–(12) also guarantees that
Combining (A.24)–(A.27), we obtain
Thus we have (a[k]).
Note that (a\([k+1]\)) means (A.19). This, (b\([k+1]\)), and (d\([k+1]\)) together lead to the fact that \({{\mathcal {G}}}^{k+1}_n(t)\circ v^{k+2}/\beta (t)\) is increasing in t and below \(-{\bar{p}}^{k+1}{\bar{\alpha }}^{k+1}\). From the definition of \(u^{k+1}_n(t)\) for \(t\in [0,\tau ^{k+2}_n]\) through (12), (c\([k+1]\)), and (e\([k+1]\)), we may see that
Hence, in view of the above and (b\([k+1]\)) again, we may see that \({{\mathcal {G}}}^{k+1}_n(t)\circ v^{k+1}/\beta (t)\) is increasing in t and below \(-{\bar{p}}^{k+1}{\bar{\alpha }}^{k+1}\) when \(t\in (0,\tau ^{k+2}_n)\), and is flat at \(-{\bar{p}}^{k+1}{\bar{\alpha }}^{k+1}\) for \(t\in (\tau ^{k+2}_n,T)\). Now, note that
which, by (S1’) and (f\([k+1]\)), is increasing in t. This and the just proved result together lead to the increase of \({{\mathcal {G}}}^k_n(t)\circ v^{k+1}/\beta (t)\) in t. Hence, we have (b[k]).
From (a[k]) and (b[k]), we obtain, for \(n=1,2,\ldots ,N\),
Our construction (12) and (c\([k+1]\)) dictate that
We now define \({\overline{\lambda }}\), so that
By the continuity of \(\beta (\cdot )\) and the compactness of [0, T], we know that \({\overline{\lambda }}\) is a strictly positive and finite constant. By (S1’), we know that \({\overline{\lambda }}\) is the highest instantaneous arrival rate that could ever materialize. By its construction, \(u^k_n(t)\) is uniformly bounded by \(N{\overline{\lambda }} T\); it is also Lipschitz continuous in t with coefficient \(N{\overline{\lambda }}\), and hence absolutely continuous in t. By (A.23), (A.26), (A.31), and (A.32), and as well as the fact that \(v^{k+1}_n(T)=0\) for every n, we may see that \(u^k\equiv (u^k_n(t)\mid n=0,1,\ldots ,N,\;t\in [0,T])\) satisfies the sufficient conditions (i) to (iv) stipulated in Proposition 1. Hence, we have shown (c[k]), that \(u^k_n(t)=v^k_n(t)\) for every \(n=0,1,\ldots ,N\) and \(t\in [0,T]\).
From (A.26), (A.31), (A.32), and (c[k]), we easily have (d[k]).
For \(n=1,2,\ldots ,N-1\), we have, from (11), (c\([k+1]\)), and (c[k]),
By Proposition 3, however, we have
Combining (A.34) and (A.35), we obtain
But in view of (11), (c\([k+1]\)), and (c[k]), this leads to \(\tau ^{k+1}_{n+1}\le \tau ^{k+1}_n\). Thus, we have (e[k]).
Let us now turn to the proof of (f[k]). For convenience, we denote \(d_t v^k_n(t)/\beta (t)\) by \(w^k_n(t)\). When \(t\in (0,\tau ^{k+1}_n)\), which is \(\emptyset \) when \(k=K\), we have \(w^k_n(t)=w^{k+1}_n(t)\) from (d[k]). Hence, following (f\([k+1]\)), we know that \(w^k_n(t)\) is decreasing in t. Let \(t\in (\tau ^{k+1}_n,T)\) then. By (d[k]),
By the boundary conditions \(v^k_n(T)=v^k_{n-1}(T)=0\), we therefore have
Taking derivative on (A.37), it follows that
In view of (5), (6), and (A.38), we can solve (A.39) to obtain, for \(t\in (\tau ^{k+1}_n,T)\),
which, by the identity
results in
Since \({{\hat{\beta }}}(0,\cdot )\) is a strictly increasing function on [0, T], we can define strictly increasing function \(\theta (\cdot )\) on \([0,{{\hat{\beta }}}(0,T)]\), so that
This then leads to
In view of the above, we can bring a change of variables to the integral involved in (A.42), so that the latter becomes
Suppose \(w^k_{n-1}(t)\) is decreasing in t for \(t\in (0,T)\), then since \(\theta (\cdot )\) is increasing, we know \(w^k_{n-1}(\theta (y))\) is decreasing in y for \(y\in (0,{{\hat{\beta }}}(0,T))\). From (A.38) which also applies to \(w^k_{n-1}(T^-)\), we may see that
and
Hence, (A.45) can be rewritten as
By the decrease of \(({\bar{p}}^k{\bar{\alpha }}^k+w^k_{n-1}(\theta (y)))^+\) in \(y\ge 0\), the increase of \({{\hat{\beta }}}(0,t)\) in t, and Lemma 1, we can get the decrease of \(w^k_n(t)\) in t on \((\tau ^{k+1}_n,T)\). But combining with the earlier result on the other half interval, we may get the decrease of \(w^k_n(t)\) in t on the entire (0, T) from that of \(w^k_{n-1}(t)\). As \(w^k_0(t)=0\) for all \(t\in (0,T)\), we can therefore use induction on n to prove the decrease of \(w^k_n(t)\) in \(t\in (0,T)\) for all \(n=0,1,\ldots ,N\).
For \(t\in (0,\tau ^{k+1}_n)\), which is \(\emptyset \) when \(k=K\) and a subset of \((0,\tau ^{k+1}_{n-1})\) by (e[k]), we have from (d[k]) that,
Hence, \(v^k_n(t)-v^k_{n-1}(t)\) is decreasing in t by (f\([k+1]\)). For \(t\in (\tau ^{k+1}_n,T)\), we can achieve the same property by (A.37) and the just proved decrease of \(w^k_n(t)\) in t. Thus, we have shown (f[k]). Note that, when \(k=K\), the proof has no involvement of any \([k+1]\)-property.
We have now completed the induction process. Therefore, (a[k]) to (f[k]) are all true for \(k=K,K-1,\ldots ,0\). From these, we see that, for any \(k=K-1,K-2,\ldots ,0\) and \(n=1,2,\ldots ,N\),
Hence, we may see that each \(\tau ^{k+1}_n\) offers an optimal time by which the firm is to raise its price from \({\bar{p}}^k\) to \({\bar{p}}^{k+1}\) when it has n remaining items. \(\square \)
The markdown case
In the markdown case, the firm has to consecutively charge the sequence of decreasing prices \({\bar{p}}^K,{\bar{p}}^{K-1},\ldots ,{\bar{p}}^0\). Again, we show the optimality of a threshold policy \(\tau \equiv (\tau ^k_n\mid k=1,2,\ldots ,K,\;n=1,2,\ldots ,N)\in (\Delta _N)^K\). Under it, the firm should lower its price from \({\bar{p}}^k\) to \({\bar{p}}^{k-1}\) when the threshold \(\tau ^k_n\) corresponding to its current inventory level n is about to be passed.
Let \(v^k_n(t)\) be the maximum revenue the firm can make in time interval [t, T] when it starts time t with price \({\bar{p}}^k\) and inventory level n. Since the lowest price \({\bar{p}}^0\) is the last price the firm can charge before running out of stock, we have
When the firm is charging any other price \({\bar{p}}^k\) for \(k=1,2,\ldots ,K\), it has yet to dynamically decide the time to switch to the next price \({\bar{p}}^{k-1}\). Hence, we have
where \({{\mathcal {T}}}(t)\) is again the set of stopping times later than t. Contrast this with (4), and we can see that in the markdown case, it is the next lower price \({\bar{p}}^{k-1}\) that will be tried after \({\bar{p}}^k\). Similar to Proposition 1, we have the following markdown counterpart.
Proposition 5
For any \(k=1,2,\ldots ,K\), a function vector \(u\equiv (u_n(t)\mid n=0,1,\ldots ,N,\;t\in [0,T])\) that is uniformly bounded and absolutely continuous in t for every n will be the value-function sub-vector \(v^k\equiv (v^k_n(t)\mid n=0,1,\ldots ,N,\;t\in [0,T])\), if it satisfies the following:
-
(i)
\(u_n(t)\ge v^{k-1}_n(t)\) for every \(n=0,1\ldots ,N\) and \(t\in [0,T]\),
-
(ii)
\(u_n(T)=0\) for every \(n=0,1,\ldots ,N\) and \(u_0(t)=0\) for every \(t\in [0,T]\),
-
(iii)
for \(n=1,2,\ldots ,N\) and \(t\in [0,T]\), \(u_n(t)=v^{k-1}_n(t)\) implies \({{\mathcal {G}}}^k_n(t)\circ u+{\bar{p}}^k{\bar{\alpha }}^k\cdot \beta (t)\le 0\),
-
(iv)
for \(n=1,2,\ldots ,N\) and \(t\in [0,T]\), \(u_n(t)>v^{k-1}_n(t)\) implies \({{\mathcal {G}}}^k_n(t)\circ u+{\bar{p}}^k{\bar{\alpha }}^k\cdot \beta (t)=0\).
Proposition 5 offers a hint as to how the value functions \(v^k_n(t)\) and threshold levels \(\tau ^k_n\) can be constructed. First, due to (B.1), \(v^0_n(t)\) can be constructed in an n-loop. Then, for any \(k=1,2,\ldots ,K\), suppose \(v^{k-1}_n(t)\) is known. We can then go through an n-loop to find all the \(v^k_n(t)\)’s. First, we can let \(v^k_0(t)=0\) as suggested by (ii) of the proposition. Second, suppose \(v^k_{n-1}(t)\) is known for some \(n=1,2,\ldots ,N\). Then, starting with \(t=T\), we can equate \(v^k_n(t)\) to \(v^{k-1}_n(t)\) for ever smaller t values until it is to occur that \({{\mathcal {G}}}^k_n(t)\circ v^k+{\bar{p}}^k{\bar{\alpha }}^k\cdot \beta (t)>0\). The latter is not allowed by (iii) and (iv) of the proposition. For time \(t'\) earlier than this t, which we mark as \(\tau ^k_n\), we let \(v^k_n(t')\) be the solution to \({{\mathcal {G}}}^k_n(t')\circ v^k+{\bar{p}}^k{\bar{\alpha }}^k\cdot \beta (t')=0\).
According to (i) of the proposition, we still need \(v^k_n(t')\ge v^{k-1}_n(t')\) for \(t'<\tau ^k_n\) for the thus constructed \(v^k_n(\cdot )\) to be the true value function. Nevertheless, let us go ahead with the construction thus outlined. Not knowing whether what shall be constructed are the true value functions, we call them u’s instead of v’s. Formally, here is the iterative procedure.
First, let
Then, for \(n=1,2,\ldots ,N\) and \(t\in [0,T]\), let
Next, we go over an outer loop on \(k=1,2,\ldots ,K\) and an inner loop on \(n=1,2,\ldots ,N\). At each k and n, first let
with the understanding that \(\tau ^k_n=0\) when the concerned inequality is always true and \(\tau ^k_n=T\) when it is never true. Then, let
and when \(t\in [0,\tau ^k_n)\),
In obtaining (B.4) and (B.7), we have resorted to (5) and (6) for solving \({{\mathcal {G}}}^k_n(t)\circ u^k+{\bar{p}}^k{\bar{\alpha }}^k\cdot \beta (t)=0\) for \(k=0,1,\ldots ,K\). Like its markup counterpart, the ODE again boils down to (13). With the terminal condition \(u^0_n(T)=0\) and the second half of (6), we will have (B.4). For \(k=1,2,\ldots ,K\), with \(u^k_n(\tau ^k_n)=u^{k-1}_n(\tau ^k_n)\) and again the second half of (6), we will have (B.7). Now, we proceed to show the optimality of the construction.
Proposition 6
For any fixed \(k=0,1,\ldots ,K\) and \(t\in [0,T]\), the value function \(v^k_n(t)\) is concave in n: \(v^k_{n+1}(t)-v^k_n(t)\le v^k_n(t)-v^k_{n-1}(t)\).
For convenience, we have let the yet undefined \(\tau ^0_n=T\) for \(n=1,2,\ldots ,N\) and \(v^{-1}_n(t)=u^0_n(t)\) for \(n=1,2,\ldots ,N\) and \(t\in [0,T]\). Using Proposition 6, we can prove the following.
Theorem 2
The u and \(\tau \) as constructed from (B.3) to (B.7) satisfy the following for \(k=0,1,\ldots ,K\):
- (a[k]):
-
\({{\mathcal {G}}}^k_n(t)\circ v^{k-1}/\beta (t)\) is decreasing in t for \(n=1,2,\ldots ,N\) and \(t\in (0,T)\);
- (b[k]):
-
\(u^k_n(t)=v^k_n(t)\) for any \(n=0,1,\ldots ,N\) and \(t\in [0,T]\);
- (c[k]):
-
for any \(n=1,2,\ldots ,N\), we have \({{\mathcal {G}}}^k_n(t)\circ v^k+{\bar{p}}^k{\bar{\alpha }}^k\cdot \beta (t)=0\) for \(t\in (0,\tau ^k_n)\) and \({{\mathcal {G}}}^k_n(t)\circ v^k+{\bar{p}}^k{\bar{\alpha }}^k\cdot \beta (t)\le 0\) for \(t\in (\tau ^k_n,T)\);
- (d[k]):
-
\(\tau ^k_n\) is decreasing in n;
- (e[k]):
-
more than having decreasing differences between n and t, \(v^k_n(t)\) satisfies the following for every \(t\in (0,T)\):
$$\begin{aligned} d_t v^k_1(t)\le 0, \end{aligned}$$and for \(n=1,2,\ldots ,N-1\),
$$\begin{aligned} d_t v^k_{n+1}(t)-d_t v^k_n(t)\le {\bar{\alpha }}^k\cdot \beta (t)\cdot \left( v^k_{n-1}(t)-2v^k_n(t)+v^k_{n+1}(t)\right) , \end{aligned}$$which is negative due to Proposition 6.
Proof
We prove by induction on k. Let us first focus on proving (a[0]) to (e[0]). Take \(n=1,2,\ldots ,N\). First, we have
and (b[0]), that
From (B.8), we may confirm (c[0]) with the understanding that \(\tau ^0_n=T\) for \(n=1,2,\ldots ,N\). The convention for the \(\tau ^0_n\)’s also leads directly (d[0]). From (B.1), we have
As \(v^0_0(t)=0\) for any \(t\in [0,T]\), we can apply (B.8) at \(n=1\) to get
which is negative by (B.10). For \(n=1,2,\ldots ,N-1\), we can apply (B.8) at both n and \(n+1\) to obtain
So (e[0]) is satisfied as well. Finally, by our default definition of \(v^{-1}_n(t)\) and (B.8), we know that (a[0]) is true.
Suppose for some \(k=1,2,\ldots ,K\), we have (a\([k-1]\)), that \({{\mathcal {G}}}^{k-1}_n(t)\circ v^{k-2}/\beta (t)\) is decreasing in t for \(n=1,2,\ldots ,N\) and \(t\in (0,T)\), (b\([k-1]\)), that
(c\([k-1]\)), that, for \(n=1,2,\ldots ,N\),
and
(d\([k-1]\)), that \(\tau ^{k-1}_n\) is decreasing in n, and (e\([k-1]\)), that, for \(t\in (0,T)\),
and for \(n=1,2,\ldots ,N-1\),
Now we embark on showing (a[k]) to (e[k]). Take \(n=1,2,\ldots ,N\). From the definition of \(\tau ^{k-1}_n\) through (B.5), (b\([k-1]\)), and (c\([k-1]\)), we may see that
for \(t\in (0,\tau ^{k-1}_n)\), and
for \(t\in (\tau ^{k-1}_n,T)\). Therefore,
and hence by the strict positivity of \(\beta (\cdot )\),
Note that the above is even true for \(k=1\) due to the default definitions. Combining (a\([k-1]\)) and (B.21), we obtain the decrease of \({{\mathcal {G}}}^{k-1}_n(t)\circ v^{k-1}/\beta (t)\) in t. Now, note that
which, by (S1’) and (e\([k-1]\)), is decreasing in t. This and the just proved result together lead to the decrease of \({{\mathcal {G}}}^k_n(t)\circ v^{k-1}/\beta (t)\) in t. Hence, we have (a[k]).
By the definition of \(\tau ^k_n\) through (B.5) and (b\([k-1]\)), we have
Due to the strict positivity of \(\beta (\cdot )\) and (b\([k-1]\)), the threshold \(\tau ^k_n\) also satisfies
But this and (a[k]) will lead to
Combining (B.23), (B.25), and the strict positivity of \(\beta (\cdot )\), we arrive to
Our construction (B.6) and (b\([k-1]\)) dictate that
Also, we may see that the construction (B.7) renders
From the first half of (B.26), we have, for any \(n=1,2,\ldots ,N\) and \(t\in [0,\tau ^k_n)\),
Using (B.7) and (B.29), as well as the fact that \(u^k_0(t)=v^{k-1}_0(t)=0\) for any \(t\in [0,T]\), we can use induction over n to prove that
By its construction, \(u^k_n(t)\) is uniformly bounded by \(N{\overline{\lambda }} T\); it is also Lipschitz continuous in t with coefficient \(N{\overline{\lambda }}\), and hence absolutely continuous in t. By (B.26)–(B.28), and (B.30), as well as the fact that \(v^{k-1}_n(T)=0\) for every n, we may see that \(u^k\equiv (u^k_n(t)\mid n=0,1,\ldots ,N,\;t\in [0,T])\) satisfies the sufficient conditions (i) to (iv) stipulated in Proposition 5. Hence, we have shown (b[k]), that \(u^k_n(t)=v^k_n(t)\) for every \(n=0,1,\ldots ,N\) and \(t\in [0,T]\).
From the second half of (B.26), (B.27), (B.28), and (b[k]), we easily have (c[k]).
Now take \(n=1,2,\ldots ,N-1\). By (S1’), (e\([k-1]\)), and Proposition 6, we have
We therefore have the negativity of
But by the definition of \(\tau ^k_n\) and \(\tau ^k_{n+1}\), this leads to \(\tau ^k_{n+1}\le \tau ^k_n\). Therefore, we have (d[k]).
Let us turn to the proof of (e[k]). When \(t\in (\tau ^k_1,T)\), we have
which is negative by (B.16). When \(t\in (0,\tau ^k_1)\), we have
where the first equality is due to (c[k]), the second equality is from (b[k]) and (B.7), and the last equality is by the following result from integration by parts:
But from (B.1), (B.2), and the fact that \({\bar{p}}^k>{\bar{p}}^{k-1}>\cdots >{\bar{p}}^0\), it is obvious that \(v^{k-1}_1(\tau ^k_1)\le {\bar{p}}^{k-1}<{\bar{p}}^k\). So we know that \(d_t v^k_1(t)\le 0\) for \(t\in (0,\tau ^k_1)\) as well.
Now let \(n=1,2,\ldots ,N-1\). For \(t\in (\tau ^k_n,T)\), we have \(t\in (\tau ^k_{n+1},T)\) as well due to (d[k]). Thus, we have
and hence
where the first inequality is by (e\([k-1]\)), the second inequality is by (S1’) and Proposition 6, and the last inequality is from (B.36) and the fact that \(v^k_{n-1}(t)\ge v^{k-1}_{n-1}(t)\). For \(t\in (0,\tau ^k_n)\), we have, by (c[k]),
This leads to
Therefore, we have (e[k]).
We have thus completed the induction process. Therefore, (a[k]) to (e[k]) are all true for \(k=0,1,\ldots ,K\). From these, we see that, for any \(k=1,2,\ldots ,K\) and \(n=1,2,\ldots ,N\),
Hence, we may see that each \(\tau ^k_n\) offers an optimal time beyond which the firm is to drop its price from \({\bar{p}}^k\) to \({\bar{p}}^{k-1}\) when it has n remaining items. \(\square \)
For the thus constructed threshold levels, it may be tempting to conjecture that \(\tau ^k_n\) is decreasing in k as well. We have the following relevant result.
Proposition 7
Suppose \(\tau ^k_n>0\) for some \(k=1,2,\ldots ,K-1\) and \(n=1,2,\ldots ,N\). Then, we have \(\tau ^{k+1}_n\le \tau ^k_n\) if and only if
Proof
If \(\tau ^k_n=T\), we have both \(\tau ^{k+1}_n\le T=\tau ^k_n\) and, due to (S1),
Now suppose \(\tau ^k_n\in (0,T)\). From Theorem 2, we know that
we have \(\tau ^{k+1}_n\le \tau ^k_n\) if and only if
Due to (S1’) and (B.42), the above (B.43) is equivalent to
This completes our proof \(\square \)
In the last inequality in Proposition 7, the left-hand side is independent of \({\bar{p}}^{k+1}\) or \({\bar{\alpha }}^{k+1}\); yet, the right-hand side is dependent on both, and can be arbitrarily small. Hence, we may see that \(\tau ^k_n\) is not necessarily decreasing in k. Thence, there exists a possibility for the following “leapfrog” phenomenon: Right after the time has gone past \(\tau ^k_n\), it has also passed the time \(\tau ^{k-1}_n\), and so on and so forth. Therefore, when the time passes beyond \(\tau ^k_n\) and it is currently charging \({\bar{p}}^k\) while with n items, the firm should ultimately switch to some price \({\bar{p}}^{{\tilde{k}}^-(k,n)}\), where \({\tilde{k}}^-(k,n)\) is not necessarily \(k-1\). For each \(n=1,2,\ldots ,N\), we can use the following iterative procedure to find \(({\tilde{k}}^-(k,n)\mid k=1,2,\ldots ,K)\):
One of our computational studies shall confirm that a threshold policy for the markdown case is not necessarily k-monotone.
We can adapt the recursive procedure described from (B.3) to (B.7) to the following algorithm Markdown.
The algorithm’s time complexity is apparently O(KNQ).
Other algorithms
For the markup case, there is always the brute-force method Markup2.
In this algorithm, each \(p^k_{nq}\) indicates the new price taken by the firm when it has n items and is charging price \({\bar{p}}^k\) right before time \(q\cdot \Delta T\).
For the markdown case, there is also the brute-force method Markdown2.
Here, \(p^k_{nq}\) means the same as in Markup2.
For the reversible-pricing case, we can translate Zhao and Zheng’s (2000) method in Section 4.2 into the following algorithm Reversible.
For this case, there is again the brute-force method Reversible2.
In the algorithm, each \(p_{nq}\) stores the price to be taken at time \(q\cdot \Delta T\) when the firm has n items at that time.
Now we introduce the three algorithms needed in computation. First, the following is algorithm Markup3.
Next comes algorithm Markdown3.
Finally, the following is algorithm Reversible3.
Rights and permissions
About this article
Cite this article
Katehakis, M.N., Liu, Y. & Yang, J. A revisit to the markup practice of irreversible dynamic pricing. Ann Oper Res 317, 77–105 (2022). https://doi.org/10.1007/s10479-019-03438-1
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10479-019-03438-1