Dynamic Skills Finder is an end-to-end data project.
It starts with an ELT process where data is first downloaded from Skillcorner’s Opendata GitHub repository, which is then stored and later processed following a “medallion” architecture. It creates a DeltaLake-based datalakehouse. In the “bronze” layer, raw data is stored as it arrives. Next, in the “silver” layer, data is transformed to create fact tables and their corresponding dimension tables in a star schema format. Finally, in the “gold” layer, we define final views and aggregated tables for players and teams, ready for consumption.
The second part of the project is an R Shiny web app that feeds directly from the DeltaLake. Its purpose is to facilitate the search for tactical team patterns or player scouting using Dynamic Event Data. To achieve this, the app includes various filters, charts, and tables that allow users to uncover insights not possible with other types of data. Additionally, each Dynamic Event can be visualized in video.
This app allows off-ball tactical analysis of teams in multiple ways, thanks to its wide range of filters and controls and its diverse options for visualizing information through multiple charts, tables and video.
You can also perform player scouting and compare players using over 130 aggregated metrics created from Dynamic Event Data.
Dynamic Skills Finder can be used across various departments within a club. Tactical analysts, scouts, and sporting directors can enhance their work with off-ball insights.
To run the project locally:
-
Open a python terminal and navigate to ‘etl/src’ folder:
pip install -r requirements.txt python elt.py
-
Open an R console and navigate to ‘apps/dynamicSkillsFinder’ folder:
install.packages("renv") renv::restore() source("app.R") launch_app()
To try the app: Dynamic Skills Finder App
