Interpretation of a negative price coefficient in a log model with gamma distribution 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.
 A: 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.
A: 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.
