1. A computer-implemented method comprising: receiving a first data set of data samples, each data sample comprising input data and corresponding output data, wherein the first data set is new relative to (i) an initial training data set and (ii) a plurality of previously received update data sets of data samples, wherein the initial training data set was used to train each trained predictive model in a repository of trained predictive models, at least some which are updateable, and wherein the plurality of previously received update data sets of the data sample were used to retrain one or more updateable trained predictive models in the repository; assigning a richness score to each of the data samples included in the first data set and to each of a set of retained data samples from the initial training data and the plurality of previously received update data sets, wherein the richness score for a particular data sample indicates how information rich the particular data sample is, relative to other data samples in the set of retained data samples and the first data set, for determining an accuracy of a trained predictive model; ranking the data samples included in the first data set and the set of retained data samples based on the assigned richness scores; selecting a first set of test data from the data samples included in the first data set and the set of retained data samples based on the ranking; testing how accurate each of the trained predictive models in the repository is in determining predictive output data for given input data using the first set of test data and determining respective accuracy scores for each of the trained predictive models based on the testing; and selecting a first trained predictive model from the repository based on the accuracy scores and providing access to the first trained predictive model to a client computing system for generating predictive output data based on input data received from the client computing system.