Key Projects

These are some of the code bases that I have built recently. These projects are typically in Python. The level of documentation will vary from project to project. Recently I have been more rigorous in my documentation for commonly used python functions.

Web Scraping based Tutorials

These largely focus on the basics of web scraping, data analysis and visualisation in relation to football data. Web scraping refers to the process of extracting data from websites automatically using code. In the context of the Github repository you mentioned, the purpose of the Jupyter notebook file “FBREF League & Team Data Exploration.ipynb” is to explore and analyze football data from the FBREF website by web scraping the required information from the website’s HTML code.

The notebook is divided into several sections, with each section performing a specific task. The initial sections cover the installation of required packages and libraries such as BeautifulSoup, Pandas, and Requests, which are essential for web scraping.

The subsequent sections include the actual web scraping process, where the code navigates to the FBREF website, extracts data from tables on the website, cleans and manipulates the data, and saves it into a Pandas dataframe. The extracted data includes various statistics and information about football leagues, teams, and players.

After the data has been extracted and cleaned, the notebook then uses the Pandas and Matplotlib libraries to create visualizations of the data, such as bar charts, scatter plots, and heatmaps.

Overall, the notebook is a comprehensive example of web scraping and data exploration techniques for extracting and analyzing football data from a website.

Visit any of the buttons below to go through my step-by-step tutorials throughout this process

placeholder

StatsBomb API based Tutorials

Unlike in the web scraping tutorials where we largely focuded on player and team data, these notbooks/tutorials focus on accessing StatsBomb’s API that allows for inspection of match level data that can be quite cumbersome to scrape of the internet.

The code starts by importing necessary packages like statsbombpy, pandas, numpy, and matplotlib.pyplot, etc. Then it imports competitions and matches data from the 2022 FIFA World Cup and saves them to CSV files.

These tutotials should give you a good idea about how to efficiently sift through match data from statsbomb and build insights on top.

placeholder

Data Visuals

In this website section, I explore the application of data visualization techniques to football xG (expected goals) metrics. Through three informative posts, I analyze how these techniques shed light on team and player performance.

The first post focuses on team xG metrics, using visualizations like heatmaps and shot maps to illustrate a team’s attacking prowess and goal-scoring efficiency. These visualizations offer valuable insights into a team’s strengths and areas for improvement.

The second post delves into individual player performance using xG metrics. Through interactive charts and graphs, I present xG maps, scatter plots, and player radars to evaluate player shot quality, conversion rates, and positioning. These visualizations help identify key performers and emerging talents.

The third post introduces advanced visualization techniques that combine team and player xG metrics. Network graphs and heatmaps overlaid with player-specific data points reveal player interactions, goal-scoring partnerships, and assist networks. This provides deeper insights into team dynamics and the collaborative nature of goal-scoring.

By employing data visualization techniques, these posts provide a personal perspective on understanding football xG metrics. They offer practical tools for fans, coaches, and analysts to interpret and appreciate team and player performance in a more engaging and insightful way.

Through this section of the website, readers can gain a deeper understanding of how data visualization enhances our comprehension of football xG metrics, and how these insights can be applied in practical contexts.

placeholder