Formulas like this taken from here:

Log_Demand_A = constant + b1*log_Price_A + b2*log_Price_B + b3*Promo_1 + b4*Promo_2 + b5*log_Price_A*Promo_1 + b6*log_Price_A*Promo_2

can be easily fitted with common linear regression algorithms in R or SAS. The parameter b1 can also be directly interpreted as price elasticity of product A and the parameter b2 as cross elasticity.

In theory, the fitted model can also be used to predict demand but demand is not only affected by price but also by other factors (e.g. time of the year). A crude way to incorporate time would be to use, for example, week of the year as dummy variable. However, I think this is too simplistic, as demand usually has a trend, seasonality etc. So this requires sophisticated time series models (AR, MA, ARMA, ARIMA etc.). I reckon these models will be fairly good in predicting demand. However, can such models still contain these components:



And most importantly, can b1 and b2 still be interpreted as price elasticity and cross elasticity respectively? Any feedback and pointers to existing publications/(commercial) solutions would be very much appreciated.

  • 1
    $\begingroup$ b1 and b2 CANNOT be interpreted as price elasticity ; b(X/Y) CAN as so as E=(ΔY/Y)/(ΔX/X)=ΔlnY/ΔlnX=slope(X/Y) in the double-log linear model lnY(t)=α+β∙lnX(t) $\endgroup$
    – JeeyCi
    Feb 9, 2023 at 7:02
  • $\begingroup$ Modeling Price Elasticity to Drive Strategy $\endgroup$
    – JeeyCi
    Feb 9, 2023 at 7:12

1 Answer 1


The most important question here is 'Is the observed variation in the price exogenous?'. Unless you did pricing experiment, the answer is usually no for any observational data and there is no hope of recovering price elasticity just from observing sales and price. That is, the price in your equation has to be correlated with unobserved factors that affect the demand and that breaks the basic assumption for parameter identification of the least square method.

Even if you're the price setter, your pricing is affected by various demand factors(you charge high price when you expect high demand...) and therefore the observed prices are endogenous. So you often get negative 'price elasticity' from the least square estimation.

What you need is a real or quasi experiment, that makes your price variation purely exogenous. Unexpected promotion in random timing can be one of them. But real promos rarely have such properties.

Another route is to look at individual customer level data if the item of interest is frequently bought. Modeling assumptions on individual utility/choice helps a lot for the identification. (given that you believe those assumptions...) There still would be the concern of endogenous price, but in much less degree than the aggregate reduced form that you're looking at.

Read any graduate econometrics textbook and look for topics like simultaneous equations model/instrumental variables. Price elasticity/demand estimation is one of the prime examples.

One of the leading scholars related to the second approach is J.P.Dube at Booth. He's done a lot of research on modeling individual level purchase data. He also has worked on some pricing experiments too.

Sophisticated time series concerns can come much later after the above issue is addressed.


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.