-
Main Dashboard Interactive dashboard providing an overview of squad statistics, performance insights, and the recommended lineup.
-
Formation & Starting XI Optimization Choose a formation and generate a data-driven Starting XI based on player performance.
-
Player Pool & Performance Data Explore player statistics, positions, and performance metrics used by the optimizer.
Inspiration
Football managers make difficult lineup decisions from a large amount of player performance data. A player who ranks highly overall may not necessarily be the best choice for a particular position or formation.
We wanted to turn this into a data-driven optimization problem:
Given a squad and a formation, can we determine the strongest possible Starting XI while respecting player positions?
This idea led us to build the AQX Football XI Optimizer.
What it does
AQX Football XI Optimizer evaluates players using position-specific performance metrics and recommends an optimal Starting XI for a selected formation.
Instead of simply choosing the 11 highest-rated players, the system considers the lineup as a whole. Players can only be assigned to positions they are eligible for, and each player can only be selected once.
The application provides:
- ⚽ Multiple formation options
- 📊 Position-specific player scoring
- 🧠 Integer Linear Programming-based optimization
- 🏟️ Visual Starting XI representation
- 📈 Player performance analytics
- 🔍 Player comparison and selection insights
- 🎚️ Tactical attack/defense weighting
How we built it
The project follows this pipeline:
Player Data → Data Processing → Performance Scoring → Lineup Optimization → Visualization
Player statistics are processed and normalized so different metrics can be compared fairly. We then calculate position-specific scores, giving greater importance to statistics relevant to each role.
The lineup selection is formulated as a Binary Integer Linear Programming problem. The optimizer evaluates eligible player-position combinations while enforcing constraints such as filling every position and preventing a player from occupying multiple positions.
The final results are presented through an interactive Streamlit dashboard with charts, player comparisons, and a visual representation of the recommended Starting XI.
Challenges we ran into
One of our biggest challenges was designing a scoring system that could fairly evaluate players across different positions. A striker, midfielder, defender, and goalkeeper contribute to a team in very different ways, so using the same scoring formula for everyone would not produce meaningful results.
Another challenge was ensuring that the optimizer selected the best combination of players rather than simply selecting the highest-rated player for each position independently.
We also had to balance analytical complexity with a simple interface so that the final recommendations could be understood by someone without a technical background.
Accomplishments that we're proud of
We are particularly proud of turning a common football decision into a formal optimization problem.
Instead of producing a simple player ranking, our system considers the entire Starting XI simultaneously and finds a lineup that satisfies positional constraints while maximizing the overall performance score.
We also built an interactive interface that makes the results easy to explore and understand rather than presenting the optimization as a black box.
What we learned
This project showed us how sports analytics can go beyond basic statistics.
We learned how to transform player statistics into meaningful performance scores, how normalization can make different metrics comparable, and how Integer Linear Programming can be applied to real-world decision-making problems.
Most importantly, we learned that the best individual players do not necessarily form the best possible team. The combination of players, positions, and constraints matters.
What's next for AQX Football XI Optimizer
We plan to expand the project with larger real-world football datasets, more detailed player metrics, additional formations, improved position-specific scoring, and more advanced tactical analysis.
Future versions could also incorporate recent form, opponent strength, player chemistry, injury availability, and tactical preferences to make the recommendations more realistic.
Our long-term goal is to develop AQX Football XI Optimizer into a practical decision-support tool for coaches, analysts, and football enthusiasts.
Built With
- integer
- linear
- matplotlib
- mplsoccer
- numpy
- pandas
- plotly
- programming
- pulp
- python
- scikit-learn
- sports
- streamlit