Inspiration

Traditional football metrics like simple pass completion rates or assist counts fail to capture true creative value. A safe 3-meter square pass weighs the same on a scoresheet as a defense-splitting, high-risk pass between multiple markers. We were inspired to bridge this gap by bringing advanced Expected Pass ($xP$) analytics into a lightning-fast, real-time application designed for modern tactical evaluation.

What it does

PassIQ is an advanced sports analytics engine that calculates real-time Expected Pass ($xP$) using spatial geometry and probabilistic modeling. It features an interactive tactical pitch rendered at 60+ FPS, enabling users to simulate custom passes, evaluate defender density metrics, and explore a comprehensive player ranking table based on true creative risk and execution efficiency.

How we built it

We engineered a high-performance hybrid architecture:

  • Python & Scikit-Learn: Used to parse StatsBomb Open Data JSON files, extract geometric features (distance, goal angle, defensive pressure, and defenders_in_path), and train an optimized logistic regression classifier.
  • Rust & egui: Built a native, zero-latency desktop client that loads exported model weights (model_weights.json) and runs continuous sigmoid probability calculations on the fly while rendering interactive pass vectors.

Challenges we ran into

Calibrating the spatial filter for defender density using event data without full multi-player tracking feeds required designing precise geometric ray-to-point distance checks. Furthermore, ensuring that Python's feature scaler parameters (mean and scale) matched the Rust inference math perfectly to guarantee identical probability outputs was a fascinating engineering puzzle.

Accomplishments that we're proud of

Successfully building a seamless hybrid pipeline where Python handles data science heavy-lifting and Rust delivers butter-smooth, real-time graphical visualization at 60+ FPS. Creating a polished, professional-grade scouting dashboard that mirrors top-tier industry software.

What we learned

We deepened our mastery of spatial football analytics, feature scaling across different programming languages, logistic regression deployment, and how leveraging Rust's native UI performance yields unbeatable responsiveness for data-heavy tools.

What's next for PassIQ: Expected Pass & Line-Breaking Intelligence Engine

  • Integrating full tracking data tensors for 22-player simultaneous analysis.
  • Adding team-level tactical heatmaps and transition phase detection.
  • Expanding export capabilities for professional coaching staff reports.

Built With

Share this project:

Updates

Submission history