Oracle Retail Blog helps retailers stay current on customer successes, hot retail trends and industry best practices.

How to Optimize Fashion Pricing with Virtual Warehouse Allocation

Kiran Panchamgam
Senior Principal Data Scientist, Oracle

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.

Here's why: 

  1. They need to be able to fulfill online demand opportunities. Shopify Plus estimates by 2021, global B2C ecommerce sales will exceed $4.5 trillion. Buy Online Pick-Up in Store (BOPIS) is increasing in popularity by both retailers and consumers. According to Retail TouchPoints, 90% of retailers plan to implement buy online, pick up in-store/BOPIS/BOPUS/ click-and-collect solutions by 2021. And both of these journeys count towards online sale opportunities. 
  2. They can hedge against uncertain demand forecasts and push inventory to stores when and where there is demand for the product. So instead of committing inventory ahead of time, at the beginning of the season, retailers will wait and re-allocate based on the demand response they are receiving.

BOPIS Popularity

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. 

Case in Point: 4 Warehouses, 3 Price Zones

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:

  • 150 units at Price-zone 1
  • 450 units at Price-zone 2
  • 0 units or no demand from Price-zone 3, since it is over-allocated 

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:

  1. Total allocation cannot be higher than the total supply available at a warehouse
  2. Inventory at a price-zone is equal to the on-hand and the allocated warehouse inventory 
  3. Price for each time and segment belong to a pricing polytope

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. 

Fashion Retailer Case Study Example


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: 

  • 88% of products improved on average 3%
  • 10% of products improved on average 7%
  • 2% of products improved on average 33%


Want to see it in action? Schedule a 1:1 Demo of Oracle Retail Science's Offer Optimization Solution



  • 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.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.