Summary. Modular programmes are now the most popular framework for first-degree courses in the UK. Within a modular degree course, each student's programme consists of a number of modules taken in each term or semester. Detailed records of undergraduates’ performance are maintained throughout their programmes, allowing patterns of achievement to be studied. The data contained in students’ transcripts have a cross-classified structure, in which the marks recorded in each module entry are nested within students and also within modules. Models for cross-classified data can be computationally difficult, especially when large numbers of units are involved, but estimates can be obtained by using Markov chain Monte Carlo methods. In the context of modular higher education, it is important that such models can represent the effects of students’ backgrounds, and of the learning environments provided in each module on students’ mean levels of achievement and on variation at different levels of the model. This paper discusses models that are suitable for analysing student transcript data from a modular degree programme and describes an algorithm for fitting a cross-classified model that includes random effects and complex or heterogeneous variance functions. The results of applying this model to student transcript data for a first-degree course are used to demonstrate the importance of employing a cross-classified model and the value, in substantive terms, of the information that is obtained.