One embodiment is directed generally to a computer system, and in particular to a computer system for determining optimized pricing and inventory allocation of products.
For a retailer or any seller of products, at some point during the selling cycle a determination will likely need to be made on when to markdown the price of a product, possibly through promotions, and how much of a markdown to take. Price markdowns can be an essential part of the merchandise item lifecycle pricing. A typical retailer has between 20% and 50% of the items marked down (i.e., permanently discounted) and generates about 30-40% of the revenue at marked-down prices.
A determination of an optimized pricing markdown maximizes the revenue by taking into account inventory constraints and demand dependence on time period, price and inventory effects. An optimized markdown can bring inventory to a desired level, not only during the full-price selling period, but also during price-break sales, and maximize total gross margin dollars over the entire product lifecycle. However, price optimization systems typically do not take into consideration the allocation of inventory among many potential locations and its impact on the pricing.
Embodiments optimize the inventory allocation of a retail item that is provided from a plurality of warehouses to a plurality of price zones, each of the warehouses adapted to allocate inventory of the retail item to at least two of the price zones via links. Embodiments generate an initial inventory allocation for each warehouse to price zone link to generate a plurality of warehouse to price zone allocations. For each of the warehouse to price zone allocations, embodiments determine a marginal profit as a function of inventory allocated. Embodiments construct a bi-partite graph corresponding to each warehouse to price zone allocation, each bi-partite graph having a link weight equal to the marginal profit. Embodiments determine when there is a positive weight path between any two price zones and then reallocate the initial inventory allocation and repeat the functionality.
One embodiment is an optimization system for optimizing profit or revenue for a retail chain with multiple locations each served by multiple inventory warehouses. Embodiments optimize both the inventory allocation between warehouses and the pricing of the products.
Embodiments are directed to a system or method that maximizes the profit or revenue for a retail chain operating multiple locations supplied from multiple warehouses. The retail chain can include e-commerce implementations. Each warehouse can be connected to multiple locations and each location can be supplied from multiple warehouses.
Allocating inventory to a price zone means that the inventory will be sold only at that price zone. Further, as each price zone is generally supplied from multiple warehouses the inventory can be allocated to a given price zone from multiple warehouses. It should be noted that the allocation described in this model does not necessarily mean physical shipment. In many situations, the inventory is virtually allocated for planning purposes to provide input to the price zone-specific price optimization, which is carried out with the objective to maximize the profit derived from selling the entire inventory allocated to the price zone at its stores. However, as disclosed below, changing the inventory allocation can result in the transportation of inventory (e.g., via trucking) to a different store or price zone then before the change.
With most known retail price optimization systems that determine pricing markdowns and promotions system, each retail location is assumed to have a fixed inventory at the beginning of the selling season. In contrast, embodiments assume that that the inventory is located mostly at the warehouses 52, 53 and can be further allocated to the individual retail locations 54-56 to maximize their performance. Therefore, embodiments simultaneously optimize two sets of decision variables: (1) warehouse-to-location inventory shipment; and (2) pricing policy at each individual location depending on available inventory. Optimizing both simultaneously provides advantages over known systems because prices determine how quickly the inventory at a store will sell out and thus how much inventory should be allocated to an individual store or price zone.
Embodiments are applicable to e-commerce environments. A typical e-commerce retailer fulfills orders from multiple warehouses, or “fulfillment centers” (“FC”), that are generally geographically dispersed and thus the cost of shipping an order to a customer can differ significantly depending on the FC. At the same time, when an item approaches its end of life, its inventory levels frequently vary greatly among the FCs. Therefore, maximizing total profit involves both assigning FCs to customers in order to balance the load among the FCs as well as pricing the item based on each customer's price elasticity and cost of service.
However, e-commerce sales frequently include dealing with omnichannel inventories. An omnichannel strategy can create a seamless shopping experience through an alignment of the retailer's multiple sales channels. For example, a customer can buy a product from the online store while she is in a brick-and-mortar store after finding through her mobile phone that it is offered at a cheaper price online. Further, a customer who purchased a product online might choose a “buy online, pick up in store” option to receive the product sooner rather than wait for the package to be shipped to a home address. Further, the package that an e-commerce customer receives might have been fulfilled from a nearby retail store since the e-commerce fulfillment center is out of stock.
Similar to a retail store only environment, an omnichannel environment entails many challenges for price optimization. Known retail pricing systems optimize channel prices under the assumption that there is no inventory sharing and coordination between channels. This assumption does not hold in an omnichannel environment where store inventory can be additionally used for fulfilling customer orders placed online. Another challenge is due to potential demand substitution between the online store and brick-and-mortar store, which is affected by the prices offered on the two channels. Channel substitution is ignored in many known price optimization systems which assume price only affects demand in the same channel so that these systems do not account for any channel interdependencies.
Embodiments solve a retail profit maximization problem with two sets of decision variables: (1) location-specific pricing to sell the merchandise inventory at maximal profit/revenue (i.e., the markdown optimization problem); and (2) the amount of inventory allocated from multiple supply centers at potentially different costs. This problem arises in different settings including e-commerce online sales where multiple fulfillment centers are used to satisfy heterogeneous customer demand at different costs. With e-commerce, embodiments can provide price discrimination and omnichannel retail operations when retail brick-and-mortar locations are capable of fulfilling the online purchases. With the latter case, the inventory allocation from the brick-and-mortar store to the online channel is primarily virtual and used mostly to optimize the location prices and online order fulfillment decisions. Another example of virtual allocation would be the decision on the amount of inventory allocated from a regional warehouse to a group of brick-and-mortar stores, or the price zone. In this case, the allocated inventory may not be immediately delivered to the stores but would be used for pricing decision.
Many retailers may use some simple rules of thumb to solve this optimization problem. For example, they may simply allocate inventory as they did the year before, adding some inventory to a store if the store appeared to run out of inventory the year before. They generally avoid simultaneously optimizing prices and inventory, and instead optimize prices once the inventory allocation was decided. Known solutions in this area have focused on either various markdown optimization solutions or pure supply chain management with little attention to pricing policies.
System 10 includes a bus 12 or other communication mechanism for communicating information, and a processor 22 coupled to bus 12 for processing information. Processor 22 may be any type of general or specific purpose processor. System 10 further includes a memory 14 for storing information and instructions to be executed by processor 22. Memory 14 can be comprised of any combination of random access memory (“RAM”), read only memory (“ROM”), static storage such as a magnetic or optical disk, or any other type of computer readable media. System 10 further includes a communication device 20, such as a network interface card, to provide access to a network. Therefore, a user may interface with system 10 directly, or remotely through a network, or any other method.
Computer readable media may be any available media that can be accessed by processor 22 and includes both volatile and nonvolatile media, removable and non-removable media, and communication media. Communication media may include computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and includes any information delivery media.
Processor 22 is further coupled via bus 12 to a display 24, such as a Liquid Crystal Display (“LCD”). A keyboard 26 and a cursor control device 28, such as a computer mouse, are further coupled to bus 12 to enable a user to interface with system 10.
In one embodiment, memory 14 stores software modules that provide functionality when executed by processor 22. The modules include an operating system 15 that provides operating system functionality for system 10. The modules further include an inventory and price optimization module 16 that jointly optimizes inventory allocation and markdown pricing for retail items, and all other functionality disclosed herein. System 10 can be part of a larger system. Therefore, system 10 can include one or more additional functional modules 18 to include the additional functionality, such as a retail management system (e.g., the “Oracle Retail Offer Optimization Cloud Service” or the “Oracle Retail Advanced Science Engine” (“ORASE”) from Oracle Corp.) or an enterprise resource planning (“ERP”) system. A database 17 is coupled to bus 12 to provide centralized storage for modules 16 and 18 and store customer data, product data, transactional data, etc. In one embodiment, database 17 is a relational database management system (“RDBMS”) that can use Structured Query Language (“SQL”) to manage the stored data. In one embodiment, a specialized point of sale (“POS”) terminal 100 generates transactional data and historical sales data (e.g., data concerning transactions of each item/SKU at each retail store) used for price and inventory optimization. POS terminal 100 itself can include additional processing functionality to optimize pricing and inventory allocation in accordance with one embodiment and can operate as a specialized inventory and pricing optimization system either by itself or in conjunction with other components of
In one embodiment, particularly when there are a large number of retail stores, a large number of items, and a large amount of historical data, database 17 is implemented as an in-memory database (“IMDB”). An IMDB is a database management system that primarily relies on main memory for computer data storage. It is contrasted with database management systems that employ a disk storage mechanism. Main memory databases are faster than disk-optimized databases because disk access is slower than memory access, the internal optimization algorithms are simpler and execute fewer CPU instructions. Accessing data in memory eliminates seek time when querying the data, which provides faster and more predictable performance than disk.
In one embodiment, database 17, when implemented as a IMDB, is implemented based on a distributed data grid. A distributed data grid is a system in which a collection of computer servers work together in one or more clusters to manage information and related operations, such as computations, within a distributed or clustered environment. A distributed data grid can be used to manage application objects and data that are shared across the servers. A distributed data grid provides low response time, high throughput, predictable scalability, continuous availability, and information reliability. In particular examples, distributed data grids, such as, e.g., the “Oracle Coherence” data grid from Oracle Corp., store information in-memory to achieve higher performance, and employ redundancy in keeping copies of that information synchronized across multiple servers, thus ensuring resiliency of the system and continued availability of the data in the event of failure of a server.
In one embodiment, system 10 is a computing/data processing system including an application or collection of distributed applications for enterprise organizations, and may also implement logistics, manufacturing, and inventory management functionality. The applications and computing system 10 may be configured to operate with or be implemented as a cloud-based networking system, a software-as-a-service (“SaaS”) architecture, or other type of computing solution.
As discussed above, in general, known optimization systems focus exclusively on various markdown pricing optimization problems, typically while assuming that the inventory is fixed, or on pure supply chain management with little attention to the impact on pricing.
In contrast, embodiments optimize prices and inventory simultaneously using an iterative approach under the following assumptions: (1) there is a fixed sales horizon given a-priori; and (2) there is a computationally tractable way to compute the derivative of optimal profit at each location as a function of allocated inventory. The assumption (1) is not normally restrictive in practice as most retailers, in particular fashion retailers, typically have to clear the sales floor of the seasonal merchandise items by a certain deadline to free the retail space for the new season items.
Embodiments improve on previous industry approaches by computing the derivative of the optimal markdown profit as a function of the allocated inventory. Disclosed below there are two examples of applying this approach to two commonly used demand models that allow a closed-form solution to find the derivatives of the optimal profit function in respect to the allocated inventory. Embodiments in general are directed to a more general framework applicable to a wide range of general price optimization cases. In circumstances where the derivative cannot be computed analytically, it can be obtained numerically by computing the optimal markdown solutions for the allocated inventory in the neighborhood of the current inventory level and calculating the derivative approximately as the ratio of the differences in optimal profit change over the change of the inventory allocated.
In embodiments, the convergence of the functionality is guaranteed by the fact that the optimal profit at each location is a concave function of the allocated inventory, which is implied by an empirical law of diminishing return, and thus holds for most of the practical applications. Two examples of the concave functions for the optimal markdown profit as a function of the allocated inventory is shown in
As discussed, embodiments avoid the need for assuming a particular formula for profit. Embodiments implement a variant of gradient descent, which uses the vector of partial derivatives to direct the steps towards the minimum of a function. Gradient descent is a first-order iterative optimization algorithm that finds the minimum of a function by making progressively smaller steps in the direction of the negative of the gradient (or approximate gradient) of the function at the current point. Since with embodiments, the objective is to find the maximum of the function, embodiments use the gradient ascent approach, which is equivalent to the gradient descent with the only difference that the steps are taken in the direction of the function gradient rather than its negative. Additionally, similar to the gradient descent converging to the global minimum of the convex function, the gradient ascent approach converges to the global maximum of the concave function.
Embodiments start with an arbitrary initial inventory allocation. At each iteration, embodiments compute the derivative of the optimal profit at each location or price zone and formulate an auxiliary min-cost network flow problem to reallocate the inventory among price zones or locations. Embodiments show that at each iteration of the algorithm, the overall objective function is improved. By properly selecting the amount of inventory reallocation at each iteration, embodiments can guarantee the convergence to optimality. In some embodiments, as discussed earlier, the derivative of the optimal profit function can be computed as a closed-form analytical expression. In other embodiments it is computed as a by-product of solving the markdown price optimization problem via Lagrangian relaxation. A determination of an optimized pricing markdown maximizes the revenue by taking into account inventory constraints and demand dependence on time period, price and inventory effects. An optimized markdown can bring inventory to a desired level, not only during the full-price selling period, but also during price-break sales, and maximize total gross margin dollars over the entire product lifecycle. Examples of the markdown optimization problems and solutions to the problems are disclosed in, for example, U.S. Pat. Pub. No. 2013/0073341 and U.S. Pat. Pub. No. 2013/0211877.
The objective of the markdown optimization problem can be to find a monotonically decreasing sequence of merchandise prices that maximizes the revenue by taking into account inventory constraints and demand dependence on time period, price and inventory effects.
The mathematical formulation of the markdown optimization problem can be defined in one embodiment as:
where:
T is the length of the markdown period, usually measured in weeks;
st is the sales volume in period t;
pt is the sales price at period t, which is the decision variable;
It is the inventory level at the end of time period t, I0 is given as part of the input; and
dt( . . . ) is the demand, which in general is a function of past and present price settings, initial inventory, and demand in previous periods. The objective of the optimization problem is to maximize the total revenue.
The use of the Lagrangian relaxation can be described as follows: The markdown optimization problem to compute the sales prices that maximize the profit derived from selling limited inventory S within the given time horizon T:
Where p(t) is the price vector at time t, which is the decision variable; dt(p) demand as a function of the price vector; ct is the inventory unit cost at time t. The above problem formulation can be equivalently rewritten using Lagrangian multipliers w as follows:
In this formulation, the optimal solution (p*(t), w*) that maximizes the Lagrangian function L(p(t), w) also satisfies the property
as w*·(Σt=1T dt(p*(t))−S)=0 due to the complementary slackness condition of optimality.
At 302, an initial “naïve” or heuristic inventory allocation from each of multiple warehouses to each of multiple price zones is assigned and be considered a “current optimized inventory allocation”. In embodiments, a user interface is provided that allows the inventory at each warehouse to be allocated by a user. An algorithm can also be used to provide an initial guess at an allocation.
At 304, for every warehouse-to-price zone allocation, the associated markdown optimization problem is solved to compute the sales prices that maximizes the profit subject to the amount of the inventory allocated. In order to compute the marginal profit the markdown optimization problem is formulated using Lagrangian relaxation as described above. In
K
ij=∂(Rj−cij)(Sij)/∂Sij (Equation 1)
In Equation 1, Rj is the revenue at the respective price zone j, and cij is the cost of shipping from the respective warehouse i to the respective price zone j. Rj−cij is the profit function applied to the current inventory allocation (Sij) from the respective warehouse i to the respective price zone j and the marginal profit of every extra allocated unit is calculated as indicated by partial derivative ∂. The calculated Kij is generally a positive number as, in general, the more inventory shipped to a location, the greater the revenue and the greater the profit, although the marginal profit may be decreasing as more inventory is shipped. At some point, Kij may become a negative number if the cost of shipping outweighs the pricing.
At 306, a bi-partite graph is constructed between the warehouses to price zones with the link weight from warehouse to price zone equal to the marginal profit Kij and from price zone to the warehouse equal to the negative of the marginal profit (i.e., −Kij). At this stage, only inventory that can be reallocated can be considered. An example of inventory that cannot be reallocated is the inventory that has been already shipped or items that constitute the minimal inventory that has to be present in a store (e.g., for display purposes). Links from price zones with no reallocatable inventory are removed.
An example of the resulting bi-partite graph is shown In
At 308, it is determined whether the graph from 306 forms a positive weighted path between any two price zones. The positive weighted path is found using the following procedure in embodiments: The signs of all link weights are changed to their negatives and the “Floyd-Warshall” shortest path algorithm is applied to the resulting auxiliary graph to find shortest paths between all pairs of nodes. In graph theory, the shortest path problem is the problem of finding a path between two vertices (or nodes) in a graph such that the sum of the weights (i.e., Kij) of its constituent edges is minimized. The shortest path in the auxiliary graph will correspond to the longest path in the original graph. If the longest path in the original graph is of negative or zero length, then the current inventory allocation cannot be improved and the optimal solution is found.
The Floyd-Warshall algorithm compares all possible paths through the graph between each pair of nodes from the node set V. It is able to do this with ˜|V|3 comparisons in a graph even though there may be up to ˜|V|2 links in the graph, and every combination of links is tested. It does so by incrementally improving an estimate on the shortest path between two nodes, until the estimate is optimal. Example pseudocode of the algorithm is as follows:
Then the path between nodes u and v can be reconstructed by using the following procedure:
The application of 308 results in either finding a positive-weight, that is, profit-increasing path as shown in the example of
If the positive weight path is found at 308 and the algorithm does not reach the limit on the number of iterations at 310, then at 312, an inventory reallocation amount is determined and is considered the new current optimized inventory allocation. In the example of
If there is a positive weight path at 308, then at 310 it is determined if the iteration limit of the improvement steps have been reached (i.e., a predetermined number of iterations of the functionality of
The amount of inventory reallocated along the profit-increasing positive-weight path is computed similar to a standard gradient descent algorithm. Namely, embodiments start with a relatively “small” initial amount of inventory to reallocate at each iteration of the algorithm, which is set at s1=15% of the average amount allocated to each price zone in one embodiment. Then at the n-th iteration, embodiments set the amount to be reallocated to
n=1, 2, 3, . . . , Niterations. Applying this formula for computing sn to the example of
as shown in
Continuing with the example of
As discussed above, if there is no positive weight path at 308, then the current solution (i.e., the current inventory allocation) is optimal at 314 and the functionality ends at 316. In general, a solution is considered optimal if the marginal profit is the same at all price zones.
Although the effect is less pronounced for the power law demand model, it can be seen that its slope is also slightly decreasing. More specifically, the power law demand model can be expressed as
where d0, p0 are the anchor demand and price, respectively, and γ is the demand price elasticity, a unitless number, normally greater than 1 for fashion merchandise. In this case, the maximization of the profit derived from selling inventory allocation S within period T is achieved at inventory clearing price
Here for the illustrative purposes, the cost is set to zero. Then the maximum profit is expressed as
which is plotted in
Equation 2 shows that the marginal profit with respect to inventory is positive since
and a decreasing function of S since it is proportional to S−1/γ, which shows the concavity of the maximal profit as a function of allocated inventory.
In the case of the exponential demand, the demand function can be expressed as d=d0e−βp where β is the price sensitivity coefficient. In this case the expression for the maximum profit as a function of allocated inventory S becomes:
Equation 3 is plotted as curve 502 in
Equation 4 shows that the marginal profit with respect to inventory is positive and decreasing function of S when S<d0Te−1 since it is proportional to −log S, which shows the concavity of the maximal profit as a function of allocated inventory. When S≥d0Te−1, the marginal profit is constant and equal to zero, which implies that adding more inventory does not increase the profit.
As a result of embodiments of the invention, some inventory at a warehouse will be reallocated from one price zone to another. This may be a “virtual” reallocation as the inventory may not have yet been sent to the respective price zone. However, the outcome of the functionality of
As disclosed, in a multiple warehouse, multiple price zone environment, embodiments determine the optimal allocation of inventory assigned to each price zone from each warehouse.
Several embodiments are specifically illustrated and/or described herein. However, it will be appreciated that modifications and variations of the disclosed embodiments are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the invention.