Search code examples
algorithmitunes

How would one implement Apple iTunes 'Genius' algorithm?


I've always wondered about how and what the best way to go about implementing the 'Genius' feature on iTunes.

I could probably brute force it, but was just wondering if anyone had any insight.

Thanks.


Solution

  • The Genius algorithm is an example of a recommendation system, which is a hot topic in E-commerce systems. So much so that Netflix had a $1 million prize that went on for several years to improve their recommendation system by a mere 10%.

    On iTunes you have a collection of music. Genius can make assumptions that if you have this music that you must like it. If enough people have song B that have song A then Genius can say that if you have song A you'll probably like song B.

    Just having the song would be a fairly weak recommendation. Better would be if the user had rated that music so you can improve the strength of the "recommendation" on that basis.

    I'd highly recommend reading If You Liked This, You’re Sure to Love That as a good primer on recommendation systems.