Soccer Data Processing, Simplified

Each data provider uses its own proprietary formats, event definitions, and coordinate system to capture soccer match data. This lack of standardization makes it difficult to build software or perform analysis across multiple providers. Kloppy solves this challenge by introducing a vendor-independent data model for both event and tracking data. It also streamlines data preprocessing, ensuring seamless integration into your data analysis and video analysis workflows. By standardizing and simplifying access to soccer match data, kloppy aims to be an essential building block for anyone working with soccer data.

Get started Learn more

How kloppy supports your data analysis

  • 01

    Load

    Kloppy implemenents a standardized data model that can load event and tracking data from most common data providers, supporting both public and proprietary data. Moreover, it does not matter where and how the data is stored: kloppy can also handle compressed data, and load data from the cloud.

  • 02

    Filter

    Video analysts spend a lot of time searching for bespoke moments. Often times, these moments can be described by a pattern: pass, pass, shot, etc. Kloppy provides a powerful search mechanism based on regular expressions to find these bespoke moments more quickly and easily.

  • 03

    Transform

    Different data providers use different coordinate systems, making it difficult to combine datasets. Additionally, it can be convenient to change the orientation of the data or normalize the pitch dimensions for a particular analysis. Kloppy can do these data transformations for you.

  • 04

    Export

    Once you have all the data in the right shape, export it as a Polars or Pandas dataframe to perform efficient data analysis, or as SportsCode XML to support your video analysis workflow. Kloppy's data model is also compatible with other popular soccer analytics libraries.

Backed by an amazing open-source community

Kloppy can only exist because of a passionate and dedicated open-source community. Whether you're a beginner looking to learn or a long-term user who misses a feature, your contributions matter! Join us on GitHub and help shape the future of this project!

Become a contributor

Become a sponsor

Kloppy is powered by PySport, a non-profit organization (RSIN: 866294211) with the mission to unite practitioners, researchers, learners, and enthusiasts to share best practices and exchange ideas to advance the open-source sports analytics community.

Consider donating to help support PySport's mission and the ongoing development of kloppy. Thanks to our awesome sponsors, this project is actively maintained and kept in good shape.

Donate