Machine Learning can beat pricing experts in predicting the price of transactions. A software will do the job much faster and be able to consider a very important number of variables. But more importantly the output will be consistent: a machine will always recommend the same price in the same context whereas two human experts will probably recommend two different prices.

Does this mean that machine learning is all you need to optimize pricing? The response is no and we explain why in this article.

Your data helps you to analyze your business and in the pricing area understand the price varies depending on different variables such as the revenue of the customer, the industry, the country, the region, cost factors, service levels and more.

Machine learning enables us to capture the relationship between price and different variables and then to predict the expected level of price given a set of values of these variables.

Let’s consider a simple model to explain the level of discount on the list price of a contract. For each contract we calculate the Price Index as Price_Index =1-Discount % on List Price. Then we try to analyze the relation between Gross Revenue of the customer (i.e. Revenue at List Price) and the Price Index.
Here’s a representation to explain the Price Index as a function of the Gross Revenue of the Customer.

Price Index function of Revenue

The Descriptive Model

The orange curve on the graph shows the result of a Kernel regression model. This “Descriptive Model” provides an understanding of the actual relation observed between Gross Revenue and Price Index without any assumption on the business rules that shall govern this relation. This model reveals inconsistencies, i.e. points where the price index increases when price increases. This situation is counter-intuitive and reveals that price observed in the historical data set should be corrected. 

The Normative Model

The blue curve shows the “Normative” model that will actually be used for pricing. This normative model includes a basic business rule: “price index should always decrease and never decrease with gross revenue”. This e-rule enables to correct identified inconsistencies found in the historical data set and revealed by the descriptive model. 

Beyond correcting price inconsistencies, a Normative model used for pricing is “forward looking” and not backward looking. Its objective is not to predict what price has been applied in the past in a given situation but to recommend what price shall be applied to a future quote. For this reason it shall also include business rules to align with market context and strategic objectives of the company. 

In our simplified model where Price Index is a function of Gross Revenue, there are multiple ways to model a decreasing relationship. However, the logarithmic function is the most suitable because it ensures fairness of treatment between customers: the extra discount granted to a customer increasing its gross revenue by a factor of m % is independent of the initial revenue:

P(Gross Revenue * m) – P(Gross Revenue) = a + b * log10(Gross Revenue * m) – (a + b * log2(Revenue))
                                                                              = b * (log10(Gross Revenue * m) – log10(Gross Revenue))
                                                                              = b * log10(m)     which doesn’t depend on the Gross Revenue.

With a corresponding to the maximum of the price Index (Small Revenue) and b the slope (if a customer multiplies his revenue by 2, his discount is increased by b).

Contact us to know how our latest features can help you to optimize your pricing :

P(Gross Revenue * m) – P(Gross Revenue) = a + b * log10(Gross Revenue * m) – (a + b * log2(Revenue))
= b * (log10(Gross Revenue * m) – log10(Gross Revenue))
= b * log10(m)     which doesn’t depend on the Gross Revenue.

With a corresponding to the maximum of the price Index (Small Revenue) and b the slope (if a customer multiplies his revenue by 2, his discount is increased by b).

Contact us to know how our latest features can help you to optimize your pricing :