The Assignment:

Your task is to analyze an existing recommender system that you find interesting. You should:

  1. Perform a Scenario Design analysis as described below. Consider whether it makes sense for your selected recommender system to perform scenario design twice, once for the organization (e.g. Amazon.com) and once for the organization’s customers.
  2. Attempt to reverse engineer what you can about the site, from the site interface and any available information that you can find on the Internet or elsewhere.
  3. Include specific recommendations about how to improve the site’s recommendation capabilities going forward.
  4. Create your report using an R Markdown file, and create a discussion thread with a link to the GitHub repo where your Markdown file notebook resides. You are not expected to need to write code for this discussion assignment.

Spotify Recommender System Introduction:

Spotify produces several products for their premium subscription members. From six personalized Daily Mixes to weekly song suggestions bases on most liked genres (Discovery Weekly), recommender systems have become a focal point for what Spotify can offer to keep customers coming back.

##Scenario Design Analysis:

Who are the target users? After some research its quite clear that this recommender system is directly aimed at users and trying to make the experience as personalized as possible. Users, whether on a phone or a computer, enjoy a vast range of offerings relating to their music tastes. However, and much less so, the physical artists who put their music on Spotify are also target users (though ive heard they dont enjoy the same benefits as putting their music on other platforms).

What are the key goals? Like I mentioned above the goal of the spotify is to keep the user as engaged as possible with their app, personalization makes it much easier to keep customers coming back, because there is always something new getting generated on a daily basis.

How can these methods be improved?

Some of my recommended daily playlists
Some of my recommended daily playlists

##What methods does Spotify use?

This next section is about exploring what recommender systems I believe Spotify employs to get this level of personalization within their app.

While I was doing research for this discussion I came across many sources that mentioned a few different recommender systems that Spotify used. These methods are:

  1. Collaborative Filtering

  2. Natural Language Processing (NLP)

  3. Audio File Analysis (AFA)

Collaborative Filtering

Spotify uses collaborative filtering as the primary driver of the personalized products. What this system does is find similarities between two users (1:1, but likely does this many more times with other users) and then suggests a song that only one of the users within the collaboration have listened to.

Natural Language Processing (NLP)

NLP is also said to be used in several instances across the app for both music recommendation and expanding metadata. While it isnt completely hashed out, I can imagine that the company used NLP for webscraping reviews of songs, artists, albums and podcasts (since there is no real way to do this in the Spotify app). Additionally, emotion can be extracted out of songs and albums using NLP and text mining methods, and can be used to suggest other songs with similar emotion (ie, their are ‘Happy Summer’ albums as well as ‘Cozy Winter’ recommendations.

Audio File Analysis (AFA)

Audio File analysis is the last system I found when investigating this. I personally think that this is the most exciting method. AFA analyzes audio files across all songs and is able to recommend songs and albums based on tempo. cadence, voice types, etc. I think that this provides an incredible amount of personalization that many people may not be aware of (ie, liking certain tempo of songs, or an acute style of cadence and voice type, or even certain instruments they have never heard of).

Personal Recommendations:

I think that massive broad generalizations about a persons listening habits come up short a lot of the time and cant often bring in negative views on personal listening preferences. For example, Spotify really only sees what I’ve listened to 50,000 times, but it doesn’t see that I genuinely dislike some music that may be considered similar to the artists or songs I’ve listened to many times. So I think that its possible to use skips on recommended music could be a good ‘negative’ indicator. Going further, they could employ audio file analysis on the skipped songs and find connections of what not to recommend.