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 predetermined 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 in the predetermined 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 wherein a composite score for a first application in the predetermined set of available applications is calculated as: 
 ( IS 1 *W 1 +IS 2 *W 2 +. .. +IS N *W N )/( W 1 +W 2 +. .. +W N ) where N is a number of independent scorers, IS n is a normalized score of the first application from the n-th independent scorer, and W n is the weighting value assigned to the n-th independent scorer; and outputting the composite scored list of applications.