Spotify’s Social Recommender
Authors: Tung Nguyen, Tuan Tran, Paolo Ratti
Advisor: Aron Culotta - TAPILAB
Artifacts: Presentation
Details
Spotify is one of the biggest music streaming services. The service provides social feature which allows an user to follow other users’ music playlists. The community can also build a shared playlist together. Using Spotify users’ playlists and their corresponding Twitter’s networks, we want to understand how friends (and followers) influence users’ music taste. Consequently, we aim to build a music recommender based on user’s follower network.
Approach
- Collected Spotify users’ playlist and friends network. We scraped Twitter Streaming API for public tweets that contain #NowPLaying hashtag, which is a Spotify specific tag. We consider these users to be highly influential on their followers’ music predilection.
- Created a follower network among collected users.
- Created users’ taste profiles based on their playlists characteristics: acousticness, danceability, energy, speechiness,and valence.
- Incorporated Last.FM’s song tags to analyze users’ music listening habits (diversity, genre, etc.,)
- Built a collaborative-filtering recommender which predicts songs an user most likely listen to next based on their friends’ profiles.
Results
- Achieved 0.77 AUC on 6-fold cross-validation in our next-song prediction model. A 40% increase from baseline Spotify’s current recommender (0.46 AUC).
- Collected ~5k Spotify users’ playlist and following/followers.
- For 1000 users with taste profiles, 14% of the songs that appeared in a follower/friend’s playlist would appear on the seed users’ playlist later on.
- 41% of the friends/followers of a seed user will share at least a common song with the seed user.
- Understood users’ listening habits and playlist diversity using text tokenization, PCA, and cosine similarity.
- Observed a strong correlation between of Spotify’s current recommender and users’ listening habits.