My goal with this project is to see whether or not I can predict the critical reception of an album using data scraped from metacritic and audio features collected from the Spotify Web API with the help of the Python library Spotipy
- Metascore, a weighted average of critic reviews, as aggregrated by metacritic (range: 0 - 100)
Each of these was looked into, but not all of them ended up being used in the final model
- Release Month
- Day of the week released
- Number of tracks
- Average track length
- Total album length
- Artist's monthly Spotify listeners
- Percentage of explicit tracks on the album
Audio features as calculated by Spotify (for each feature, I chose to use the mean of the value for each track on the album in order to get an album level metric:
- Acousticness: values from 0 to 1 as a confidence measure of whether the track is acoustic
- Danceability: values from 0 to 1 based on a combination of musical elements that indicate danceability
- Energy: values from 0 to 1 based on a measure of intensity and activity
- Instrumentalness: value from 0 to 1 as a confidence measure of whether a track contains no vocals
- Liveness: Values from 0 to 1 measuring probability that the track was being performed live during recording
- Loudness: Overall loudness of a track in decibels, averaged across the entire track
- Speechiness: A measure from 0 to 1 representing the ratio of presence of spoken words to the presence of music
- Valence: A measure from 0 to 1 describing the musical positiveness/happiness of a track
- Tempo: Overall estimated tempo of a track in BPM
- Scraped data for approximately 3,000 albums from metacritic's new releases.
- Collected additional audio features from Spotify's API through a python library called Spotipy
- Python
- NumPy and Pandas: data structures, data cleaning
- BeautifulSoup: HTML web scraping
- Scikit-learn and Statsmodels: Model fitting, predicting, evaluation, and some pre-processing
- Seaborn and Matplotlib: visualizations
- Spotipy: interacting with Spotify's Web API
- Identifying factors that can increase or decrease the critical perception of a release