AgentRocket, at Metafilter, asked a few weeks ago for modern song names with parentheses, saying that it’s hard to find songs after about 2000 with parentheses in the title. officialcharts.com explains why: version control (this will come up later), to make songs easier to find, to cut down long titles, and so on. And as far back as 1994 critics were commenting on this. This reminded me of a segment of Good Job, Brain! that I’d heard, which was a quiz on such songs… which did, in fact, tend to be from pre-2000. Here’s a list of the songs in the podcast segment (the segment goes from 31:50 to 51:00):
Gypsy Woman (She’s Homeless) – Crystal Waters, 1991
The 59th Street Bridge Song (Feelin’ Groovy) – Simon and Garfunkel, 1966
(I Can’t Get No) Satisfaction – The Rolling Stones, 1965
It’s the End of the World as We Know It (And I Feel Fine) – R.E.M., 1987
St. Elmo’s Fire (Man in Motion) – John Parr, 1985 (from the movie soundtrack)
(I’ve Had) The Time of My Life – Bill Medley and Jennifer Warnes, 1987 (from the Dirty Dancing soundtrack)
I’d Do Anything for Love (But I Won’t Do That) – Meat Loaf, 1993 [sic, even though it’s “I would do anything for love” in the song]
Escape (The PiƱa Colada Song) – Rupert Holmes, 1979
Christmas (Baby Please Come Home) – Darlene Love, 1963
(You Gotta) Fight for Your Right (To Party!) – Beastie Boys, 1986
Hard Knock Life (Ghetto Anthem) – Jay-Z, 1998
(You Make Me Feel Like) A Natural Woman – Aretha Franklin, 1967
Against All Odds (Take a Look at Me Now) – Phil Collins, 1984
Norwegian Wood (This Bird Has Flown) – The Beatles, 1965
Nothing after 2000. Is this because of what the author of the quiz knows, or is it harder to find songs in this century with parentheses in the title? Well, we’ll need a list of songs. Fortunately Sean Miller has scraped the Billboard Hot 100 charts going back to the chart’s beginning in 1958. This represents a total of 30,444 songs from 1958-08-02 to 2023-01-07. And with a dozen or so lines of R we can make a nice plot. The only tricky thing is the filter(time_on_chart = 1)
. Miller’s file has a row every time a song appears on the chart, but I wanted to only count each song once, and fortunately he’s included a variable that lets me do exactly that: time_on_chart
is “the running count of weeks (all-time) a song_id has been on the chart”.
library(tidyverse)
hot_100 = read_csv('https://raw.githubusercontent.com/HipsterVizNinja/random-data/main/Music/hot-100/Hot%20100.csv')
hot_100 %>% filter(time_on_chart == 1) %>%
mutate(has_paren = grepl('\\(', song) & grepl('\\)', song)) %>%
mutate(year = lubridate::year(chart_date)) %>%
group_by(year) %>%
summarize(n = n(), has_paren = sum(has_paren), paren_rate = has_paren/n) %>%
filter(year < 2023) %>%
ggplot() + geom_line(aes(x=year, y=paren_rate)) +
theme_minimal() +
ggtitle('Songs with parentheses in the title peaked in the nineties') +
scale_y_continuous(labels = scales::percent, name = '\\% of charting songs with parentheses in title')

But what’s going on in 2021? Let’s drill down:
hot_100 %>% filter(time_on_chart == 1) %>%
mutate(has_paren = grepl('\\(', song) & grepl('\\)', song)) %>%
mutate(year = lubridate::year(chart_date)) %>% filter(year == 2021 & has_paren) %>% select(chart_date, song, performer)
This returns 53 songs, of which the first 10 (alphabetically) are:
2021-11-27 | 22 (Taylor’s Version) | Taylor Swift |
2021-01-02 | Adderall (Corvette Corvette) | Popp Hunna |
2021-12-04 | All Night Parking (Interlude) | Adele With Erroll Garner |
2021-11-27 | All Too Well (Taylor’s Version) | Taylor Swift |
2021-11-27 | Babe (Taylor’s Version) (From The Vault) | Taylor Swift |
2021-11-27 | Bad Man (Smooth Criminal) | Polo G |
2021-11-27 | Begin Again (Taylor’s Version) | Taylor Swift |
2021-11-27 | Better Man (Taylor’s Version) (From The Vault) | Taylor Swift |
2021-04-10 | Big Purr (Prrdd) | Coi Leray & Pooh Shiesty |
2021-12-11 | Christmas Tree Farm (Old Timey Version) | Taylor Swift |
Taylor Swift has been re-recording her first six albums, which she doesn’t own the masters to; in April she released her first re-recording, Fearless, and in November, Red. In 2021, 53 of 652 charting songs had parentheses in the title… including 36 of 37 charting songs where the artist name included the string Taylor Swift
. (The exception is a song that only featured her, Renegade, by Big Red Machine.). So let’s redo the chart:
hot_100 %>% filter(time_on_chart == 1) %>%
mutate(has_paren = grepl('\\(', song) & grepl('\\)', song)) %>%
mutate(taylor = grepl('Taylor Swift', performer)) %>%
mutate(year = lubridate::year(chart_date)) %>%
group_by(year) %>%
summarize(n = n(), paren_total = sum(has_paren), paren_rate = paren_total/n,
paren_no_taylor_total = sum(has_paren & !taylor),
no_taylor_total = sum(!taylor),
paren_no_taylor_rate = paren_no_taylor_total/no_taylor_total) %>%
filter(year < 2023) %>%
ggplot() + geom_line(aes(x=year, y=paren_no_taylor_rate), color = 'red') +
geom_line(aes(x=year, y=paren_rate), color = 'black') +
theme_minimal() +
ggtitle('Songs with parentheses in the title peaked in the nineties\nand in 2021 with Taylor Swift rerecordings') +
scale_y_continuous(labels = scales::percent, name = '\% of charting songs with parentheses in title')

Essentially, the entire 2021 spike, like so many things in the music industry now, was due to Taylor Swift.