Man, let me tell you about this project. Analyzing historical football data, especially for clubs that jump divisions like crazy, is never smooth. You think you’re just pulling a couple of numbers, but then you’re neck-deep in old news archives and poorly formatted spreadsheets.

The whole thing kicked off over a ridiculous argument. I was chatting with a mate of mine—a proper, die-hard Shrewsbury fan—and he was going on and on about how historically, they always gave Birmingham City a hard time. I, being a casual follower of BCFC, just scoffed. I said, “Come on, mate. We’re usually a division or two ahead. Head-to-head, it’s gotta be lopsided.”
He challenged me. He said I couldn’t prove it without doing the actual groundwork. So, naturally, I took the bait. That evening, I sat down and decided I was going to systematically gather, clean, and analyze every single match record between Shrewsbury Town F.C. and Birmingham City F.C. It was pure spite-fueled data aggregation.
Starting the Scrape: Where the Hell is the Data?
My first action was simple: fire up the laptop and start digging. I figured the easy stuff—recent league cup matches—would be on standard football sites. But I quickly realized this rivalry spans decades, mostly in the lower leagues or in random cup draws. Trying to track down fixtures from the 1970s and 80s was a nightmare.
I started by dumping data from three different primary sources. One was a historical football statistics site, one was a fan archive for Shrewsbury, and the third was the official historical record BCFC tries to keep clean. The immediate problem? Names, dates, and competitions didn’t match up across the three dumps.
I spent maybe four hours just wrangling the spreadsheets. I had to manually standardize everything:

- Checking every date to make sure it wasn’t a friendly disguised as a cup game.
- Matching up league tiers for context (a Division Three win doesn’t mean the same as a Premier League shocker).
- Identifying and removing duplicate entries, especially cup replays.
I swear, I wrestled with Excel for longer than I actually spent running the final analysis. It was messy, tedious, and I kept finding weird anomalies, like a charity shield match they played once that wasn’t consistently logged anywhere.
The Core Analysis: Getting to the Head-to-Head
Once the data was clean—or ‘clean enough’ for a quick data project born out of a bar challenge—I moved to the analysis part. I wasn’t just counting wins; I wanted the context. I pulled the trigger on grouping the results into three main buckets: League Matches, Major Cup Competitions (FA/League Cup), and Everything Else (friendly, minor regional cups).
The total recorded competitive fixtures I managed to nail down was surprisingly low, considering the history—just under 50 competitive games. This gave me the raw numbers:
Total Head-to-Head Findings:
- Birmingham Wins: 22
- Shrewsbury Wins: 15
- Draws: 11
The stats were right there: BCFC had the numerical edge, which was my initial gut feeling. But the real story was in the context. I cross-referenced these results with their respective league standings at the time they played. This took even more historical lookup, requiring me to consult old league tables for the specific years.

What I found was cool. Shrewsbury’s wins were often clustered in periods where both teams were actually competing in the same tier (like the old Third Division), or, crucially, when they managed a massive cup upset while BCFC was struggling in the top flight.
I specifically zeroed in on the last ten meetings, which showed a much tighter, more volatile performance, largely because most of those recent meetings were cup ties where the division gap often means less. The results were split almost evenly in the modern era.
Wrapping It Up and Proving the Point
After I had all the charts and tables sorted, I compiled the whole report. It wasn’t a fancy, glossy presentation; just a bulleted list of facts and figures dumped into a PDF, proving my point, but also validating his claim that when Shrewsbury won, they truly earned it—usually against the run of play or historical form.
I sent it to my mate. Did he concede? Sort of. He argued about the definition of ‘competitive fixture’ for about an hour, claiming those obscure regional cups should count more. But hey, I did the work. I tracked down, standardized, and analyzed fifty years of messy records just to win a stupid argument, and that felt pretty damn good.
It just goes to show you: pulling data is the easy bit. Making sure the data isn’t lying to you—that’s the real job. And honestly, wrestling with those ancient archives gave me a way better understanding of football history than just watching the highlights reel ever would have. Worth the effort, even if the stakes were just bragging rights and a pint.

