We consider a revealed preference-based method that will bound the minimal partition of consumer microdata into a set of preference types such that the data are perfectly rationalisable by standard utility theory. This provides a simple, non-parametric and theory-driven way of investigating unobserved preference heterogeneity in empirical data, and easily extends to any choice model which has a revealed preference characterisation. We illustrate the approach using survey data and find that the number of types is remarkably few relative to the sample size – only four or five types are necessary to fully rationalise all observed choices in a data set with 500 observations of choice vectors.