Football

An Introduction to Modelling Soccer Matches in R (part 2)

I wrote this one pretty quickly compared to part 1 (which goes much deeper into mathematical concepts), and only realized after how much of a similarity it has to many of Ben Torvaney’s posts on the subject. This probably isn’t a coincidence given how much I’ve used his work previously in posts on this blog. Any imitation here is meant as flattery. The purpose of this post is really as a bridge between what I really want to write about- the maths behind the models in part 1, and extensions of these models into other distribution in parts 3-n so it might be a little derivative of stuff written elsewhere.

Papers Please! 'Wide Open Spaces A statistical technique for measuring space creation in professional soccer' pt 1

written during lockdown so while I think it adds some value (and is useful to organise my thoughts on the paper for my own work on football) there are probably mistakes. E.g. the C++ code is still pretty inefficient and could well be improved and I’ve surely confused some maths concepts. To be honest, the post is just an excuse to practice writing LaTeX maths and some C++. Let me know my errors and I’ll correct

Five Minute Football Trivia - Trans-Europe Express

generally as I have less and less time to waste on meaningless football stats I get halfway through a post and abandon it. To remedy this, I want to start pushing out posts that give a reasonable half-guess at an answer within an hour or so without needing to really check my working or write good prose. This is the third of these For this weeks question, I’m stealing straight from the source of most of my posts, The Knowledge column at The Guardian: What is the shortest total distance a club has had to travel in a Champions League winning campaign?

Five Minute Football Trivia - Birthday Five-A-Side

generally as I have less and less time to waste on meaningless football stats I get halfway through a post and abandon it. To remedy this, I want to start pushing out posts that give a reasonable half-guess at an answer within an hour or so without needing to really check my working or write good prose. This is the second of these A semi-common question I’ve come across when doing stupid football trivia is ‘Which Birthday could field the best 5-a-side team?

Five Minute Football Trivia - Invincibles

generally as I have less and less time to waste on meaningless football stats I get halfway through a post and abandon it. To remedy this, I want to start pushing out posts that give a reasonable half-guess at an answer within an hour or so without needing to really check my working or write good prose. This is the first of these Liverpool Football Club have had a pretty impressive season until recently, winning 26 of the first 27 games and remaining unbeaten.

Advent Calendar of Football Trivia Analyses

One of the most consistent fonts of posts on this blog is The Guardian’s football trivia page The Knowledge. A particular reason for this is that the small contained questions lend themselves to small blogposts that I can turn around in an hour or two, as opposed to being endlessly redrafted until I lose interest. However, I still sometimes don’t quite get round to finishing some of these posts, or have trouble justifying a blog post on a very small and ‘trivial’ answer to a question.

Could Yorkshire Win the World Cup

In 2018, after watching the CONIFA World Cup final live, I wondered if an Independent Yorkshire could win the FIFA World Cup. This resulted in a few blogposts that were turned into an article in Citymetric magazine

Guardian: The Knowledge

In my free time I enjoy answering football trivia from The Guardian’s The Knowledge blog programmatically

Statsbomb Conference

In Summer 2019, I won the chance to explore a hypothesis in football analytics using data from Statsbomb. My final project looked at Markov chain models of possession value in football, and considering how to incorporate defensive risk into such models.

Scraping Dynamic Websites with PhantomJS

For a recent blogpost, I required data on the ELO ratings of national football teams over time. Such a list exists online at eloratings.net and so in theory this was just a simple task for rvest to read the html pages on that site and then fish out the data I wanted. However, while this works for the static websites which make up the vast majority of sites containing tables of data, it struggles with websites that use JavaScript to dynamically generate pages.