1. A computer-implemented method, the method comprising: obtaining, over a network, a database table from a client device, the database table including data arranged in a plurality of rows and a plurality of columns, each column of data being associated with a different tag that specifies a category for data in the column, the different tag separate from a column name associated with each column of data; receiving a query to identify at least one predictive model compatible with the database table; in response to receiving the query, using one or more processors to identify, based on one or more of the different tags, a plurality of predictive models, from a collection of predictive models, that can be applied to the database table to generate a predictive output, at least one identified predictive model being trained on data selected from a group consisting of data associated with one or more categories related to categories specified by the different tags, data associated with the same categories specified by the different tags and arranged in a different order from the data of the database table, and combinations thereof; ranking the identified predictive models based on how closely categories of data accepted by each identified predictive model match the categories of data specified by the different tags, wherein the categories of data accepted by each identified predictive model are categories of data on which the identified predictive model has been trained; adding a name associated with at least one of the identified predictive models to a set of names of predictive models that are compatible with the database table; and providing the set of names of predictive models to the client device.