Joint Pricing and Inventory Decisions for Perishable Products Onur Kaya (okaya@ku.edu.tr) College of Engineering, Koc University Aylin Lelizar Polat College of Engineering, Koc University Abstract We consider perishable products and focus on the optimal pricing and inventory decisions for these products in a deterministic setting. In this system, the demand rate is affected with not only the prices of the products but also with the freshness and age of the products. In addition, the products decay at a certain rate while they are in stock. We analyze both a single product and a multi product model and considering the interactions between the products, we aim to determine when to change the prices of the products, the optimal values of these prices and when to replenish the inventory with new products. We analyze the effect of different parameters on the optimal solution through numerical experiments and obtain managerial insights. Keywords: Pricing, Inventory, Perishable Products, Revenue Management Introduction In this study, we consider the inventory management and pricing of perishable products such as milk, yogurt, eggs, bread, fresh fruits and vegetables, considering a price and time dependent demand function. Effective management of perishable products is an important issue for many companies and management of these products is especially difficult for the managers because of the perishability risks of these products in a very short time. Different than durable products, as the perishable products age, the demand for these products start to decline and in a short time these products can become completely obsolete. Thus, not only the amount of these products but also their status or age effect the inventory and pricing decisions of these products making the problem much harder to solve. There are many studies in literature considering the inventory and pricing decisions for perishable products, however most of these studies consider the inventory and pricing decisions separate from each other and coordinated inventory and pricing decisions are not studied as much. In addition, in most of the studies in literature, single product systems are considered and demand is assumed to be time-independent. However, in reality, due to customer choices, the actual demand depends on the age or status of the products at hand in addition to their price. When the products are new or fresh, the demand rate is high, however as the products age, they will be demanded less and the customers can move to other types of products. Because of the change in demand over time, it might be better to charge different prices at different times and employing a 1 dynamic pricing strategy might improve the profits substantially. In the literature most of the inventory models assume that inventories can be held in stock indefinitely to satisfy future demands. On the other hand most of the commodities either deteriorate or become outdated, hence they are unstable. Most commonly used goods are exposed to deterioration; like fruit, vegetable, meat, etc. Therefore if the rate of deterioration is not sufficiently low, its impact on modeling of the inventory cannot be ignored. In recent years, we have observed an increased adoption of dynamic pricing for perishable products in manufacturing and retail industries. For instance, in food industry decaying products like bread and vegetables have very short shelf life. They are generally priced at the retail price when they come fresh. However they are sold at discounted values when they come to their expiry date. So retailers can attract customers who are more price sensitive with the aim of generating more revenue through their sales. It is a complex task to determine a right price for the product which requires a wealth of information about the status of the products at hand and customer preferences for products with different freshness and price values. In the past, companies faced high costs in changing prices and had insufficient information about customer demand. As a result, companies always fixed the product's prices over a long period resulting in static prices. However, today, with the improvements in technology, companies have much more data about the customers and can change their prices at relatively low costs suggesting a dynamic pricing policy to be more profitable. In literature, deterministic joint inventory and dynamic pricing problem is generally analyzed considering a single product. Raafat (1991) presents a survey for the inventory management of deteriorating items and Goyal and Giri (2001) present a review of advances of deteriorating inventory literature since the early 1990s. Abad (1996) assumes that prices can be changed continuously at no cost and determines the optimal price p(t) as a continuous function of time. Transchel and Minner (2009) consider discrete pricing of non-perishable products assuming a fixed cost for changing prices. Mukhopadhyay et al. (2004) consider perishable products, but they assume a single price to be charged over the whole cycle and do not consider price changes. In addition, they assume that the demand function is independent of time. Sana (2010) considers an EOQ model for perishable items where demand is price dependent and partial backorder is allowed. They determine the optimal prices and the order size but they assume that the timings of the price changes are fixed. Rajan and Rakesh (1992) consider the relationship between pricing and ordering decisions for perishable products by allowing a continuous price change over the cycle. Broekmeulen and Donselaar et al. (2009) analyze a perishable product system considering the age of products and they propose a replenishment policy and compare their results with the optimal policy that does not take into account the age of inventories. In this study we consider a deterministic model and focus on the coordinated pricing and inventory decisions. Different from the studies stated above, we consider both single and multiple product systems with perishable products that decay at a certain rate and the demand is both time and price dependent. We assume that the prices can be changed at any time at a certain cost and we aim to find the best times to change the prices as well as the optimal values of these prices. Every time an order is given for fresh products, a fixed order cost is incurred in addition to the inventory holding costs for the products kept at hand. The objective of the model is to maximize the profit per unit time 2 by choosing the optimal lot size and the pricing strategy where the retailer can change price over time. We analyze this system for both single and multi product cases considering the demand interactions between the products. We provide explicit results for the optimal solution in the single product model and present an efficient heuristic to determine the best solution for the multi product model. We observe that dynamic pricing provides substantial benefits compared to the static pricing, allowing the companies to substantially increase their profits. Single Product Model In this section, we consider a single perishable product and focus on the pricing and inventory decisions for this product. We denote the time between two successive orders for new products as an inventory cycle and during an inventory cycle, the price of the product is changed several times in order to obtain the maximum possible profit. We let h denote the inventory cost per unit per unit time, N denote the number of different prices used in an inventory cycle and f denote the cost of changing the price such that Nf denotes the total cost of changing prices in an inventory cycle. In our model, ti, i=1,2..N-1, denotes the time of the ith price change with t0=0 and tN denotes the end of an inventory cycle at which time new and fresh products are ordered. Figure 1 presents an illustration of an inventory cycle. Figure 1- Illustration of the Inventory Process We let pi denote the price during the time interval [ti-1, ti). In this model, due to perishability of the product, the inventory is depleted partly to meet the demand and partly for deterioration. We assume that each product at hand decays at a constant rate θ independent of the other products such that the decay rate of all inventory is given by w(t)=θI(t) at any time t, as a function of the instantaneous inventory level at that time, denoted as I(t). Note that Q= I(0) denotes the batch size ordered at the beginning of each cycle. Every time an inventory replenishment order is given, a fixed order cost A and per unit cost c is incurred such that the total cost at the time of order will be A+cQ. We 3 describe the inventory function I(t) by the differential equation (1) which consists of the decay rate and the price and time dependent demand rate, D(p,t), such that: πΌ ′ (π‘) = -D(p,t)- θI(t) (1) For any t in the interval [ti-1, ti], the inventory equation below satisfies equation (1) and the boundary condition Ii(ti) = I(ti). πΌπ (π‘) = π −ππ‘ π‘π ∫ π·(π, π ) π ππ ππ + πΌ(π‘π )π π(π‘π −π‘) π‘ For the purpose of obtaining explicit results, we consider a linear demand function that is decreasing in price and time, such that D(p,t)=a-bp-kt. However, we note that the same analysis as in this paper can be done and similar results can be obtained for different types of demand functions. Solving the above differential equation for the linear demand function results in the following inventory function at any time t where ti-1 ≤ t ≤ ti for all i=1,2,…N. πΌπ (π‘) = ( π−πππ π − ππ‘π π π + π2 + πΌ(π‘π ))π π(π‘π −π‘) − π−πππ π + ππ‘ π π − π2 (2) We let Si denote the sales amount during time period [ti-1, ti) such that π‘π ππ = ∫ (π − πππ − ππ )ππ π‘π−1 Then the profit per unit time can be written as: 1 πππ π 2 2 π = π‘ {−π΄ − ππ − ππ + ∑π π=1(πππ − πππ )(π‘π − π‘π−1 ) − ππ‘π π2 π − π3 − πΌ(π‘π ) π π−πππ ) (1 − π π(π‘π −π‘π−1 ) ) − ( π π 2 (π‘π2 − π‘π−1 ) − β[(− π 2 )]} + π2 ) (π‘π − π‘π−1 ) + 2π (π‘π2 − π‘π−1 π−πππ π2 + (3) In this study, we need to determine the optimal values of N, pi and ti values for all i=1,2,…N. We observe that for a given N, we can find the optimal pi and ti values using the first order derivatives of the equation (3). Thus, we solve this problem using a twostage approach as follows, where π(π) denotes the profit function for a given N. Stage 1: πππ₯π π(π) − πΎ(π) s.t. N ≥ 1 Stage 2: πππ₯π,π‘ π(π) s.t. ti ≥ ti-1 ≥ 0 pi ≥ 0 D(pi,ti) ≥ 0 for all i=1,2,..N for all i=1,2,..N for all i=1,2,..N We observe that for a given N, the second stage problem is jointly concave w.r.t p and t and thus, we first solve the second stage problem for a given N and determine the optimal price and time values as a function of N. Then, we solve the first stage problem 4 to determine the optimal value of N using the results of the second stage problem. For a given N, the optimal price values can be found through equation (4) as functions of ti values. Then, we solve the second stage problem by combining equation (4) with the first order derivatives of the profit function (3) with respect to ti. π π β ππ = 2π − 4π (π‘π + π‘π−1 ) − 2π + π−πππ β [( π π−πππ+1 π π β(π π(π‘π −π‘π−1 ) −1) 2π2 (π‘π −π‘π−1 ) π−πππ+1 ) + π2 + πΌ(π‘π )) (π π(π‘π −π‘π−1 ) + (− π 2 ] = −πππ2 − (ππ − ππ+1 )(π + ππ‘π ) + πππ+1 πππ ∀π=1,2..N + ππ‘π+1 π (4) π − π2 − πΌ(π‘π+1 )) (π π(π‘π+1 −π‘π ) ) + πππ ∀π=1,2..N-1 (5) Using a one-dimensional search over N, we find the optimal time and price values for each N and then by comparing the profits in each case, we obtain the best N and the corresponding optimal pi and ti values. Note that when N=1, this system corresponds to a static pricing model in which the price is not allowed to change during a cycle. In the numerical results section, we compare the results of this static pricing model with the dynamic pricing case in which the prices are allowed to change during the cycle at a certain cost. Substitutable and Perishable Two Product Model In this section, we consider two different products which are substitutable in nature such that the demand for each product depends not only on that product’s price and freshness but also it depends on the other product’s values. We employ a similar analysis here, as in the previous section. We assume that both products are replenished at the same time such that the length of the inventory cycle is the same for both products. Even though, this can be seen as a restrictive assumption, this is a common procedure in reality since similar products are obtained from the same supplier and they are ordered simultaneously. Ordering these products separately also causes a high fixed order cost. However, during the inventory cycle, their prices can be changed at different times. We let ti1 and ti2 i=1,2..N-1, denote the time of the ith price change for products 1 and 2, respectively with t01= t02=0 and tN1= tN2 denote the end of an inventory cycle. Note that at each time of a price change, only one of the products’ price is changed, however, we don’t know which. This makes the analysis complicated since during an interval [ti-1,1, ti1), the demand function of the first product might change if the price of the second product changes at some time in this interval. Thus, we need to consider where each ti2 lies with respect to each ti1 value and because of this reason, we cannot write the profit function of each product independently from the other in terms of these prices and times. To overcome this difficulty, we concatenate the time arrays ti1 and ti2 to obtain a single array ti which contains all times of the price changes in a strict ordering. We let pi1 and pi2 denote the price during the time interval [ti-1, ti). However, note that, in this case, at any ti we do not know which price is changed, thus one of the pi values need to stay constant in successive intervals while the other can change. Using the demand functions D1(p1, p2, t)=a1-b1p1+e1p2-k1t and D2(p1, p2, t)=a2-b2p2+e2p1-k2t, we use the same analysis as in the single product model and obtain the inventory and profit functions similar to the ones in the previous section as below. 5 πΌππ (π‘) = ( ππ − ππ πππ + ππ πππ ππ π‘π ππ ππ − ππ πππ + ππ πππ ππ π‘ ππ − + 2 + πΌπ (π‘π ))π (π‘π −π‘) − + − ππ ππ ππ ππ ππ2 ππ 1 ππ πππ π 2 2 ππ = π‘ {−π΄π − ππ ππ − ππ ππ + ∑π π=1(ππ πππ − ππ πππ + ππ πππ πππ )(π‘π − π‘π−1 ) − 2 ) − βπ [(− π‘π−1 2 ππ πππ −ππ πππ +ππ πππ πππ 2 ππ πππ −ππ πππ +ππ πππ πππ ( ππ ππ2 π + ππ π‘π ππ2 π − π3π − π πΌπ (π‘π ) ππ (π‘π2 − ) (1 − π ππ (π‘π −π‘π−1 ) ) − π 2 )]} + π2π ) (π‘π − π‘π−1 ) + 2ππ (π‘π2 − π‘π−1 π π where j={1,2} and k is the complement of j (i.e. k=2 when j=1 and vice-a-versa). Then the problem can be written as Max π = π1 + π2 s.t. ti ≥ ti-1 ≥ 0 pij ≥ 0 Dj(pij, pik, ti) ≥ 0 pij = pi+1,j for all i=1,2,..N for all i=1,2,..N, j=1,2. for all i=1,2,..N if price of the other product is changed at time ti for j=1,2. In this case, at any time ti since only one of the prices of the products is changed, one of the pi values need to stay constant in successive intervals and this makes the problem very complicated and we cannot obtain explicit results for the optimal pi and ti values. However, we observe that if we know the ti1 and ti2 values, then we know which price is changed at each ti and optimal prices in each time interval can be found explicitly through the first order derivative of the profit function. Using this observation, we design a heuristic algorithm to find the optimal solution. To obtain the optimal results for this system, we employ a genetic algorithm. In this algorithm, starting with a set of arrays of ti1 and ti2 values, we calculate the best pi1 and pi2 values using the derivative of the profit function and calculate the optimal objective function value for the given time array. Then using mutation and crossover operators, we obtain new time arrays for the timings of the price changes. The mutation operator in our algorithm works as follows: At each iteration, we randomly select one of the values in our time arrays and either increase or decrease it by a random amount leading to a new solution. Then for this new time array we calculate the corresponding optimal price values in each time interval using the derivatives of the profit function and then calculate the objective function value. If the new solution leads to better solution than the previous one, we continue doing the same operation until no further improvement is obtained. We also use a crossover operator in our algorithm which works as follows: We take two time arrays and we randomly pick one of the elements in one of these arrays. For example, let [a1, a2, … ai, ai+1, … aN] and [b1, b2, … bj, bj+1, … bM] denote these two arrays and ai denote the element that is chosen. Then we determine the closest time in the other time array that is larger than the element that we picked, let it be bj+1. Then we exchange the initial portions of these two arrays and obtain two new solutions as [b1, b2, … bj, ai+1, … aN] and [a1, a2, … ai, bj+1, … bM]. Using these operators, we update our results and continue in the same manner until no further improvements can be obtained in the algorithm for a certain number of iterations or an upper bound is reached in the number 6 of iterations. Computational Results In this section, we numerically analyze the benefits of dynamic pricing for the single product model and observe the impacts of the system parameters on the results. As a base case, for the single product model, we use the parameters a=100, b=1, k=1, c=10, h=0.01, θ=0.01, f=100 and A=1000. In Table 1, we present the results for the dynamic pricing model as well as the results for the static pricing case, as a benchmark, in which the price is not allowed to change during a cycle. In the first row of Table 1, we present the results for this base case and in the following rows of this table, we do a sensitivity analysis by changing one of these parameters as stated in the first column of Table 1. Table 1 - Single Product Model Results Dynamic Pricing Model Parameter Profit Order Cycle Waste Size Length Ratio Base Case 1061 1112 42.8 0.09 a=200 4954 5721 91.2 0.24 a=50 209 182 10.8 0.03 b=2 392 832 37.9 0.08 b=0.5 2322 1293 46.8 0.11 k=2 1064 558 23.2 0.04 k=0.5 1008 2341 81.4 0.18 c=20 819 818 38.2 0.07 c=5 1154 1293 46.9 0.10 h=0.02 1059 1101 42.7 0.08 h=0.005 1065 1115 43.1 0.09 1023 1173 40.9 0.17 θ=0.02 0.05 θ=0.005 1072 1058 43.6 1039 1104 42.5 0.10 f=200 1084 1128 43.2 0.09 f=50 0.09 A=2000 1041 1135 43.1 1079 1087 42.6 0.08 A=500 Profit 949.6 4300 197.4 343.5 2189 948.4 915.6 716 1081.8 946 951 907 968.9 949.6 949.6 926 961 Static Pricing Model Order Price Cycle Size Length 1106 56.4 43.6 5648 109.6 90.4 185 27.7 10.3 829 30.9 38.1 1282 106.6 46.7 549 54.9 22.5 2266 58.9 82.2 807 62.3 37.6 1290 53.2 46.8 1098 56.5 43.5 1111 56.3 43.7 1160 58.5 41.5 1069 55.5 44.5 1106 56.4 43.6 1106 56.4 43.6 1133 55.9 44.1 1093 56.6 43.4 Waste Ratio 0.14 0.28 0.05 0.12 0.15 0.07 0.25 0.12 0.15 0.14 0.14 0.26 0.07 0.14 0.14 0.14 0.14 We observe that dynamic pricing results in a 12% increase in profits on average as opposed to the single price model. In addition, the number of decayed products decrease with dynamic pricing. However, the order size and the cycle length with dynamic pricing can be higher or lower than the values with static pricing. When we look at the effects of the parameters on the system, we observe that as the market size, a, increases, the order size, cycle length and the profits increase substantially but a much higher wastage rate is observed since more units are ordered in a cycle. In addition, the benefit of dynamic pricing increases with a, since there is a larger room for improvement in a system with a larger market size. When we consider the price sensitivity of demand, b, we observe that, as b increases, less profit is obtained due to decrease in demand. The order size and the cycle length also decrease and less amount of products are wasted as b increases. In addition, as b increases, since the system will be more sensitive to pricing, the benefit of dynamic pricing compared to the static pricing model increases. When b=0.5, the profit 7 with dynamic pricing is about 6% better than the profit with static pricing while this value increases to 14% when b=2. When the time sensitivity of demand, k, increases, the order size and the cycle length decrease and less amount of products is decayed. Next, we consider the cost of the products, c, and observe that as c increases order size, cycle length and profits decrease and less units are wasted. In addition, the benefit of dynamic pricing also increases with c. The reason for this is that as the products become more valuable, dynamic pricing and effective management of the products become more important. We observe that as the inventory holding cost increases, profits decrease and less units are ordered in each cycle leading to shorter cycle lengths. Similarly, when the wastage rate increases, profit and the cycle length decrease, but we observe that more units are ordered in each cycle in order to cover the high amount of decay and have enough good products at hand for sale. Even though, the order size increases, since the products decay at a faster rate, the cycle length decreases with θ. Next, we consider the cost of changing the prices and observe that as f decreases, dynamic pricing will be more useful and the prices are changed more often. As a results, profit increases and the wastage rate decreases. Lastly, we consider the fixed order cost, A, and observe that as A increases, more units are ordered and the cycle length increases as the wastage rate, while the profits decrease. When we look at the prices in the dynamic pricing model, we observe that, at the beginning of the cycle a higher price than the static price is charged but the price is decreased as time increases and becomes lower than the static price through the end of the cycle. The reason for this is that, at the beginning, there is a higher demand for the fresh products and charging a higher price is optimal. However, as time increases the demand decreases as the products’ freshness decrease and lower prices are charged to maximize the profits with this lower demand function. Conclusion In this study, we analyze the coordinated pricing and inventory decisions for perishable products in a deterministic setting in which the demand not only depends on the price but also on the freshness of the products. In addition, the products in inventory are assumed to decay at a certain rate which adds another dimension to the problem. We derive explicit results for the optimal order size, optimal number of times the prices should be changed and the optimal price values at each time for the single product case and we propose a heuristic to approximate the optimal solution in the multi product model. Through numerical experiments, we compare the results with the dynamic pricing policy with the single pricing case in which the price is not allowed to change throughout the selling period. We observe that substantial benefits can be obtained by changing the prices throughout the selling period. Our model can be extended in several ways. Firstly, different types of demand functions or decay processes can be analyzed in detail and explicit results can be obtained. In addition, this problem can be analyzed in the stochastic setting in which the demand and also the decaying process is random. Even though our results can form a basis for developing coordinated pricing and inventory policies that can be also applied in stochastic environments, the performances of such policies need to be investigated and effective policies need to be developed for stochastic systems. 8 Acknowledgements We are grateful to Tubitak for its support to our work through Tubitak 1001 Grant #111M533. References Abad P. L., (1996), Optimal pricing and lot-sizing under conditions of perishability and partial backordering, Management Science, 42, 1093–1104,. Broekmeulen RACM, van Donselaar K.H., (2009), A heuristic to manage perishable inventory with batch ordering, positive lead-times, and time-varying demand. Computers and Operations Research, 36, 3013– 3018. Goyal S.K., Giri B.C., (2001), Recent trends in modeling of deteriorating inventory, European Journal of Operational Research, 134(1), 1–16. Mukhopadhyaya, S., Mukherjee, R.N., Chaudhuri, K.S., (2004), Joint pricing and ordering policy for a deteriorating inventory, Computers and Industrial Engineering , 47, 339-349. Raafat F., (1991), Survey of literature on continuously deteriorating inventory models. Journal of Operations Research Society, 42(1), 27–37. Rajan, A., Rakesh, R., (1992), Dynamic pricing and ordering decisions by a monopolist, Management Science, 38, 240–262. Sana, S.S., (2010), Optimal selling price and lot size with time varying deterioration and partial backlogging, Applied Mathematics and Computations, 217(1), 185-194. Transchel, S., Minner, S., (2009), The impact of dynamic pricing on the economic order decision. European Journal of Operational Research, 773-789. 9