By representing a system of budget shares as an approximate factor model we determine its rank, i.e. the number of common functional forms, or factors and we estimate a base of the factor space by means of approximate principal components. We assume that the extracted factors span the same space of basic Engel curves representing the fundamental forces driving consumers' behaviour. We identify these curves by imposing statistical independence and by studying their dependence on total expenditure using local linear regressions. We prove consistency of the estimates. Using data from the U.K. Family Expenditure Survey from 1977 to 2006, we find strong evidence of two common factors and mixed evidence of a third factor. These are identified as decreasing, increasing, and almost constant Engel curves. The household consumption behaviour is therefore driven by two factors respectively related to necessities (e.g. food), luxuries (e.g. vehicles), and in some cases by a third factor related to goods to which is allocated the same percentage of total budget both by rich and poor households (e.g. housing).