Abstract. A classical approach to understanding hydrological behavior is the unit hydrograph and its many variants, but these often assume linearity (runoff response is proportional to effective precipitation), stationarity (runoff response to a given unit of rainfall is identical, regardless of when it falls), and spatial homogeneity (runoff response depends only on spatially averaged precipitation). In the real world, by contrast, runoff response is typically nonlinear, nonstationary, and spatially heterogeneous. Quantifying this nonlinearity, nonstationarity, and spatial heterogeneity is essential to unraveling the mechanisms and subsurface properties controlling hydrological behavior. Here, I present proof-of-concept demonstrations illustrating how nonlinear, nonstationary, and spatially heterogeneous rainfall–runoff behavior can be quantified, directly from data, using ensemble rainfall–runoff analysis (ERRA), a data-driven, model-independent method for quantifying rainfall–runoff relationships across a spectrum of time lags. I show how ERRA uses nonlinear deconvolution to quantify how catchments' runoff responses vary with precipitation intensity and to estimate their precipitation-weighted runoff response distributions. I further illustrate how ERRA combines nonlinear deconvolution with de-mixing techniques to reveal how runoff response depends jointly on precipitation intensity and nonstationary ambient conditions, including antecedent wetness and vapor pressure deficit. I demonstrate how ERRA's de-mixing techniques can be used to quantify spatially heterogeneous runoff responses in different parts of a catchment, even if those subcatchments are not separately gauged. I also illustrate how ERRA's broken-stick deconvolution capabilities can be used to quantify multiscale runoff responses that combine hydrograph peaks lasting for hours and recessions lasting for weeks, well beyond the average spacing between storms. ERRA can unscramble these multiple effects on runoff response even if they are overprinted on each other through time and even if they are corrupted by autoregressive moving average (ARMA) noise. Results from this approach may be informative for catchment characterization, process understanding, and model–data comparisons; they may also lead to a better understanding of storage dynamics and landscape-scale connectivity. An R script is provided to perform the necessary calculations, including uncertainty analysis.