1. A computer-implemented method, comprising: identifying, by a computer system, a plurality of templates from a template library that are applicable to a dataset; ranking, by the computer system, the plurality of templates into a ranked list; detecting, by the computer system, a selection of a template from the ranked list; retrieving, by the computer system, a plurality of algorithms that are associated with the template; ranking, by the computer system, the plurality of algorithms; selecting, by the computer system, an algorithm from the plurality of algorithms having the highest ranking; and applying, by the computer system, the selected algorithm to the dataset to generate a result.