posts
2024-05-14
If you're interested in what I consider a perfect album I wrote about it last week and if you want to see other people's perfect albums, check out the perfect albums project.
This post was originally going to be the same idea as fLaMEd's post with their top 50 artists. Then Apple decided we should all be arguing about album rankings so here we are. I also wanted to do the silly title so I changed it to top 100 albums.
I exported all my Last.fm data from the 29th August 2021 until now and parsed the data to rank artists and albums by number of plays - see the bottom of this post for the technical bits.
Here are my top 100 albums. Note, I do listen to Hamilton a lot but this is skewed a bit because it has more tracks than any other album by a lot but I didn't think it was all that important for this list and quite frankly didn't have the energy to fetch the album lengths to work out actual plays.
- Hamilton: An American Musical - Original Broadway Cast (1937 plays)
- Never Look Back (Deluxe) - Goldfinger (1274 plays)
- Meteora - Linkin Park (1063 plays)
- Love Sux - Avril Lavigne (1054 plays)
- Kings of the New Age - State Champs (800 plays)
- Harder Than It Looks - Simple Plan (783 plays)
- Masters Of The Uniwurst - Punk Rock Factory (761 plays)
- ONE MORE TIME... - blink-182 (656 plays)
- A Whole New Wurst - Punk Rock Factory (592 plays)
- Punk Tactics - Joey Valence & Brae (590 plays)
- Tear Me to Pieces - Story of the Year (564 plays)
- Just Woke Up - Jaret Ray Reddick (537 plays)
- Scene This? - Punk Rock Factory (472 plays)
- Tickets To My Downfall (SOLD OUT Deluxe) - Machine Gun Kelly (440 plays)
- Recharged - Linkin Park (423 plays)
- 2001 - Dr. Dre (418 plays)
- Single And Famous - MC Lars & K.Flay (412 plays)
- MFZB - Zebrahead (357 plays)
- A Whole New Wurst 2 - Punk Rock Factory (337 plays)
- Best of... 20 Years and Counting - Allister (334 plays)
- The Wurst Is Yet to Come - Punk Rock Factory (333 plays)
- Last Stop Suburbia - Allister (309 plays)
- The Black Parade - My Chemical Romance (280 plays)
- Hybrid Theory - Linkin Park (274 plays)
- No Pads No Helmets...Just Balls (15th Anniversary Tour Edition) - Simple Plan (269 plays)
- Pop Drunk Snot Bread - Bowling for Soup (259 plays)
- Greatest Hits - MC Lars (254 plays)
- All Day - Girl Talk (246 plays)
- With Sprinkles - Beefy (242 plays)
- Heaven :x: Hell - Sum 41 (235 plays)
- Around the World and Back (Deluxe) - State Champs (214 plays)
- It's Just a Stage We're Going Through - Punk Rock Factory (208 plays)
- Sittin' In A Tree - Jaret and Kelly (195 plays)
- Still Not Gettin' Any - Simple Plan (189 plays)
- The Eminem Show - Eminem (188 plays)
- Riot! (Deluxe) - Paramore (180 plays)
- Brighter - Patent Pending (180 plays)
- Palm Trees and Power Lines - Sugarcult (171 plays)
- See Through It All - dont panic (161 plays)
- Tell Me I'm Alive - All Time Low (159 plays)
- Enema of the State - blink-182 (152 plays)
- Infinity On High (Deluxe Edition) - Fall Out Boy (150 plays)
- Simple Plan (Deluxe Version) - Simple Plan (150 plays)
- Good News - Megan Thee Stallion (143 plays)
- Second Family - Patent Pending (139 plays)
- A Hangover You Don't Deserve - Bowling for Soup (138 plays)
- Down the Rabbit Hole - The Dollyrots (135 plays)
- Taking One for the Team - Simple Plan (131 plays)
- Mark of the Beast - Schaffer the Darklord (124 plays)
- The Dewey Decibel System - MC Lars & Mega Ran (123 plays)
- Bleed American (Deluxe Edition) - Jimmy Eat World (122 plays)
- Songs People Actually Liked Vol. 2 - The Next 6 Years (2004-2009) - Bowling for Soup (120 plays)
- The Black Parade (Deluxe Version) - My Chemical Romance (119 plays)
- Sticks and Stones - New Found Glory (118 plays)
- Acoustic In A Freakin' English Church - Bowling for Soup (118 plays)
- Let Go (20th Anniversary Edition) - Avril Lavigne (114 plays)
- Three Cheers for Sweet Revenge - My Chemical Romance (113 plays)
- Minutes to Midnight (Deluxe Edition) - Linkin Park (110 plays)
- CZARTIFICIAL INTELLIGENCE - Czarface (110 plays)
- Ocean Avenue - Yellowcard (110 plays)
- Take Off Your Pants and Jacket - blink-182 (107 plays)
- Drunk Enough to Dance - Bowling for Soup (106 plays)
- The Art Of Losing - American Hi-Fi (106 plays)
- Wolves - Story of the Year (105 plays)
- Make the Most of It - New Found Glory (104 plays)
- Collision Course - EP - Jay-Z and Linkin Park (102 plays)
- mainstream sellout - Machine Gun Kelly (100 plays)
- All Killer No Filler - Sum 41 (99 plays)
- The Singles - Feeder (99 plays)
- Kings Of Pop - Home Grown (98 plays)
- Live at Bloodstock - Punk Rock Factory (97 plays)
- Does This Look Infected? - Sum 41 (92 plays)
- Save Rock and Roll - Fall Out Boy (90 plays)
- Love Songs Werewolves & Zombies - The Dollyrots (90 plays)
- Daydream Explosion - The Dollyrots (90 plays)
- Riot Hearts Rebellion - Patent Pending (90 plays)
- Reanimation - Linkin Park (89 plays)
- Feed the Animals - Girl Talk (89 plays)
- Because I'm Awesome - The Dollyrots (88 plays)
- Papercuts - Linkin Park (87 plays)
- A Little Messed Up - The Dollyrots (87 plays)
- American Idiot (Deluxe Edition) - Green Day (85 plays)
- Music To Be Murdered By - Side B (Deluxe Edition) - Eminem (85 plays)
- HOLY FVCK - Demi Lovato (83 plays)
- Blink-182 (Bonus Track Version) - blink-182 (82 plays)
- Eat My Heart Out (Plus B-Sides) - The Dollyrots (81 plays)
- Lunch. Drunk. Love. - Bowling for Soup (80 plays)
- Blockchain Planet - MC Lars (80 plays)
- American Beauty / American Psycho - Fall Out Boy (79 plays)
- So Wrong It's Right (Deluxe Version) - All Time Low (78 plays)
- The Young and the Hopeless - Good Charlotte (78 plays)
- Recovery (Deluxe Edition) - Eminem (76 plays)
- A Fever You Can't Sweat Out - Panic! at the Disco (76 plays)
- The Great Burrito Extortion Case - Bowling for Soup (75 plays)
- Dirty Work (Deluxe) - All Time Low (72 plays)
- From Under the Cork Tree - Fall Out Boy (70 plays)
- Lace Up - Machine Gun Kelly (70 plays)
- Saviors - Green Day (68 plays)
- The Wack Album - The Lonely Island (67 plays)
- Brain Invaders (Deluxe Edition) - Zebrahead (65 plays)
Here's my top 50 artists for the same period. I went for 50 because beyond that the plays were quite low and not as relevant as they are in albums.
- Punk Rock Factory (3039 plays)
- Linkin Park (2244 plays)
- Original Broadway Cast of Hamilton (1937 plays)
- Simple Plan (1635 plays)
- Goldfinger (1360 plays)
- Bowling for Soup (1312 plays)
- Avril Lavigne (1308 plays)
- State Champs (1127 plays)
- blink-182 (1106 plays)
- The Dollyrots (814 plays)
- Story of the Year (680 plays)
- Eminem (673 plays)
- Machine Gun Kelly (672 plays)
- Allister (646 plays)
- My Chemical Romance (605 plays)
- Joey Valence & Brae (594 plays)
- Jaret Ray Reddick (538 plays)
- Fall Out Boy (525 plays)
- Zebrahead (515 plays)
- Sum 41 (499 plays)
- Dr. Dre (493 plays)
- All Time Low (485 plays)
- Patent Pending (458 plays)
- New Found Glory (425 plays)
- MC Lars (377 plays)
- Paramore (367 plays)
- MC Lars & K.Flay (362 plays)
- Girl Talk (336 plays)
- Green Day (312 plays)
- Beefy (266 plays)
- Sugarcult (265 plays)
- McFly (232 plays)
- The Lonely Island (222 plays)
- Schaffer the Darklord (203 plays)
- Jimmy Eat World (202 plays)
- Jaret and Kelly (195 plays)
- dont panic (194 plays)
- Busted (193 plays)
- Yellowcard (187 plays)
- Megan Thee Stallion (154 plays)
- The All-American Rejects (150 plays)
- American Hi-Fi (148 plays)
- Czarface (135 plays)
- We the Kings (130 plays)
- Panic! at the Disco (124 plays)
- MC Lars & Mega Ran (123 plays)
- Feeder (111 plays)
- Jay-Z and Linkin Park (107 plays)
- Neck Deep (107 plays)
- Good Charlotte (106 plays)
To get this data I used this exporter to get a CSV of all my scrobbles then I wrote a quick node script to output the top 50 for me. I used the csvtojson
library to convert the file to JSON, did the counts for albums and artists, sorted by largest, then output to a txt
file.
I had to do some checking of the album because it seems as though the Hamilton recording has changed artist a few times, and I also added some overrides for different editions of the same albums:
rawData.forEach(row => {
let artistKey = row['Artist']
let albumKey = `${row['Album']} - ${row['Artist']}`
if (row['Album'].startsWith('Hamilton: An American Musical')) {
albumKey = 'Hamilton: An American Musical - Original Broadway Cast'
artistKey = 'Original Broadway Cast of Hamilton'
}
if (row['Album'].startsWith('Meteora')) {
albumKey = 'Meteora - Linkin Park'
}
if (row['Album'].startsWith('The Eminem Show')) {
albumKey = 'The Eminem Show - Eminem'
}
if (row['Album'].startsWith('Never Look Back (Deluxe)')) {
albumKey = 'Never Look Back (Deluxe) - Goldfinger'
}
if (row['Album'].startsWith('Hybrid Theory')) {
albumKey = 'Hybrid Theory - Linkin Park'
}
if (!raw.artists[artistKey]) {
raw.artists[artistKey] = 0
}
raw.artists[artistKey]++
if (!raw.albums[albumKey]) {
raw.albums[albumKey] = 0
}
raw.albums[albumKey]++
});
The code is on GitHub if you want to use it to do the same.