Article Originally Posted at Grid Dynamics Blog

Algorithmic pricing, part III: implementation blueprint

This is the third post in a series of articles on AI/ML-based decision automation in retail price management, this time focusing on implementation and technology. Automating pricing decisions is a challenging task requiring a software system to understand business objectives and constraints, continuously analyze multiple signals and datasets, perform experiments, and learn from experience. In this article, we discuss how such a system can be designed and implemented using machine learning and economic modeling.

Design Goals

The design of an algorithmic price management ecosystem has to account for several dimensions of complexity.

First, a pricing strategy often includes multiple elements and use cases that need to be supported by an algorithmic system. Examples of such use cases include regular pricing, promotions and markdowns, assortment planning, and flash sale events. Pricing decisions across these use cases need to be coordinated to avoid inconsistent customer experience, inventory waste, or profit losses, and decision-making processes often rely on the same fundamental capabilities, such as demand forecasting. This suggests that a price management ecosystem must have a layered and modular architecture (both technology and organization). The fundamental capabilities are provided as reusable services, and units of business logic can be easily added or modified.

Second, a price management solution must achieve multiple efficiency goals and deliver business value in several areas. The main goals that influence the design of the solution include the following:

  • Policy-driven optimization. One of the critical advantages of intelligent decision-making is that the entire solution can be designed to optimize pricing variables using business objectives and pricing policies as inputs. This is not an easy task. It requires the system to properly account for multiple factors and signals, such as price elasticity of demand, price perception, market competition, and cannibalization. However, modern significant data ecosystems and AI technologies help to overcome many of these challenges. The benefits of objective-driven decision automation include stronger optimality guarantees by replacing guesswork with mathematical optimization, lower execution risks through forecasting and what-if analysis, lower execution costs with advanced automation, and faster time to value.
  • Advanced segmentation. Price setting involves a large number of variables that can potentially be optimized. In modern retail, it is not unusual to see different pricing components of each product changed several times a day or personalized for each customer through targeted offers. From an economics standpoint, this helps to improve profitability through micro-segmentation, which accounts for differences in price sensitivity, price awareness, and the willingness to wait or substitute. The price management ecosystem has to provide enough flexibility and capacity to make billions of such fine-grained and dynamic decisions and scale as the number of channels, formats, products, or customers increases.
  • Alignment with marketing, merchandising, and inventory. Pricing decisions influence or are influenced by other activities, such as marketing campaigns and inventory replenishment. Pricing, inventory, merchandising, and marketing areas have their own goals and constraints, which are traditionally challenging to coordinate because such multidimensional optimization is technically complex and often intractable from an organizational standpoint. These goals can also vary across the retail domains; for example, the waste of fresh products is a concern in the grocery industry, and the cost of returned e-commerce items due to price comparison after the purchase is a concern in the fashion industry. An algorithmic system can be designed to address at least some of these challenges by consolidating multiple data sources and using advanced modeling for accounting for various factors and goals.

Building Blocks

The high-level design goals defined in the previous section cannot be implemented without several fundamental capabilities. These can be considered as building blocks that can be wired together into an algorithmic pricing system. Most of these blocks rely on big data, economic modeling, and machine learning to achieve a high level of automation and quality of decision-making.

One of the most basic capabilities required for many pricing and inventory use cases is forecasting future demand and profits. This capability is typically implemented with a statistical model that forecasts profits as a function of various inputs, such as the forecasting date range, product attributes like size and color, past sales data and prices, the intensity of marketing activities, and, finally, pricing variables for the forecasting dates, as shown in Figure 1.

Figure 1. Profit forecasting for what-if analysis and optimization.

This model can be considered a generalization of the fundamental price elasticity analysis and is often implemented using gradient-boosted decision trees or neural networks (i.e., models with relatively high capacity that can learn complex patterns).
Although the concept of profit forecasting is straightforward, there are many challenges in its practical implementation:

  • Many factors impact demand and profits, and even the models that produce accurate forecasts on average tend to miss some demand spikes. This issue can often be mitigated by extending the diversity of input signals to account for factors such as marketing activities and public events.
  • A profit prediction model is valuable because it quantifies the dependency between price and profit. In practice, one product can be sold to different customers at different prices (for example, because of cart-level offers or bundles). It sharply complicates modeling because prices turn into statistical distributions rather than fixed numbers.
  • Profit forecasting for a given product relies heavily on its past sales history. However, a good history is not available for new or long-tail products. This problem is typically alleviated by building models that use product attributes rather than product identities as inputs.
  • Demand for a particular product depends not only on its price and discounts but also on the prices and discounts of other products due to substitution and other cross-effects. This can make modeling and optimization intractable in some cases unless the number of interdependent variables is reduced through clustering and grouping.
  • Historical data might not have enough variability (i.e., a lack of observations with different combinations of prices, seasons, discounts, etc.) to determine how various factors influence profits. We can work around this issue using dynamic experimentation, as we discuss in the next section.

The profit model is a foundation for what-if analysis because it can be evaluated for different price values or promotion variables. Consequently, it can be paired with an optimization algorithm to search for optimal, profit-maximizing prices or promotion settings. For example, it is possible to build a component that takes the entire promotion calendar for the next few months, evaluates the profit uplift delivered by this promotion layout, and identifies promotions that should be disabled or adjusted (e.g., promotions for which the discount–volume trade-off does not break even).

A particular type of optimization is opportunity finding. The basic optimization techniques are focused on finding profit-optimal pricing parameters, but some use cases require going beyond parameter tuning. Pivoting back to the promotion calendar example, the system needs to turn the predefined promotions on and off and should search for new promotion opportunities that a merchandiser missed. This type of optimization is often more complex and requires specialized algorithms.

Finally, optimization typically works with experimentation, so models are re-trained and re-evaluated continuously to incorporate ongoing data and feedback. In some cases, historical data do not have sufficient variability, and an optimization algorithm must iteratively test hypotheses in production to converge on the optimal solution. Methods such as multi-armed bandits can be used to minimize the necessary experimentation time and cost-efficiently.

Forecasting and optimization are often supported by components that help to make more granular and differentiated pricing decisions. These components often have interfaces that produce scores and signals about products, customers, channels, or stores, which can be used by downstream optimization and decision-making logic:

  • Once the promotion opportunities are identified, and the offer parameters are optimized, optimal audiences for each offer can be determined by scoring individual customers according to their price sensitivity, propensity to buy a given product or brand, propensity to respond to an offer, or expected lifetime value. These signals help to maximize ROI by matching offers with customers, estimating redemption rates, and determining the optimal number of coupons. It is worth noting that these signals can be used for more than targeting. For example, some KVI scoring techniques require identifying price-sensitive customers, which can be done efficiently using propensity scoring techniques.
  • Some price-setting methods and use cases (e.g., introductory pricing) set the price for a given product using information about similar items. The product similarity scores can be improved by using a wide range of product data, including textual descriptions and images, and extracting attributes from the data using natural language processing and image classification algorithms.
  • Product pricing strategies are often differentiated using consumer price perception scores (i.e., the scores that quantify whether or not an item is a KVI). The KVI scores are usually computed based on comparing bargain products and an analysis of price-sensitive shopping carts.
  • Prices can be differentiated depending on a channel or store location. The differentiation strategy can be tuned using scores that account for the demographic profile of the location (e.g., median income, population density) and distances to points of interest.

Reference Architecture

The building blocks for segmentation, forecasting, and optimization must be assembled into an algorithmic price management system. Reference architecture of such a solution typically includes several layers, as shown in Figure 2:

Figure 2. Reference solution architecture for algorithmic price management. Some dependencies are omitted for the sake of clarity.
  • The data collection and consolidation layer is the foundation of an algorithmic system because the range and quality of decisions made by the system are constrained by the range and quality of the data. Establishing this layer is often not trivial because data requirements for pricing decisions can go beyond the range of data provided by a typical data lake and enterprise data warehouse (EDW). For example, demand and profit modeling generally require external market-level signals, and internal transactional data are often insufficient for accurate forecasting. Even for the datasets typically available in a data lake, algorithmic price management can impose new requirements related to data stitching and data delivery. Typical issues include imperfect stitching of marketing and transactional data and an absence of near-real-time inventory updates.
  • On top of the data layer, a layer of statistical models produces advanced signals and provides capabilities for what-if analysis. This layer typically hosts product attribution and similarity models, customer propensity models, and price elasticity, models. These models can share the same technical infrastructure for feature engineering, training, validation, production deployment, and scoring.
  • The layer of solvers includes an array of optimization and decision-making components that optimize specific elements of the price waterfall or pricing strategies, such as regular prices, promotion calendars, and clearance sale events. This layer provides administration interfaces where merchandisers can configure pricing policies, business goals, and optimization constraints that drive the price-setting processes.
  • The pricing parameters produced by the solvers typically go through an anomaly detection and review process (e.g., all price changes with a magnitude exceeding a certain threshold are manually approved). They then are channeled to the digital and in-store execution systems. In practice, it is often possible to achieve meager anomaly rates such that only a tiny fraction of decisions require manual reviews.

The decision-making pipeline defined above is typically customized for different business units and product categories. For example, a department store might have other models and optimization policies for seasonal items (emphasizing inventory-constrained sale events), perishable items, and durable products.

All stages of the decision-making pipeline, including data collection, model re-training, and optimization problem solving, are executed repeatedly to keep up with the ongoing data and observed trends. This continuous re-evaluation is crucial for handling forecasting errors caused by external or unpredictable events, and a high level of automation is the critical enabler of this process.

Use Cases

The reference architecture outlined in Figure 2 can support a range of pricing use cases and provides foundational capabilities for several assortments and inventory planning scenarios. Examples of use cases that are often implemented on top of an algorithmic platform are shown in Table 1.

Table 1. Examples of business use cases

Implementation Approach

Designing and developing an algorithmic ecosystem is challenging for multiple reasons, including the wide range of pricing parameters and use cases, differences across the product categories, and the diversity of data needed for automatic decision-making. Consequently, algorithmic systems are often implemented iteratively to reduce time to value and risks. One possible approach is to structure the implementation roadmap around product categories so that models and solvers are developed for one business unit at a time. This approach makes the most sense for department stores with multiple business units with distinct pricing strategies (e.g., apparel, grocery, home appliances). Another approach is to structure the program around the capabilities so that top priority functions, such as competitor response, are implemented first.


The first post in this series was about the risks and opportunities of algorithmic pricing, while the second was about pricing strategies. This post explored how a price management process backed by predictive analytics and mathematical optimization offers several strategic advantages. These include more optimal and competitive pricing decisions, lower execution risks and loss prevention due to replacing the guesswork with forecasting, and lower operating costs because of policy-driven automation. These advantages can be achieved systematically by implementing an algorithmic solution with layered and modular architecture. This provides the basic forecasting and optimization capabilities that accelerate the development of components for specific use cases. This architecture also makes it possible to share the capabilities and technical infrastructure with other areas of enterprise operations, including assortment optimization, marketing communications, and inventory planning. An enterprise can develop such a solution component by component based on its business priorities and gradually cover a full range of price management use cases across multiple business units.

If you are interested in this solution or us as a company, contact us!

We accelerate digital transformation of Fortune-1000 US enterprises. We bring expertise in customer experience, data analytics, and cloud, lean software, etc.