1. A computer implemented method for estimating a probability that a future event will occur based on user input, the method comprises: decomposing by one or more computer systems a data input stream to build a first database of precursor data to build at least one predictive model; building by the one or more computer systems at least one model generated by a model building process using the precursor data in the precursor database, with the at least one model being a model that produces predictions of the likelihood of an event occurring in the future; and storing by the one or more computer systems the at least one model in a second database that stores models, with the second database being searchable to permit the at least one model in the second database to be accessed by users; and calculating by the one or more computer systems accuracy of the at least one model against historical data.