Pricing models

Price is what you pay. Value is what you get.
business-analytics
python
lang-eng
Published

May 30, 2022

Chapter 6 of Erik Haugom’s Essentials of Pricing Analytics deals with empirical estimations of price-response function. The goal is to create a model that will predict demand based on price (essenatially, we are inverting the axes of the price and demand graphs found in the classical microeconomics texts).

The author presents 4 price-response functions (PRF) that will help us to model the demand:

1 Linear PRF

\[ d(p) = D + m \times p \] \[ D > 0, m < 0 \]

This is your typical linear regression model, as taught in the introductory microeconomics.

2 Constant elasticity PRF

\[ d(p) = C \times p^\epsilon \] \[ C > 0, \epsilon < 0 \]

This model will have constant point elasticity (hence the name) fixed across all price levels (which is very unlikely). Constant elasticity PRF will not have a good global representation of price-response, but it may have good fit for some local parts of the price/demand relationship.

3 Power PRF

\[ d(p) = \alpha \times \frac{D}{p^\beta + \alpha} \] \[ D > 0, \alpha > 0, \beta > 0 \]

To be explained in the next model.

4 Logit PRF

\[ d(p) = \frac{C \times e^{a + b \times p}}{1 + e^{a + b \times p}} \]

Author explains that Power and Logit PRF are the best models, due to the following reasons:

Both have a similar reverse S-shape. This shape is generally a good description of how demanded quantity is related to price across all price levels for most products or services. For very low prices, consumers will not demand less of the product if price increases, and for very high prices demand is practically zero already, so increasing the price more will not induce a (much) lower demanded quantity. Of the two price–response functions (power and logit), the logit is usually preferred because it is easier to estimate empirically.

For clarification purposes, I reproduced the figure at p. 78:

There are some interesting facts hidden in these models, especially regarding the power and logit PRFs, but I will leave that for the curios reader to find (hint: check for point elasticity and derive the maximum reservation price for each customer). To my surprise, the linear model is essentially made up of customers whose demand is uniformly distributed, which in the case of Monte Carlo Simulations essentially means that you don’t have much information about the market!

5 Case Study (problems 6 to 9)

We are presented with the following data:

Index Price Quantity
0 5 25291
1 10 22265
2 15 18273
3 20 8874
4 25 2513

Using this data, we will have to create:

  • Linear PRF
  • Constant elasticity PRF
  • Logit PRF

5.1 Linear PRF

This model has the following equation:

\[ d(p) = 33,127.30 - 1,178.94 \times p \]

The model has great fit around lower and higher prices, though it fails around the middle spectrum. Do note that we should not use this model for predicting the demand based on prices that are outside the range of our data (i.e. below 5 or above 25).

5.2 Constant Elasticity PRF

This model has the following equation:

\[ d(p) = e^{12.5 \times (-1.22 \times \ln(p))} \]

Clearly, not a good fit. For high-end range, predictions are good, but in all other spectrums the model predicts rather poorly.

5.3 Logit PRF

This model has the following equation:

\[ d(p) = \frac{26,291.00 \times e^{4.78 - 0.27 \times p}}{1 + e^{4.78 - 0.27 \times p}} \]

As we can see, this model has great fit. Regarding the implementation of optimization solutions, the author used (for some other problem) Excel (Solver), with the goal of minimizing sum of squared errors. Bodea and Ferguson (2014), which the author quotes, found solution in R using the nls function (documentation). Solution can also be found in Python using curve_fit from scipy (documentation).

Bodea and Ferguson also derive another parameter from the logit PRF called:

\[ I = -\frac{a}{b} \]

\(\ldots{}\) which represent the inflection point after which the customers respond aggressively to any price changes made around the inflection point price1: in our case, that would be the price of $17.53. As we can see, after that price, the demand is falling rapidly (if we increase the price) and vice-versa.

Footnotes

  1. Bodea and Ferguson (2014), p. 163.↩︎