Declines in large vertebrate populations are widespread but difficult to detect from monitoring data and hard to understand due to a multiplicity of plausible biological explanations. In parts of Scotland, harbour seals (Phoca vitulina) have been in decline for 10 years. To evaluate the contributions of different proximate causes (survival, fecundity, observation artefacts) to this decline, we collated behavioural, demographic and population data from one intensively studied population in part of the Moray Firth (north-east Scotland). To these, we fit a state-space model comprising age-structured dynamics and a detailed account of observation errors. After accounting for culling (estimated by our model as 14 % of total mortality), the main driver of the historical population decline was a decreasing trend in survival of young individuals combined with (previously unrecognised) low levels of pupping success. In more recent years, the model provides evidence for considerable increases in breeding success and consistently high levels of adult survival. However, breeding success remains the most volatile demographic component of the population. Forecasts from the model indicate a slow population recovery, providing cautious support for recent management measures. Such investigations of the proximate causes of population change (survival, fecundity and observation errors) provide valuable short-term support for the management of population declines, helping to focus future data collection on those ultimate causal mechanisms that are not excluded by the demographic evidence. The contribution of specific ultimate drivers (e.g. shooting mortality or competitors) can also be quantified by including them as covariates to survival or fecundity.