1. One or more non-transitory computer-readable media storing computer-executable instructions which, when executed on a computer system, provide a software package comprising: a model definition function configured to receive a model type parameter corresponding to one of a predetermined set of model types defined within the software package; a plurality of model grouping functions, each model grouping function configured to receive one or more data record grouping parameters, wherein each of the predetermined set of model types has a corresponding set of data record grouping parameters defined within the software package; a plurality of model preprocessing functions configured to analyze an input data set to form a set of model input data records, wherein a first model preprocessing function, of the plurality of model preprocessing functions, is configured to modify the input data set by performing one or more of rounding a numeric value, converting a character from lowercase to uppercase, or obtaining synonyms of text data, and wherein a second model preprocessing function, of the plurality of model preprocessing functions, is configured to filter the input data set based on whether a location data point is within a preset distance of a preset location, a model creation function configured to create a data model by applying the set of model input data records to a model definition defined by the model type parameter received via the model definition function and the one or more data record grouping parameters received via the plurality of model grouping functions, wherein the data model represents a sequence of state transitions observed in the set of model input data records; and a model analytics function configured to receive a data stream comprising data, receive a user input, of a user, identifying the data model from a plurality of data models as being related to the data stream, and predict one or more states of the data likely to occur following a current state of the data using the data model.