Back to all work

Music & Entertainment (data analysis) · 2026

Lineup Decoded

Who played, who cancelled, and what it cost to be there

13 editions of Lollapalooza Brasil, 716 artists, 18 cancellations and one ticket that went from R$500 to R$2,980. I scraped the line-ups, built the data model and let the numbers settle the argument.

Industry

Music & Entertainment (data analysis)

Client

Personal project (independent of the festival)

Year

2026

Tools

Python (requests, BeautifulSoup, pandas), Power BI (Power Query, DAX)

Skills gained

  • Web scraping
  • Data cleaning and enrichment
  • Star-schema modeling
  • DAX measures
  • Dashboard design
  • Methodology documentation
01

Overview

An independent Power BI report on all 13 editions of Lollapalooza Brasil (2012–2026; there was no festival in 2020 and 2021). It asks who was on the line-up, which genres dominated, who cancelled, who closed the main stage, and how the ticket price moved against the minimum wage and the number of acts. Python collected and cleaned the data; Power BI turned it into a four-page report.

02

Challenge

The line-up data lived in Wikipedia tables with three different layouts, headliners marked in bold and cancellations in strikethrough, and some cancellations missing from the tables altogether. Ticket prices were scattered across news articles, with gaps and conflicting values. Genre was unavailable for a large share of artists. The analysis needed a method that stayed honest about what was known and what was estimated.

03

Approach

I scraped the tables with requests and BeautifulSoup, reading the formatting itself (bold for headliners, strikethrough for cancellations) and documenting every manual correction in the code. Each artist got one main genre, researched in public sources with AI support and tagged with a confidence level; low-confidence guesses became "unidentified" instead of being forced into a category. Ticket prices came from press coverage and minimum wage from the Central Bank's SGS series. In Power BI, a star schema (editions dimension, performances fact) fed a four-page report. Criteria were written down: a headliner is whoever closed the main stage, and women headliners count solo artists only.

04

What I did

  • 01Scraped and cleaned 13 editions of line-up data with Python, handling three table layouts and documenting each manual correction in the code
  • 02Added the 2022 collective show that replaced Foo Fighters, plus the cancelled artists from 2023–2026 that never appear in the tables
  • 03Classified each artist's main genre with confidence levels, leaving low-confidence cases as "unidentified" (about 13.7% of performances)
  • 04Gathered ticket prices from press coverage and minimum wage from the Central Bank series
  • 05Built a star-schema model in Power BI and a DAX measure for price per act
  • 06Designed a four-page report with navigation buttons, year filters and methodology footnotes on every page
  • 07Published code, data and a methodology document in a public GitHub repository, limitations included
05

Results

828

line-up entries: 810 performances and 18 cancelled slots

716

unique artists across 13 editions

30.4% / 27.1%

rock and electronic; almost 6 in 10 performances

18

cancellations between 2019 and 2026; 7 in 2023

33

main-stage closings by 28 artists

6 of 33

solo women headliners (about 18%)

R$500 → R$2,980

Lolla Pass price from 2012 to 2026

Rock (30.4%) and electronic (27.1%) accounted for almost 6 in 10 performances, followed by pop (13.9%). The 33 main-stage closings by 28 artists included 19 rock, 9 pop, 4 hip hop and 1 electronic act. There were no solo women headliners from 2012 to 2019, one per edition from 2022 to 2025, and two in 2026. The pass price moved from 0.80 to 1.84 minimum wages, while price per act rose from R$11.90 to R$41.97 (nominal values). Prices for 2022, 2023 and 2025 are estimated or unsourced, as noted in the report.

Tags

  • Data Analysis
  • Power BI
  • Python
  • Web Scraping
  • Data Modeling
  • Data Storytelling

Links

View more cases