1. A method for providing recommendations for applications to a user, the method comprising: receiving at a cloud computing service a request to provide a composite scored list of applications for a user, wherein the cloud computing service provides a set of available applications to each user of the cloud computing service; receiving input data for determining the composite scored list of applications; initializing a plurality of independent scorers, wherein each independent scorer takes as input a portion of the input data and outputs a scored list of applications for the set of available applications; normalizing the scored list of applications outputted by each independent scorer; constructing the composite scored list of applications, wherein the composite scored list of applications is a function of the normalized scored list of applications outputted by each independent scorer and a weighting value assigned to each independent scorer; and outputting the composite scored list of applications.