Combining Price Elasticities and Sales Forecastings for Sales Improvement

[This article was first published on r-bloggers | STATWORX, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

In our blog, we have talked a lot about calculating elasticities. But how do we use them in practice? A powerful way to utilize elasticities is to combine them with sales forecasts. In this blog post, we will my STATWORX colleague Daniel’s lunch place as an example to illustrate the power of combining forecasting and elasticities. As Daniel has already mentioned, this is a small chain where you can put together your salad. Using this example, Daniel explained the concept of price elasticity and used simulated prices to show different ways of calculating it.

Similarly, the hypothetical optimal price was identified based on estimated price elasticities. If you want to know more about the details of price elasticities, you should read the post (see /blog/food-for-regression-using-sales-data-to-identify-price-elasticity/). So, let’s go again to the Lunch Place. But this time, it’s not about the determination of a general optimal price, but to calculate a price to achieve specific sales targets.

Every sales manager is interested in how to increase sales and, of course how they might evolve in the future. For this, it is necessary to know what the sales depend on and what influence you have to increase sales. Of course, you can rely on the experience and your gut feeling. But nowadays, there are ways to support decision making for specific actions significantly. So what is the situation in the lunch place? Suppose you want to grow the number of sales as much as possible. For that, you certainly will not just buy as many ingredients as fit into your warehouse in the expectation that everything will be consumed. Therefore, one must first be able to estimate how much will be sold soon at all. Sales Forecasting can be used for this aspect.

But that alone does not necessarily bring significant added value. If we assume that sales targets have been determined, which of course should not be unrealistic, we have a clear reference point which we can use. If we have a case in which the estimated sales are lower than planned, we can use the price elasticities to determine the price necessary to reach the target. If we have a case in which the estimated sales are lower than planned, we can use the price elasticities to determine the price necessary to reach the target. Of course, there may also be a case in which the estimated sales are higher than planned. If you want to increase the profit margin or because the stock situation does not allow significantly more sales, it is possible to make appropriate price adjustments.

Simulation of data

To keep it simple, we will use a single product. For this, we take prices between 4.90€ and 5.90€. At higher rates, there are also fewer sales than at low prices. In this way, it is possible to estimate price elasticities. The simulated sales at the respective prices, then look like this:


Likewise, an upward trend was built into the data. At the same time, the number of sales in the summer months is higher than in the other months. Thus, we can now implement a simple form of Sales Forecasting.


Calculating price elasticities and prediction of sales

The price elasticities are estimated using linear regression in which we assume a logarithmic relationship. A logarithmic relationship goes hand in hand with the assumption that demand exponentially grows as the price decreases and also that demand can not sink below zero:

    \[log(Sales) = a+\epsilon*log(Price)+d_{summer}\]

In this equation, \alpha is the intercept, \epsilon is the price elasticity and d_{summer} the dummy for the summer months. In practice, such a simple model will not lead to valid results, but it should suffice for illustration:

CoefficientsEstimateStd. ErrorCI.95 (lower)CI.95 (upper)

The confidence intervals for the price effect are relatively large, whereas the confidence intervals for the dummy are small. However, this is primarily due to the simulation of the data. Now that we’ve estimated the price elasticity, all we need is an estimate of future sales. Future sales were forecast with a HoltWinters forecast, which only took into account the seasonality.


Adjusting prices according to sales targets

Now we have all the necessary results to be able to perform the last step, in which we calculate the prices required to compensate for possible differences. For this, we take as a starting point the Cobb-Douglas-function. In addition, the effect of price and elasticity on quantity was visualized:



If we define the sales target as Q_ {0}, we can transform the Cobb Douglas function as follows:

Q_{0}-Q(p) = Q_{0}-A*p^\epsilon

Q_{0} - A*p^\epsilon=0

A*p^\epsilon = Q_{0}

p^\epsilon = \frac{Q_{0}}{A}

p^* = \Big(\frac{Q_{0}}{A}\Big)^\frac{1}{\epsilon}

With this formula, we can now use our results to calculate the price for a specific target. Q_{0} represents the sales target, A represents the predicted sales, and \epsilon is, of course, the estimated price elasticity -0.939. The formula gives us a factor around which we would have to adjust the price to reach the sales target. Also, the confidence intervals of the price elasticities can be used to calculate a range of price adjustments. In our simple example, we will now use the predicted next month with different targets. The price used for the calculation was taken from the last month, which was 5.40€.

DatePrediction (A)PriceTarget (Q_0)Adj. Price (p^*)Adj. Price (lower CI)Adj. Price (upper CI)
2020-01-0115105.4 €20004.00 €4.47 €2.65 €
2020-01-0115105.4 €18004.48 €4.80 €3.46 €
2020-01-0115105.4 €13006.33 €5.97 €7.90 €
2020-01-0115105.4 €10008.38 €7.13 €15.37 €

The results show a wide range for optimal price adjustments, where the ranges are partly well over 1 €. Moreover, the range of the predicted sales is not even considered into these results. Of course, this is due to the data and models used here. Apart from that, the results also show the potential of such an implementation in the decision-making process. On the one hand, of course, the prices can be adjusted to achieve specific sales targets. On the other hand, margins can be optimized if the targets are achieved as predicted.


Nevertheless, the example given here shows how price elasticity and sales forecasting can be combined to recommend specific price adjustments. Particularly for sales managers, such a methodology is interesting and can offer added value to the decision-making process. Especially if the modeling and the associated price adjustments are significantly more accurate. In practice, price adjustments for different products can be estimated in this way. Moreover, competitors‘ information or assumptions about them can be included in the models in addition to many other parameters. Similarly, seasonal price elasticities can be estimated, which can lead to possibly more meaningful price adjustments.

Über den Autor

Marlon Schumacher

Marlon Schumacher

I am a data scientist at STATWORX and like working with data. Whether it’s visualization or the development of machine learning models, it’s always interesting.


is a consulting company for data science, statistics, machine learning and artificial intelligence located in Frankfurt, Zurich and Vienna. Sign up for our NEWSLETTER and receive reads and treats from the world of data science and AI. If you have questions or suggestions, please write us an e-mail addressed to blog(at)  

Der Beitrag Combining Price Elasticities and Sales Forecastings for Sales Improvement erschien zuerst auf STATWORX.

To leave a comment for the author, please follow the link and comment on their blog: r-bloggers | STATWORX. offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)