Conclusion

In this project, we studied the relationship between tracks and playlists on Spotify. We used web scraping through Spotify's API to enrich our data. We made assumptions about the user behavior on the platform and built a model that reflects our assumptions. We defined an evaluation metric and compared our model to that of Spotify.

Our model, based on the evaluation metric that measures user satisfaction, outperforms Spotify. However, we can improve upon the evaluation metric by incorporating the number of followers. The number of followers metric acts as a direct proxy for the success of a playlist. It would be interesting to see the relationship between the popularity of each track in a playlist and the number of followers of that playlist. Unfortunately, our data set did not have a playlist_uri in which we could obtain the number of followers.

In regards to the prediction of new songs based on the current playlist, our algorithm makes a limited amount of song predictions that are similar to what a user might predict. However, we should remember that music preferences are subjective. Also we cannot actually compare our predictions to those generated by Spotify as we did not have Spotify's prediction based on a given playlist. Hence we believe that while our algorithm might not revolutionise Spotify, it does a decent job at predicting songs that users might enjoy based on their current playlists.