Macromolecular structures and interactions are intrinsically heterogeneous, temporally adopting a range of configurations that can confound the analysis of data from bulk experiments. To obtain quantitative insights into heterogeneous systems, an ensemble-based approach can be employed, in which predicted data computed from a collection of models is compared to the observed experimental results. By simultaneously fitting orthogonal structural data (e.g. small-angle X-ray scattering, nuclear magnetic resonance residual dipolar couplings, dipolar electron-electron resonance spectra), the range and population of accessible macromolecule structures can be probed.