Spotify Music Data Analysis

Popularity · Genre Trends · Audio Features

Aditya Suresh

2026-04-17

About the Dataset

Spotify Ultimate Tracks DB

  • Source: Kaggle (Zaheen Hamidani)
  • Thousands of tracks across genres
  • Audio features extracted via Spotify API
Variable Description
popularity Score 0–100
genre Music category
energy Track intensity
danceability Rhythmic suitability
artist_name Performer

What We’re Exploring

Four questions, four visualisations

  1. 📊 How is popularity distributed across all tracks?
  2. 🎵 Which genres perform best on Spotify?
  3. ⚡ Is there a link between energy and danceability?
  4. 🔍 How do these patterns vary across genres?

Plot 1 · Popularity Distribution

  • Most tracks score below 40 — obscurity is the norm
  • Only a tiny fraction achieves viral popularity (70+)
  • Reflects the long-tail economics of music streaming

Plot 2 · Popularity by Genre

  • Mainstream genres (pop, hip-hop) have higher medians
  • Wide boxes = high variability within the genre
  • Outlier dots = occasional breakout tracks in every genre

Plot 3 · Energy vs Danceability

  • Positive relationship: more energetic → more danceable
  • High-popularity tracks cluster in the mid–high zone
  • Extreme energy levels tend to reduce popularity

Plot 4 · Faceted by Genre

  • Trend slopes differ by genre — not a one-size-fits-all pattern
  • Dance genres: steep positive slope | Classical: flat or negative

Key Insights

  • 🎯 Popularity is rare — the vast majority of tracks score below 40
  • 🏆 Genre is a strong predictor of commercial success
  • Energy × Danceability are positively linked for popular tracks
  • 🎸 Genre-specific patterns hidden in aggregate data
  • 📈 High-popularity tracks cluster in the sweet spot: moderate-to-high energy with high danceability

Tools & Methodology

Step Tool
Data loading readr::read_csv
Cleaning & wrangling dplyr, tidyr
Visualisation ggplot2
Report Quarto .qmd → PDF
Presentation Quarto .qmd → RevealJS / Beamer PDF
Publishing RPubs

Thank You

Spotify Data Visualization Assignment

Analysed using R, ggplot2, and Quarto

RPubs Report Link: [https://rpubs.com/Aditya_Suresh/1422850]

RPubs Presentation Link: [https://rpubs.com/Aditya_Suresh/1422861]