The classic revenue management problem in retail, known as the markdown optimization problem, assumes that inventory is fixed or a sunk cost for the season. However, in the new retail paradigm, retailers must understand how much to allocate, virtually, so that appropriate pricing strategies can be set at the store or price-zone level. Traditionally, most fashion retailers pushed their entire inventory from warehouse to stores at the beginning of a season. However, with the rising popularity of non-store channels (web, social, etc.), omnichannel retailers cannot commit their entire inventory to stores upfront.
Retailers like the BOPIS option because it drives foot traffic to the store and provides an opportunity for additional purchases. According to a survey on Business Insider, 85% of shoppers said they have made an additional in-store purchase when they were picking up an online order. This journey also allows retailers to execute last-mile fulfillment much quicker (ex. pickup within 2 hours).
Consumers like BOPIS as it provides the convenience of a wider assortment to choose from but with no shipping fees and same day retrieval in many cases. This modern-day retail behavior of multi-channel fulfillment gives rise to warehouse virtual allocation problems for both omnichannel and pure online retailers alike.
With virtual allocation, the problem of how much to allocate is tied to what prices are determined at the price-zone or store-level and on the other hand, the price is determined by how much inventory is allocated at the store or price-zone level. This presents a chicken and egg situation. Fortunately, in the optimization world, there is a way out – we solve both of these problems jointly.
Consider the four warehouses serving three price zones as shown below. For the sake of argument, assume that the cost of shipping between any warehouse and any price-zone is the same (in reality, it won’t be the same, since there might be different shipping costs, labor costs, etc.) and there is only one time-period to go.
At the current price, there is a net demand of:
Thus, the optimal allocation would generate a total revenue of 200 p1+ 500 p2+100 p3, where pz is the price at the price-zone (z). Notice that in such a sub-optimal allocation, the total supply of 800 units is much higher than the net demand of 600 units across all price-zones. There are 200 units still sitting at the warehouse.
Now, suppose a retailer decides to run a promotion with a 30% discount at all price-zones. Demand at the current price is not relevant here since demand will go up (for ordinary goods) and thus the previous warehouse allocation based on current price is obviously sub-optimal. Let’s say the discount boosts the demand, say, to 400, 1000 and 250 units at the price-zones respectively. As one can notice here, the total demand shot up – but way too high. So now there is not enough supply to match the net demand for 1,350 units.
There are few things a retailer could have done – perhaps the price drop was aggressive or maybe not all price-zones should be running the promotion. The retailer could have balanced inventory allocation and pricing – and thus joint inventory allocation and pricing.
To assess the joint optimization problem, first you have to develop a demand forecasting model for an item (i) for each customer segment (seg) at the time (t) and a price-zone (z). Since the focus of the article is on the optimization piece, we will assume that a demand-forecasting model is available and denoted as di,zt,seg (pi,zt,seg). If we use Ii,zt,seg to denote the inventory for an item (i) for each customer segment (seg) at time (t) and a price-zone (z).
One can write the objective for maximizing total revenue as:
There are few constraints that are put in place for this joint optimization problem:
There can be numerous business rules which are imposed on the pricing problem. Let us define: 1zw equals to 1 when a price-zone can be served by a warehouse (w); 0 otherwise. αwi,z is the percentage allocated from warehouse (w) to a price zone (z) for an item (i).
Mathematically, one can write down the constraints as:
As you can see, this problem has a non-linear objective function over a non-convex feasible region. Without getting into all the technical details of how to solve this problem (the solution involves Oracle Retail Offer Optimization, which includes embedded machine learning for retail), let me explain the benefits of seeing such a joint approach on a particular retailer's dataset.
We compared the results to a typical naïve policy (allocation based on historical demand at a class or a subclass level). We bumped the naïve policy to a forecast-based naïve policy, wherein the allocation is based on a ratio of demand forecast at the current price rather than historical demand.
Retailer Results on Average Revenue Improvement:
Forecasting Customer Channel Choice Using Cross-loyalty Variables. USPTO 14/845,792 (pending). Sep 4, 2015.
Computerized Promotion and Markdown Price Scheduling. USPTO 14/989,932 (pending). Jan 7, 2016.
Computerized Promotion and Markdown Price Scheduling (CIP). USPTO 15/062,561 (pending). Mar 7, 2016.
Inventory Control and Pricing Optimization. USPTO 16/426,360 (pending). May 30, 2019.