In my job as a data scientist, I am required to model the relationship between the price of a product and the sales or number of unit sold. I am trying to build a simplistic model, the assumptions of which are given below. I am not sure if all the assumptions will hold true simultaneously, or if there is a missing assumption or if some assumptions are wrong. Can any expert have a look and comment/give suggestions?


Different customers have different income so the product priced at $P$ may be affordable to some and not affordable to others. But from a practical business point of view, we cannot build a model of each individual. So we assume that average income of the customers remains fairly constant in the short term and so we assume that we are trying to model the behavior of a single customer whose income is constant and equal the average income of all the customers.

  1. All other conditions external conditions such as macro economics, competitive products, government policies and business rules remain constant
  2. The product has demand, it is mature and stable and so at present the no. of units of the product sold depends only on its price.
  3. As the price changes, the probability that th customer will purchase the product changes. Let $a_1$ be the probability that the customer purchases the product at price $P_1$ and $a_2$ be the probability that the customer curchases the product at price $a_2$. Then $a_2$ depends only on the initial price, initial probability and the new price i.e. $a_2 = f(a_1,P_1,P_2)$ where $f$ is some probability function whose behavior we are trying to find out assuming that such a function exists in the first place.
  4. If price remains constant, then the purchase probability remains unchanged i.e. $f(a_1,P_1,P_1) = a_1.$
  5. Hypothetically, if the product is critical for survival (e.g. purchasing your daily oxygen in a Mars colony) the customer will buy it no matter what the price is i.e. $f(1,P_1,x) = 1$ for all $x$.
  6. If the product is not critical for survival then it will be out of demand at infinite price i.e. $ Lim_{x \to \infty} f(a_1,P_1,x) = 0.$
  7. If the product is important and very cheap then everybody will but it i.e. $ Lim_{x \to 0} f(a_1,P_1x) = 1$.
  8. As price increases, sales decreases i.e. if $P_1 < P_2 < P_ 3$ then $0 \le f(a_1,P_1,P_3) < f(a_1,P_1,P_2) \le 1.$
  9. Since $f$ is a probability density function, its value must be between 0 and 1 i.e. $0 \le f(a,x,y) \le 1$ for all $x$ and $y$.
  10. Mathematically, since $f$ is a probability density function, and price cannot be negative the total area under the probability density curve must be 1 i.e. $$\int_{-\infty}^{\infty} f(a_1,P_1, x) dx = \int_{0}^{\infty} f(a_1,P_1,x) dx = 1.$$

Now there will be infinitely many functions $f$ satisfying all the above conditions. For example

$$ a_1^{P_2/P_1}, \frac{a_1\log(1+P_2/P_1)}{\log 2} $$

We eleminate the ones that do not fit the observed data. But even then we can still be left with multiple functions that satisfies all the assumptions of the framework as well as fits the data within an acceptable error range as defined by the business.

Question 1: What other criteria/conditions/assumptions can we use to choose one mathematical model over another?

One way is to use Occam's Razor and go with the simplest model defined as the one which uses the least number of parameters in which case $$ f(a_1,P_1,P_2) = a_1^{P_2/P_1} $$

Question 2: Lets ignore my entire framework. What are the other models in economics that can be used to estimate the purchase probability given $a_1, P_1$ and $P_2$.

Question 3: Which assumption is simple impossible and should be removed? What additional assumptions are required if any?

  • $\begingroup$ What makes you think f is a PDF? It looks to be just a function that happens to return a probability. So #10 makes no sense to me. $\endgroup$ Dec 28, 2019 at 17:15

1 Answer 1


The main problem of your framework is that you talk about sales but model only demand. Assuming that the supplier is not a monopolist you should take competing suppliers into account, when estimating sales. To do that any real world examples will have to define the extent of the market. Having said that your framework is a pretty good job as a first try!

@3, 4. Classic micro relies on the irrelevance of independent alternatives. Translating this to your framework $a_2 = f(P_2)$, unless $P_1$ directly affects the consumer's budget in $t_2$. For example - if oxygen was more expencive than your income yesterday, you had to borrow to buy it and today will have to repay your debt. As far as such intertemporal concerns may be important, you need to specify the consumer's planning horizon, which will generally depend on the type of good. For example - if durable goods are involved - cars, fridges etc., and I buy today I won't return as a consumer to this market for the next five years no matter what. However if I know (or expect) that the price of cars will come down next month I will wait until it does and buy than. I.e. it can be that $a_1 = f(P_1, P_2)$. I cannot see why $a_1$ should affect $a_2$ or vice versa through a channel different than the price vector unless there are some asymmetric capacity issues in some periods and demand in excess of capacity thus moves back and forth between periods. I am not exactly sure about search frictions but I think that their effect is quite similar with regard to your question. As long as you have simple consumer goods that you buy every month $a_t = f(P_t)$ is okay.

@5 If the oxygen is so expencive that the purchase violates your consumer's life-time budget constraint I am sorry but he is going to have to die. In this case it is obvious that $a_2 = f(P_2)$ only.

@8 There are goods for which the quantity demanded increases when their price goes up. They are called Giffen goods. Apart of that if your consumer from @5. can afford oxygen he will buy. I.e. it can be that $P_1 > P_2$ and $f(P_1) = f(P_2) = 1$.

Demand is usually modeled as a $Q_t = f(P_t$, control variables) + $\epsilon_t$,

where $f$ is deterministic and all randomness comes from the error term, which should be familiar to you from your daily work.

  • 1
    $\begingroup$ I like the simplification by Grada. Another thing is to think about is lag. The price change probably doesn't cause sales changes immediately. They probably arrive over time. Distributed lags can be used to model the lag in a predictor. At one time, that type of model was pretty commonly used in sales-advertising models. $\endgroup$
    – mark leeds
    Jul 27, 2019 at 23:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.