DEV Community

Cover image for Decoding Setlist Uniqueness: A Data-Driven Analysis of Live Performances
Mark Onofrio
Mark Onofrio

Posted on

Decoding Setlist Uniqueness: A Data-Driven Analysis of Live Performances

I had an idea: I wanted to figure out how unique a band’s live show is by analyzing their past setlists. Jumping into research, I wanted to see if anyone else had already done this kind of analysis. I came across a fascinating blog titled Digging into concert setlist data: Which artists play the same songs over and over? Was this my ticket to what I was looking for? Yes and no. The article is very informative, and the author uses Tableau to visualize and analyze the data. [Note: Tableau is a powerful data visualization tool that allows users to create interactive and shareable dashboards.]

While the article inspired me, I wanted to dive deeper, especially into analyzing newer artists and what their data might reveal. However, I didn’t want to pay for Tableau to explore the dataset. Instead, I realized that I had the skills and knowledge to build my own data compiler and analytical tool. Taking this blog as a jumping-off point, I decided to use the same source of data, setlist.fm, to build my own API connection to gather and analyze artists’ setlists. For the technical stack, I chose Node.js, leveraging its flexibility and robust ecosystem. This allowed me to create a scalable system to fetch, process, and analyze the data. If you’re curious about my progress or want to explore the code, you can find the project on my GitHub: Setlist-Analysis

Algorithms Behind the Scores

Let’s talk about the algorithms I used to determine the uniqueness and diversity scores for artists’ setlists. The primary goal was to identify how often bands rotate songs in their performances. Here’s an overview:

  1. Song Uniqueness Score: This score measures how often songs are repeated across all of an artist’s setlists in a given year. A higher score indicates more variety in song choices.
  2. Setlist Uniqueness Score: This metric evaluates how different each setlist is from the others within a year. Artists who rarely repeat entire setlists score higher.
  3. Sequence Uniqueness Score: This score identifies the uniqueness of the order in which songs are played. It looks for patterns in setlists to determine how often specific sequences occur.
  4. Total Uniqueness Score: A composite score combining song, setlist, and sequence uniqueness to provide an overall measure of how varied an artist’s live performances are.

Analyzing Setlist Sequences

One unique aspect of the app is its ability to analyze the sequences of songs within setlists to identify the longest sequence an artist performs in a given year. Here is an example dataset:

Data Set from Phish and Taylor Swift

This comparison illustrates two distinct approaches to setlist creation:

Phish:

  • High Uniqueness Scores: Phish demonstrates significant variety in their song choices, setlist arrangements, and sequence changes. This reflects their reputation for improvisational performances, with setlists tailored uniquely for each show.
  • Short Sequence Lengths: Their maximum sequence length of 3 and average of 2.05 indicate that they rarely repeat consecutive song orders, adding to the unpredictability and uniqueness of their live shows.

Taylor Swift:

  • Low Uniqueness Scores: Taylor Swift’s lower scores show a more consistent setlist approach, likely driven by the production demands of her large-scale shows. This consistency ensures a polished and predictable experience for fans.
  • Long Sequence Lengths: With a maximum sequence length of 40 and an average of 15.87, Taylor Swift’s performances often follow a set routine, delivering the same experience to fans across multiple shows.

Visualizing Setlist Uniqueness

To further illustrate these differences, the chart below combines the Song Uniqueness Score and Average Sequence Length metrics from the dataset. Each bubble represents an artist, with its size corresponding to the Average Sequence Length:

Bubble Chart of Song Uniqueness Score and Average Sequence Length metrics from the dataset.

This visual shows how Phish, with a lower Average Sequence Length and higher Song Uniqueness Score, contrasts with Taylor Swift, whose larger Average Sequence Length reflects a consistent setlist structure.

Future Features

In addition to the current scoring metrics, I plan to add new features such as:

  • Rarity Score: This will evaluate how often certain songs appear across an artist’s setlist catalog, highlighting rare tracks and deep cuts.
  • Recency Score: This will measure how much of an artist’s recent material is featured in their live shows, providing insights into their focus on new versus old material.

Challenges and Next Steps

One of the initial challenges I faced was getting familiar with the APIs I planned to use. I started with the Spotify API to find artists and related artists but soon discovered that, as of November 27, 2024, Spotify had updated their Web API to remove this feature. This required me to pivot to relying solely on setlist.fm’s API for artist and setlist data. While Spotify’s API could still be useful in the future for retrieving album art and additional metadata, I decided to focus exclusively on setlist.fm for now.

Looking forward, I plan to:

  • Expand the scoring system to include the planned Rarity Score and Recency Score.
  • Create a user-friendly dashboard for fans to explore the uniqueness scores of their favorite artists.
  • Compare trends between genres and eras to identify patterns in live performances.

This project has been an exciting journey of combining my love for live music with my passion for coding and data analysis. I can’t wait to see how it evolves and to share more insights along the way.

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

Top comments (0)

SurveyJS custom survey software

JavaScript Form Builder UI Component

Generate dynamic JSON-driven forms directly in your JavaScript app (Angular, React, Vue.js, jQuery) with a fully customizable drag-and-drop form builder. Easily integrate with any backend system and retain full ownership over your data, with no user or form submission limits.

Learn more

👋 Kindness is contagious

Immerse yourself in a wealth of knowledge with this piece, supported by the inclusive DEV Community—every developer, no matter where they are in their journey, is invited to contribute to our collective wisdom.

A simple “thank you” goes a long way—express your gratitude below in the comments!

Gathering insights enriches our journey on DEV and fortifies our community ties. Did you find this article valuable? Taking a moment to thank the author can have a significant impact.

Okay