A method for providing a conditional scored list of applications for use in recommending applications to a user, the method comprising:
- storing on a cloud computing service a conditional probability table across a set of available applications provided by the cloud computing service, wherein a first conditional probability in the conditional probability table is the probability that users of the cloud computing service who have installed a first application in the set of available applications have also installed a second application in the set of available applications;
- receiving at the cloud computing service a request to provide a scored list of applications for a user;
- retrieving a set of user-installed applications for the user;
- calculating a total conditional probability for each application in the set of available applications, wherein the total conditional probability of an application in the set of available applications is a function of the conditional probabilities of the application obtained from the conditional probability table given each application in the set of user-installed applications;
- constructing the scored list of applications from the set of available applications, wherein a score of each application is its corresponding total conditional probability;
- and
- outputting the scored list of applications.