1. A computer-implemented method, comprising: accessing data on a computing device, wherein the data includes a set of candidate variables and observations corresponding to the candidate variables of the set; calculating predictiveness of each of the candidate variables; ranking the candidate variables according to the predictiveness calculated for each of the candidate variables; determining a set of selected variables and a set of rejected variables, wherein the set of selected variables and the set of rejected variables are both subsets of the set of candidate variables, and wherein determining the set of selected variables includes identifying candidate variables that have more predictive power than the candidate variables in the set of rejected variables; generating an initial predictive model using the set of selected variables; generating a set of derived variables, wherein generating a set of derived variables includes deriving variables by applying a dimension reduction to the set of rejected variables, wherein a dimension reduction includes projecting a multi-dimensional variable space onto a variable space that is a lower-dimensional variable space than the multi-dimensional variable space; determining a set of best derived variables, wherein the set of best derived variables is a subset of the set of derived variables, and wherein determining the set of best derived variables includes selecting derived variables that have more predictive power than unselected derived variables; generating a merged set of variables by combining the set of selected variables with the set of best derived variables, wherein the merged set includes a new input space; generating a new predictive model using the variables in the merged set; comparing the new predictive model and the initial predictive model, wherein comparing includes determining which of the compared models achieves a better predictive performance; and performing data analyses using the predictive model that achieves the better predictive performance.