Spotify analytics

What makes a song well rated, and which songs belong together? Spotify tracks, tested and clustered.

When
Sep to Dec 2022
Tools
SQL, MySQL, Python, Statistics, Dashboard
Two turntable styluses resting in the grooves of a vinyl record, in black and white
Analytics. A photograph of the setting, not the project itself.

The problem

Streaming services keep listeners by suggesting songs like the ones they already love, and artists want to know what makes a song rate well. We asked whether genre affects rating, whether explicit songs rate higher, and which audio features predict a rating.

How I built it

  • Data.

    SQL queries against MySQL to process 95,000+ historical Spotify tracks.

  • Statistics.

    t-tests and z-tests at a 95% confidence level, and ANOVA to compare ratings across genres.

  • Models and dashboard.

    Multiple linear regression for song-rating prediction, presented in a user-friendly dashboard.

  • Recommender.

    k-means clustering, with k = 4 chosen by the elbow method, returns the five songs closest to any track.

  • Drill-down.

    The dashboard goes from genre to subgenre to artist to song, with an insights page on how each feature moves the rating.

Results

95,000+

historical tracks processed.

98%

confidence in genre-based rating differences, by ANOVA.

0.57

adjusted R² for song-rating prediction.

In hindsight

A recommender built this way favours songs and artists that are already popular, so new music struggles to surface.
Talk about a project like this