Usually demand models have negative price coefficients, which means that the higher the price, the lower the demand. Many researchers in business look at price coefficients for a "sanity check", i.e. if a price coefficient turns out to be positive, there is something fundamentally wrong with your data. I expect my demand model to follow the same logic and so far see nothing abnormal in my data to challenge that.

I run a log-transformed model with gamma distribution in Stata and obtain the following coefficients:

glm units price promotion ...., family(gamma) link(log)

Iteration 0:   log likelihood = -1968823.8  
Iteration 1:   log likelihood = -1940503.2  
Iteration 2:   log likelihood = -1940388.2  
Iteration 3:   log likelihood = -1940388.2  

Generalized linear models                          No. of obs      =    786339
Optimization     : ML                              Residual df     =    786305
                                                   Scale parameter =  1.465522
Deviance         =  600271.2555                    (1/df) Deviance =  .7634077
Pearson          =  1152347.561                    (1/df) Pearson  =  1.465522

Variance function: V(u) = u^2                      [Gamma]
Link function    : g(u) = ln(u)                    [Log]

                                                   AIC             =  4.935332
Log likelihood   = -1940388.178                    BIC             = -1.01e+07

             |                 OIM
       units |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
       price |  -.8178826   .0084813   -96.43   0.000    -.8345057   -.8012595
   promotion |   .1422098   .0037951    37.47   0.000     .1347715    .1496481

...the rest of the table not shown...

The coefficients at their face value tell us that higher price leads to lower units sold, and promotion leads to higher units sold.

However, since it's a log model, we must perform back-transformation of the coefficients to obtain their true value. Some people use e^beta-1 transformation.

With e^(beta)−1, the price coefficient becomes gigantically negative (55% decrease in units sold for every 1 cent increase in price), which is nonsensical given my knowledge of the data.

Any suggestion on the interpretation? What am I doing wrong?

P.S. I use a gamma distribution model because my demand data is heavily skewed to the right. Out of Poisson, negative binomial, and gamma, the latter has the best fit.


2 Answers 2


This is your model (correct me if I'm wrong):

$\log q = \alpha \times \text{price} + \beta \times \text{promotion} + e$.

If you get a negative coefficient for price, this does imply a negative prediction of price on $q$. We have

$\frac{d\log q}{d \text{price}} = \alpha \approx -0.82$.

To get a demand elasticity from this, simply multiply by $\text{price}$. Because:

$\frac{d\log q}{d\log \text{price}} = \frac{d\log q}{d\text{price}} \times \text{price}$.

You don't need to make the exponential transformation.

I should point out here that the endogeneity of unobserved demand shocks and price means this coefficient is likely biased. There's lots of demand data where you get positive price coefficients because unobserved demand characteristics are positively correlated with price, biasing the coefficient upwards.

  • 1
    $\begingroup$ Similarly I would consider the possibility that you have far too many predictors. $\endgroup$
    – Nick Cox
    Commented Jan 18, 2016 at 9:07

The interpretation might be correct. I only add "might" as I don't know what the unit of price in your dataset is: could be cents as you claim, but it could be millions of euros/dollars/yen/.... So that would be the first thing I would check: read the codebook that comes with the data, and look at the numbers in the data itself to see if that is reasonable (codebooks are written by humans, so they can and often do contain mistakes). The second thing would be to look for missing values coded as real numbers (e.g. -99).

Notice that in Stata you can easily get the $e^b$ and the accompanying standard error and confidence interval by adding the eform option to glm.

  • $\begingroup$ Maarten - great eform tip. How do you interpret an intercept in such model? $\endgroup$
    – Olga
    Commented Jan 18, 2016 at 22:48
  • 1
    $\begingroup$ The exponentiated constant in the count part is the expected number of units sold for those individuals that are not zero inflated if you are giving it away for free, there is no promotion, and all other variables included in the model are also 0. The exponentiated constant is the odds of being zero inflated when the product is free, no promotion, etc. The odds is the expected number of zero-inflated individuals per person that is not zero-inflated. $\endgroup$ Commented Jan 19, 2016 at 8:32

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.