1. A computer-implemented system comprising: one or more computers; one or more data storage devices coupled to the one or more computers; the one or more data storage devices storing: a repository of training functions; a repository of trained predictive models; and instructions that, when executed by the one or more computers, cause the one or more computers to perform operations comprising: receiving over a network a plurality of sets of predictive modeling training data from a first plurality of client computing systems; for each set of plurality of sets of predictive modeling training data: using the training data and a plurality of training functions obtained from the repository to train a plurality of predictive models; generating a score for each of the plurality of trained predictive models, where each score represents an estimation of the effectiveness of the respective trained predictive model; and selecting a trained predictive model from among the plurality of trained predictive models based on the generated scores; wherein a plurality of trained predictive models are thereby generated and selected; storing the plurality of selected trained predictive models in the repository of trained predictive models; and providing access to the plurality of trained predictive models to a second plurality of client computing systems.