Patent attributes
An example system includes a recommendation module. The recommendation module may receive a recommendation request including a set of installed application identifiers and identify a set of candidate application groups including at least one matching candidate application identifier. For each candidate application group, the recommendation module may determine a recommendation score based on a number of matching candidate application identifiers included in the candidate application group that match at least one installed application identifier. The recommendation module may select a first candidate application group based on the recommendation scores and select at least one non-matching candidate application identifier from the first candidate application group that does not match any of the installed application identifiers, resulting in a set of recommended application identifiers. The recommendation module may transmit to the user device, recommendation data for at least one recommended application identified by the set of recommended application identifiers.