When a Null Result Is the Answer: Aggregation Bias in Demand Estimation
May 2026 | Applied Econometrics | Empirical Research Note | ← Back to Blog
This analysis draws from a working paper on profit-aware pricing in two-sided marketplaces, examining demand elasticity estimation across 110,840 transactions from the Olist Brazilian e-commerce marketplace.
The Null Result
Getting a null result is not the same as getting no information.
The first step in estimating demand elasticities for this project was aggregating the 71 product categories into 10 strategic product buckets, groupings based on purchase motivation similarity. Consumers buying garden tools tend to browse home improvement products in the same session. Consumers buying electronics tend to browse accessories in the same session. The bucket structure reflected real shopping behavior. Within-session bucket loyalty was 93%.
I estimated price elasticity at this bucket level using monthly aggregated data across 130 observations. The preferred specification, two-way fixed effects controlling for both time trends and bucket-level differences, returned an elasticity of +0.09 with a p-value of 0.648. Statistically indistinguishable from zero.
My first reaction was to question the model. But the model was not the problem. At the wrong aggregation level, pricing teams can conclude demand is inelastic when the signal is simply being averaged away.
"This null result is informative rather than inconclusive."
What the Null Result Was Telling Me
The progression from pooled OLS (+2.17) to the fully specified two-way fixed effects model (+0.09) reveals the identification problem. The pooled model captures spurious positive correlation between price and quantity as the marketplace expanded. Adding time and bucket fixed effects absorbs most of the remaining identifying variation in price.
But there was a deeper issue that the model could not fix on its own. The buckets were constructed around purchase motivation similarity, a valid design choice for strategic analysis. That same structure, however, introduced a measurement problem for elasticity estimation.
When bucket-level average prices increased, it was not always because products became more expensive. Sometimes consumers were simply shifting toward higher-priced products within the same bucket. A consumer buying a premium smartwatch instead of a budget fitness tracker raises the average LEISURE bucket price without any individual product changing in price. The aggregate price movement reflected composition changes inside the bucket, not demand response to price.
The model absorbed that composition shift and returned noise. The same aggregation that made the buckets strategically meaningful, their internal coherence, made them unreliable for elasticity estimation.
The Unit of Analysis Problem
This is a well-documented problem. Tellis (1988) shows that temporal aggregation introduces positive bias in price elasticity estimates, and that cross-sectional data alone produces substantial upward bias relative to time series estimates. The unit of analysis is not a technical detail. It is a fundamental determinant of whether elasticity estimates are reliable.
With only 10 buckets and 30 fixed effect parameters in a 130-observation dataset, the approach was also overparameterized. The appropriate response was disaggregation, not abandonment of the elasticity approach.
What Disaggregation Recovered
Disaggregating to the original 50 product categories provided 943 observations, approximately 19 months per category, with sufficient variation for elasticity estimation while maintaining meaningful product differentiation.
65% of categories showed negative elasticities in the simple model. Four categories remained robust across both simple and controlled specifications, meeting all three robustness criteria: negative in both specifications, statistically significant at the 5% level in both, and consistent in magnitude.
Watches and Gifts showed an elasticity of -2.98 with R-squared of 0.89, identical across both specifications, indicating strong price comparison behavior in this discretionary gift and personal accessory category. Garden Tools showed -2.77 with R-squared of 0.72, reflecting the seasonal and deferrable nature of outdoor purchases. Electronics strengthened with controls from -1.55 to -2.18, suggesting freight costs and review scores were suppressing the true price effect in the simple model. Consoles and Gaming showed -1.35 with R-squared of 0.56, moderately elastic despite brand loyalty effects.
Same data. Same time period. Different unit of analysis. Completely different answer.
The Practical Implication
This finding has a direct implication for how practitioners structure pricing analyses. Before estimating elasticities, the question worth asking is whether price movements at the chosen level of aggregation reflect true price sensitivity or composition changes within the aggregate.
If the answer is unclear, the null result itself is informative. It points toward the unit of analysis problem rather than a model failure. Disaggregation is the diagnostic response, not model refinement.
The tool was not wrong. The level of aggregation was.
Conclusion
A null result in demand estimation is not a dead end. It is a diagnostic signal. In this case it pointed directly at the unit of analysis problem, a well-documented source of bias that shows up in modern e-commerce data the same way Tellis documented it in 1988.
In pricing work, a null result is often less important than understanding why the signal disappeared.
This analysis is part of a broader working paper on profit-aware pricing in two-sided marketplaces, examining demand elasticity estimation, profit optimization under cost uncertainty, customer lifetime value modeling, and implementation frameworks across 110,840 transactions from the Olist Brazilian marketplace. The full paper is available on my research page.