In this talk, I will give an overview of methods for choosing partitioning schemes for the phylogenetic analysis of genome-scale datasets. This involves moving from analyses in which users provide information on the heterogeneity of evolutionary processes among sites (e.g. by defining different loci or codon positions) to analyses in which the heterogeneity is determined automatically. To do this, we have to develop methods that are both fast and free of bias. Both of these things are challenging, and despite much progress in recent years, a number of open questions remain.