The question that follows is derived from a SAS User's Group paper available on the web (Price and Cross Price Elasticity Estimation Using SAS). The objective is to calculate price elasticities (own and cross). There are two products (our product and a substitute and two promotional events from us). An OLS is run from data for 26 weeks and is formulated as follows:

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

The parameters of the model are as follows

log_Price_A         --> b1 =  -4.3  p-value=0.0017
Log_Price_B         --> b2 =   0.0486  p-value=0.9651
Promo_1             --> b3 =  36.88 p-value=0.0977
Promo_2             --> b4 =   4.5 p-value=0.3349
log_Price_A*Promo_1 --> b5 = -19.7 p-value=0.0975
log_Price_A*Promo_1 --> b6 =  -2.3 p-value=0.3358

I want to find the elasticity of Price_A with Promo_1. The paper says that it is b1+b5 = -4.3+-19.7 = -24. Why is that? Since we have multiplied log_Price_A with Promo_1 shouldn't the elasticity of the two be -19.7? Why do we add the two parameters?

  • $\begingroup$ Please edit your question to add a link to the paper in question. What is the statistical significance of each of the parameters? Can you also edit your question to include p-values? $\endgroup$ Apr 17, 2016 at 4:34

1 Answer 1


I guess Promo_1 and Promo_2 are categorical variables, in this case binary, representing the presence of the promotion.

The elasticity of interest here is the price elasticity of demand, in the presence of Promo_1. So you need to compute:

$$ dD/dPA * PA/Q = dlogD/dlogPA $$ for Promo_1 = 1. Here you have a log-log specification, so the parameters are elasticities. Differentiate the model equation with respect to logPA, you obtain b1 + b5*Promo_1.

Hence, in the presence of the promotion, i.e. Promo_1 = 1, the estimated elasticity is b1+b5.

Edit: For the record, estimating demand function has a long history in econometrics because of the potential endogeneity issues. You should probably look up for 2SLS and structural models.

  • $\begingroup$ Thankls for your answer. It was really helpful. One more question: Since the parameter of log_PriceA is -4.3 that measn that a 1% increase in priceA will result in a 4.3% decrease in Demand. A 1% increase in demand with a promotion will result in a decrease of Demand by 19.7%. How is this possible since a promotion alone will increase demand by 36.88 units. I would expect that an increase in price with a promo would result in a decrease in demand less that 4.3% (only price increase). Thanks, Andreas $\endgroup$ Apr 18, 2016 at 9:32
  • 1
    $\begingroup$ The presence of the promotion increases demand for good A, although the net effect clearly depends on the price level. This estimate suggests that demand for good A is more sensitive to own price in the presence of the promotion. However for some price level, demand rises with the promotion. Evaluate demand using mean price levels to have an idea on this. Please consider accepting the answer. $\endgroup$
    – dv_bn
    Apr 18, 2016 at 11:39
  • $\begingroup$ One more question: If i find non significant covariates should i drop them out of the model? E.g. if log_price_b or promo 1 or log_Price_A_promo1 are insignifincat should i drop them out and run the regression again? What signifincae level should i use? Finally if the errors are autocorrelated should i i model them with an ARMA structure e.g. run an autotreg in SAS? Thnaks in advance $\endgroup$ Apr 18, 2016 at 13:09
  • 2
    $\begingroup$ In general, dropping out not statistically significant variables from your model is a bad idea. You can find plenty of reasons elsewhere on the internet regarding this issue. For the autocorrelation, first you need to ensure that your series are stationary, if so then estimate the model parameters with an estimator that is robust to autocorrelation, like feasible GLS. $\endgroup$
    – dv_bn
    Apr 18, 2016 at 13:18
  • $\begingroup$ Thnaks for your answer. So if a covariate is e.g. highly insignificant like log_Price_B in the above example should i keep the value of its parameter i.e. the cross elasticity as reliable? $\endgroup$ Apr 18, 2016 at 13:35

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.