Dynamic Pricing


Dynamic Pricing

Dynamic pricing is a solution for automated updating of e-shop prices in real time or with a selected frequency based on an analysis of customer demand, behavioural patterns, cost events, competitor prices and other factors.

For businesses to remain competitive in the e-commerce environment, they have to react immediately to market conditions and adjust prices accordingly. This is what our Dynamic Pricing solution is for.


Unlike pricing strategies based on fixed prices or their manual adjustments, dynamic pricing updates the prices in your online store based on customer demand in real time, reacting to changes in behaviour patterns, price events, competitor prices or other external factors such as the current time of day, seasonality or weather. Our solution is scalable and can process millions of customers and tens of thousands of types of goods. We can implement Dynamic Pricing at client premises or offer it as a service, i.e. the calculations take place on Deloitte servers and we only exchange input and output data and reports with the client.

By deploying dynamic pricing, we helped increase the annual sales of a major aviation industry company by EUR 4.5 million.


The goal of dynamic pricing is to achieve optimal prices at any moment of purchase. The optimal price is one that allows you to report high turnover as well as sufficient margin. Thanks to automated decision-making, real-time processing and immediate reaction to the market situation, dynamic pricing can contribute to increasing sales and maximising the profitability of the business. Sales or profit? Your strategy is the input to the algorithm and optimal prices will adapt to it. You can even set a different strategy for different product segments.

The Dynamic Pricing consists of the following five components:

Strategy segmentation

The pricing strategy can have two extreme settings. Maximum profit (or gross margin) is the strategy that prioritises profit and sets prices with respect to maximum gross margin. On the other hand, maximum turnover is a strategy that maximises turnover on the condition of at least zero profit. You can choose any strategy you wish between these two extremes, e.g. 30% profit and 70% turnover.

Companies often need different pricing strategies for different markets or a special strategy for products newly introduced to the market or for a special product range. This need is addressed by strategy segmentation, where we define segments of customers / goods with the same pricing strategy. If the same type of goods appears in two different strategy segments, each segment will result in a different optimum price. This is acceptable for two different markets, but it is not necessarily acceptable on the same market in the same sales channel. This needs to be taken into account in defining these segments.


Product segmentation

Products (items, types of goods) are grouped according to the purchasing behaviour of the customer and according to the price level into homogeneous segments based on which the demand curve is modelled. For product segmentation we use hierarchical clustering that moves in the bottom-up method. We try to achieve the smallest possible segments, so a large part of segments are the so called single-item segments where the item is a segment in itself because it has sufficient turnaround and long history at various price levels. Other items without sufficient turnaround or history are grouped into multi-item segments and the demand curve is modelled on the whole segment. The number of the resulting product segments ranges from several hundred to several thousand. Product segmentation is updated regularly once per month with respect to the typically short product lifecycle – many newly introduced products appear in a month and at the same time many other products disappear from the portfolio.


Demand modelling

Each product segment is subject to price elasticity analysis. We model what is referred to as the demand curve showing the interdependency of the price and the number of pieces sold. The demand model not only comprises the actual price of the item, but also the price charged by the competition, seasonality, the day of the week, the stage of the product’s life cycle etc. Demand is assessed in terms of the shape of the demand curve and model accuracy, based on which we decide whether the optimal price will be determined using optimisation of the multi-armed bandit algorithm. Demand models are updated on a regular basis once every month together with product segmentation.



Optimisation entails creating the optimal price. The task of optimisation is formulated as a quadratic programming problem where the objective function is profit or the gross margin, the vector of unknowns is the optimal prices for individual items and the limitation is the conditions for a minimal total turnover, while in respect of individual items the limitation is a minimal price, maximal price, fixed price, minimal margin or the underestimating of competition. Optimisation does not comprise all items but only those whose demand curves meet the set quality requirements, such as the inclination of the curve, correspondence of the demand model with reality, or the minimal moving rate. In respect of other items, the “multi-armed bandit” component is applied (refer to below). Lastly, the resulting optimal prices are rounded up and saved in a database. Optimisation is launched on a daily basis, with a summary report on changes in prices of margins likewise generated and issued on a daily basis.


Multi-armed bandit

In respect of a certain percentage of items, the demand model does not meet the minimal quality requirements (eg the resulting demand curve is rising, the item is new from yesterday and no demand curve exists for it as yet). In respect of items like these, optimisation is not a suitable method. The solution is an algorithm referred to as the “multi-armed bandit”, using which Google successfully selects the best website design to achieve the maximal click rate. In essence, it entails the testing of several (say, three) pre-defined price levels and a smart rule which switches to the most profitable one as soon as possible. Compared to optimisation, the bandit has one disadvantage: we cannot predict in advance what the resulting effect will be. However, what we know is that after the necessary learning period has elapsed, the bandit will end up at the best price level. The advantage is that the bandit may be used wherever demand curves fail. Therefore, combined with optimisation, the bandit provides a full solution to all items in the product catalogue.


Veronika Počerová

Veronika Počerová


Veronika is a manager in the Advanced Analytics department. She specialises mainly in analytical end-to-end solutions for clients from the finance, energy and retail industries. She focuses on predict... More