Technology Review, By Christopher Mims, June 02, 2010,
An Apple engineer discloses how the company's premier recommendation engine parses millions of iTunes libraries.
Ever since the feature debuted in 2008, there's been a lot of speculation about how iTunes Genius accomplishes its playlist-building magic. Now an engineer at Apple that works on the iTunes Genius team has revealed some tantalizing clues - a rare disclosure for the infamously secretive company.
Recapitulating what Steve Jobs has said previously about iTunes Genius, Apple engineer Erik Goldman writes in his post on Quora that the starting point for the Genius service is a packet of usage data--what songs a user has in his or her library (and, presumably, how often he or she plays them)--sent from the iTunes application which is "folded into a larger database of users and songs."
Basically, your library of tracks is compared to all the other Genius users' libraries of tracks. Apple then runs a set of previously secret algorithms, which Goldman described as straightforward recommendation algorithms similar to those used by other services like Netflix when it suggests movies for a user to watch now or add to his quene, to generate statistics for each song. "These statistics are computed globally at regular intervals and stored in a cache," notes Goldman, because data on the similarity of any two songs changes slowly--it's assumed the only reason it changes at all is because of the changing tastes of the listening public, and the introduction of new tracks and artists.