Read time: 18 minutes

How Machine Learning is reshaping Price Optimization

The challenge of setting the right price

Setting the right price for a good or service is an old problem in economic theory. There are a vast amount of pricing strategies that depend on the objective sought. One company may seek to maximize profitability on each unit sold or on the overall market share, while another company needs to access a new market or to protect an existing one. Moreover, different scenarios can coexist in the same company for different goods or customer segments.

In this blog post, we’ll present the problem of price optimization for retail – which has its own particularities – and how retailers can take advantage of the tremendous power of Machine Learning technology to build effective pricing solutions.



These are some of the crucial questions that retailers recurrently face:

  • What price should we set if we want to make the sale in less than a week?
  • What is the fair price of this product, given the current state of the market, the period of the year, the competition, or the fact that it is a rare product?

Given that in these days it is very easy for a customer to compare prices thanks to online catalogs, specialized search tools or collaborative platforms, retailers must pay close attention to several parameters when setting prices. Factors such as competition, market positioning, production costs, and distribution costs, play a key role for retailers in order to make the right move.

Machine Learning can be of great help in this case and have an enormous impact on KPIs. Its power lies in the fact that the developed algorithms can learn patterns from data, instead of being explicitly programmed. Machine Learning models can continuously integrate new information and detect emerging trends or a new demands.

The use of Machine Learning is a very attractive approach for retailers. Instead of using, for example, aggressive general markdowns (which is often a bad strategy), they can benefit from predictive models that allow them to determine the best price for each product or service.

Get the latest news about price optimization. Subscribe to our pricing with ML newsletter.

What is price optimization?

Briefly, price optimization uses data analysis techniques to pursue two main objectives:

  1. Understanding how customers will react to different pricing strategies for products and services, i.e., understanding the elasticity of the demand.

  2. Finding the best prices for a given company, considering its goals.

Pricing systems have evolved since the early 1970s until now, from applying very simple strategies, such as a standard markup to base cost, to being capable of predicting the demand of products or services and finding the best price to achieve the set KPI.

Price optimization techniques can help retailers evaluate the potential impact of sales promotions or estimate the right price for each product if they want to sell it in a certain period of time.

Current state-of-the-art techniques in price optimization allow retailers to consider factors such as:

  • Competition
  • Weather
  • Season
  • Special events / holidays
  • Macroeconomic variables
  • Operating costs
  • Warehouse information

to determine:

  • The initial price
  • The best price
  • The discount price
  • The promotional price
Illustration showing different input data used to determine the initial price, best price, discount price and promotional price.

Using different kind and sources of data to find the prices that improve profits.

Price optimization vs dynamic pricing

Even though sometimes these two concepts are used as synonyms, they represent different concepts. The main difference is that dynamic pricing is a particular pricing strategy, while price optimization can use any kind of pricing strategy to reach its goals.

For example, using a dynamic pricing strategy, retailers can dynamically alter the prices of their products in order to match their competitor’s price. This strategy would imply changing prices very frequently but not necessarily being this the best strategy possible. Price optimization techniques focus on finding the price that maximizes a defined cost function (e.g., the company’s margin), considering many different factors to suggest such price or price range for different scenarios. Depending on the particular use case, this can indeed be performed in a dynamic way, and thus combining dynamic pricing + optimization is the go-to option for many scenarios.

Price optimization vs automatic pricing

Moreover, it is important to differentiate price optimization from automatic pricing as they primarily solve two different pain points: sub-optimal pricing strategy vs. excessive cost of pricing.

The main difference is that we focus on a price automation solution when pricing is a pain point for the company in terms of costs. By automatically pricing the items we are not changing the pricing strategy itself but we are changing the pricing process making it cheaper and faster. On the other hand, when we think of a price optimization solution we change the pricing strategy in order to maximize an objective function, subject to different business constraints.

This is to say that by implementing a price optimization solution we are automating our pricing process but not vice versa; not necessarily all price automation solutions optimize the pricing strategy. Both price automation and price optimization solutions could be understood as dynamic pricing if the frequency of price changes is high.

Price automation with and without Machine Learning

Finally, price automation can be developed with or without Machine Learning. The difference between these two approaches is that without Machine Learning the pricing rules are pre-defined while with Machine Learning rules are obtained in a data-driven way.

For example, a price automation system without using Machine Learning would take the form of a pre-defined set of rules such as:

  • Mark up all products in FOOD CATEGORY by 15%
  • If BRAND is in MARKETING CAMPAIGN add a 10% discount
  • If KEY VALUE ITEM set price equal to competition and lower it by 5%
  • Adjust all prices to end with “.99”

On the other hand, a price automation solution with Machine Learning implies training a model capable of automatically price items the way they would be priced by a human expert at scale. The model could take in historical data and different characteristics of the product as well as unstructured data such as images and text and would learn the pricing rules with no explicit coding, adapting to changes in the environment in a much richer and dynamic way.

Key differences between different pricing concepts

Feature Dynamic Pricing Price Optimization Price Automation with Machine Learning
Prices change frequently Yes Yes Yes
Prices are set automatically Yes Yes Yes
Main goal is to reduce pricing process cost - - Yes
Main goal is to optimize pricing strategy - Yes -
Demand Forcasting - Yes -
Estimate Store/SKU price elasticity of demand - Yes -
“What if” Pricing Scenario Capability - Yes -

What Machine Learning can do for retail price optimization

The pricing strategies used in the retail world have some peculiarities. For example, retailers can determine the prices of their items by accepting the price suggested by the manufacturer (commonly known as MSRP). This is particularly true in the case of mainstream products. Another simple strategy is keystone, which consists in defining the sale price as the double of the wholesale price or cost of the product.

While these and other strategies are widely used, Machine Learning enables retailers to develop more complex strategies that work far better to achieve their KPIs. Machine Learning techniques can be used in many ways to optimize prices. Let’s have a look at a typical scenario.

For example, a widely adopted pricing strategy technique that enhances this technology is dynamic pricing. Using this strategy, retailers can dynamically alter the prices of their products based on current market demand. However, changing the prices dynamically with no objective function in mind may lead to suboptimal results. This is why we suggest using dynamic pricing jointly with price optimization techniques.

A typical scenario

Imagine an e-commerce or brick-and-mortar retailer who wants to estimate the best prices for new products for the next season. The competition is hard, so their prices and promotions need to be taken into consideration. Therefore, the retailer adopts a widely used strategy: competitive pricing. Simply put, this strategy defines the price of a product or service based on the prices of the competition.

Let’s see the steps needed to develop a Machine Learning solution for this use case.

Illustration of process defining prices in retail with price optimization using Machine Learning

Process of defining prices in retail with price optimization using Machine Learning.

1. Gather input data

First of all, we need data. To train Machine Learning models, it is necessary to have different types of information (structure or unstructured data):

  • Transactional: a sales history that includes the list of the products purchased and, eventually, the customers who purchased them.
  • Description of the products: a catalog with relevant information about each product such as category, size, brand, style, color, photos and manufacturing or purchase cost.
  • Data on past promotions and past marketing campaigns.
  • Customer Reviews: reviews and feedback given by customers about the products.
  • Data on the competition: prices applied to identical or similar products.
  • Inventory and supply data.
  • In the case of physical stores: information about their geographical location and that of the competitors.

For further reference take a look at this post that highlights actionable steps to get your data ready for price optimization.

Depending on the set KPIs and the way of modeling the solution, some of this data may not be necessary. For example, if there is little or no information about customers, which is sometimes the case for brick-and-mortar retailers, the model can nonetheless be trained.

In contrast, information about the competition is crucial for a competitive pricing strategy. In many cases, it is even possible to connect via APIs to this information or monitor it online.

2. Define goals and constraints

The next step is to define the strategic goals and constraints.

Retailers may pursue a unique, clear objective of profit maximization. However, they may also be interested in customer loyalty (e.g. increasing the net promoter score or the conversion rate) or in attracting a new segment (e.g. young people).

Restrictions may be of legal nature (e.g. if some type of control of sale prices is carried out), they may have to do with the reputation of the company (e.g. fearing a bad image for applying favorable prices only to a certain segment of customers) or be related to physical aspects such as the capacity of a store or the average time of supply.

Each particular scenario will impact the way the problem is modeled. It is possible, and usually very interesting, to test different scenarios for the same retailer, which implies using different models.

3. Modeling and training

In this step, the data previously gathered is used to train the Machine Learning models. There is a wide variety of models that can be used in price optimization. Historically, Generalized Linear Models (GLMs) have been used (in particular, logistic regression). However, for a few years, more complex and powerful methods have been developed. For instance, depending on the volume of data available, it could be possible to use Deep Learning methods or even reinforcement learning techniques.

In this case, in which we are dealing with new products for the next season, there is an additional difficulty since there is no previous product data. The interesting thing is that the Machine Learning models will know how to find similar products and be effective despite not having specific prior data. The same happens in the case of retailers that sell rare or exotic products.

4. Execute and adjust prices

Once the model is trained, prices can be estimated for the new products. Depending on the modeling, the estimate may be an exact price or a range. The prices obtained by the model can be subsequently adjusted manually by the retailer.

More opportunities of using Machine Learning for price optimization

Machine Learning can be used for other tasks related to pricing in retail. For example, given a new product, a clustering algorithm can quickly associate it with similar products to obtain a probable price segment. Another compelling possibility is to jointly predict prices and demands for items that were never sold.

More generally, Machine Learning can be a tremendous tool for insights:

  • In what way is the sale of pants impacted when shirts’ prices are drastically cut?

  • When efforts are made to sell more pens, are the related products, such as ink, notebooks or work agendas, impacted?

  • Are customers who buy a certain computer more or less likely to buy monitors the following month?

  • Are inactive clients in the last year sensitive to a promotion campaign?

These are just some examples of the questions that Machine Learning models can help answer.

Advantages of price optimization with Machine Learning

In addition to automation and speed, there are several advantages to using Machine Learning to optimize prices.

First, Machine Learning models can consider a huge number of products and optimize prices globally. The number and nature of parameters and their multiple sources and channels allow them to make decisions using fine criteria. This is a daunting task if retailers try to do it manually, or even using basic software.

For example, it is known that changing the price of a product often impacts the sales of other products in ways that are very hard to predict for a human. In most cases, the accuracy of a Machine Learning solution will be significantly higher than that of a human. In addition, retailers can modify the KPI and immediately see how the models recalculate prices for the new goals.

Second, by analyzing a large amount of past and current data, a Machine Learning can anticipate trends early enough. This is a key issue that allows retailers to make appropriate decisions to adjust prices.

Finally, in the case of a competitive pricing strategy, Machine Learning solutions can continuously crawl the web and social media to gather valuable information about prices of competitors for the same or similar products, what customers say about products and competitors, considering hot deals, as well as the price history over the last number of days or weeks.

A system that can learn most of what is happening in the market allows retailers to have more information than their competitors in order to make better decisions.

Price optimization for brick-and-mortar and e-commerce retailers

While it may seem more natural to apply Machine Learning in the case of e-commerce retailers, brick-and-mortar retailers can perfectly take advantage from this technology.

In fact, price changes are less often performed in brick-and-mortar retailers and thus, having more room to improve and adjust to current demand.

Digital price tags are enabling brick-and-mortar retailers to do as many price changes as e-commerce sites. However, even without digital price tags, weekly or monthly price changes can be performed in order to match the current demand and maximize profit.

We have proven our approach with one of the largest travel retailers in the world with over 400 stores across the globe and over 160 million clients per year. We helped them boost gross margin by 28% performing weekly price changes in-store.

Price optimization and demand forecasting with Machine Learning during a crisis

At the date of publishing this post, we are in the middle of a global economic slowdown due to the COVID-19 outbreak. As in all recessions, there’s a direct impact on consumer spending, which directly hits on sales for multiple industries. To illustrate this, Revenue Collective reports that 95.6% of the business surveyed as of April 9th has already seen an impact on business, while 72% of them have already revised their annual sales forecasts. It is no news, then, that most businesses are not operating in business as usual (BAU) fashion, which sparks the following question: are we still able to use Machine Learning to predict demand in this scenario?

Our answer is “yes, but with new things to consider”. In a BAU scenario, Machine Learning models are likely to leverage historical sales and correlated external data to bring insights such as seasonality, relevant sales dates, and competitors’ reactions. During a crisis, as the market is not behaving as usual, the historical insights are likely to fall short to predict future sales. To fight back, we’d need to increase the importance of shorter-term information (e.g. daily sales), in the understanding that the recent past is much more suitable to predict the future. Practically, this means adjusting the feature engineering process to weigh the shorter term sales lags rather than the historical ones.

Additionally, the demand forecasting problem will also require the incorporation of more real-time market data than before as well as external macroeconomic and social data. On the real-time data, this means regularly updating available market data such as sales data, customer churn, sales intent (e.g. added to cart items, traffic to competitors site), competitors’ prices, among others. On the macroeconomic level, data such as consumer spending, unemployment, GDP and even community mobility segmented by cities/regions could also be considered, although these are mostly reported on a monthly basis. Stock market indicators (S&P 500, Dow Jones) could potentially be considered too, as a proxy of real-time macroeconomic trends. Finally, there might also be positive results by incorporating social data, such as reported COVID cases or government policies (i.e. lockdown duration), to generate scenario forecasting and consider them for modeling future demand.

To summarize, in this new economic scenario, our analysis is still that Machine Learning could be greatly leveraged to build accurate demand forecasts and optimize the pricing strategy. The key adaptations to a BAU scenario would be to incorporate more real-time data (market and macroeconomic data) + adapt the models to consider nearer-term lags vs. historical data. It’s also worth noting that business understanding and human judgment will still play a key role in the creation of this solution.

Companies using Machine Learning for price optimization

Price optimization has been used, with significant success, in industries such as hospitality, airline, car rental, and e-commerce retail.

One of the first success stories occurred in the early 2000s, when Hilton Hotels Corp and InterContinental Hotels Group decided to eliminate fixed rates in favor of a fluid scheme, including dynamic pricing strategies. In those years the prices of the rooms were modified once or twice a day. The current computational power allows prices to change practically in real time.

The hotel industry continues to employ dynamic pricing strategies, based entirely on Machine Learning. Currently, Airbnb proposes a dynamic price tool that recommends prices to its hosts, considering parameters such as seasonality, the day of the week or special events, and also more sophisticated factors such as photos of the property to be rented or the prices applied in the neighborhood. Other companies such as eBay and Uber have adopted similar approaches.

Amazon is another of the big players when talking about dynamic pricing strategies. To give an idea, in 2012 Amazon was changing prices much more often than its competitors and in 2013, they were performing as much as 2.5 million price changes per day. Changing prices in such a dynamic way is informally known as the Amazon effect.

In the retail world, the most popular examples have been in e-commerce, but brick-and-mortar retailers have not been left behind. Although it is difficult to know precisely all the retail companies using Machine Learning to optimize their prices and operating processes, there are nevertheless some known success stories.

Companies like Ralph Lauren and Michael Kors use Machine Learning to offer fewer markdowns and better manage their inventory, seeking to increase profit margins, even at the risk of losing a little revenue. Another well-known case is that of Zara, which uses Machine Learning to minimize promotions and adapt quickly to the changing trends. There are many other success stories, such as Morrisons –one of the largest supermarket chains in the United Kingdom–, bonprix –an international fashion company based in Germany– or Monoprice –an American B2B and B2C electronics retailer–, among others. While there is no information available on the exact modeling of the problems, it is known that these companies are taking advantage of the power of Machine Learning to increase their revenues and improve operations.

Final thoughts

Nowadays the world is moving towards changing prices more often and using state-of-the-art data driven pricing strategies is a must. In a study performed by Bain & Company they show that top performers across industries are nearly twice as likely to price dynamically.

Whether it’s about an e-commerce marketplace or a brick-and-mortar retail store, both are embracing the benefits of dynamic pricing and price optimization.

Price optimization helps retailers understand how customers will react to different price strategies for products and services, and set the best prices. Machine Learning models can take key pricing variables into account (e.g. purchase histories, season, inventory, competitors’ pricing), to find the best prices, even for vast catalogs of products or services, that can achieve the set KPIs.

These models don’t have to be programmed. They learn patterns from data and are capable of adapting themselves to new data. They allow retailers to quickly test different hypotheses and make the best decision.

What is probably most important to keep in mind is that the use of Machine Learning in the retail world keeps widening, and all signs point to the fact that this trend will continue in the coming years.

The question is no longer whether to apply dynamic pricing or not. But the question is how to do so in order to remain profitable.

Here at Tryolabs, we specialize in Machine Learning solutions for retail companies. Since 2010, we have been working with several retailers, which let us better understand the opportunities, challenges and available solutions within the industry.

Interested in how you could leverage price optimization at your company? Drop us a line.

This blog post has been updated with the collaboration of Maia Brenner, Gonzalo Marín, Braulio Ríos, Marcos Toscano and Martín Fagioli.


Like what you read?

Subscribe to our newsletter and get updates on Deep Learning, NLP, Computer Vision & Python.

No spam, ever. We'll never share your email address and you can opt out at any time.
Comments powered by Disqus

Get in touch

Do you have a project in mind?
We'd love to e-meet you!

Thanks for reaching out!

We'll reply as soon as possible.

And in the meantime?
Check out our blog to see what we're currently working on.