This research hypothesizes important individual differences in response to promotions and tests for them using a cross-sectional multinomial logit choice model. Our hypotheses suggest interactions between individual brand preference and the effects of current promotion and past promotional purchase. To test for these interactions, we introduce a new method of measuring brand preference from past purchase data. The new method seeks to incorporate competitive purchase conditions as modifiers to observed brand purchase behavior in estimating consumer brand preference. We account for heterogeneity in the cross-sectional model by using two measures of loyalty: one to capture differences across individuals and one to capture the time-varying changes within an individual. Our empirical results, based on scanner panel data for instant caffeinated coffee, support our hypotheses and our model specification. We conclude that accounting for consumer heterogeneity both in response to promotion and in brand and size loyalty improves both fit and predictive ability.