01What we are experts in
futbolfutbol was founded in 2025 by people who build data systems and AI for a living. The team brings together data scientists, sports scientists, sports analysts and AI engineers. Four disciplines meet in every report:
Poisson goal models, Monte Carlo simulation, Bayesian updating, bootstrap ranges and shrinkage for small samples.
Expected goals, possession value, pressure, pass networks, set pieces and physical load from GPS.
Player and ball detection, tracking across frames, team assignment and pitch calibration to metres.
Open-weight models fine-tuned on football language, rules written with your staff, every output checked.
02What goes in
| Input | What it is | Form we accept |
|---|---|---|
| Match data | Events of every game: passes, shots, tackles, with time and position | Football data services (APIs) |
| Club data | The staff's and the organization's own numbers and notes | An internal app, a spreadsheet, paper, a voice note |
| GPS | Distance, speed and load from training and games | XML or CSV (table) |
| Video | The match broadcast or the club's own footage | Video file after the game |
03From video to coordinates
Match video is the richest source a club has, and the hardest to use. Our video model turns it into numbers the statistics can work with: where every player is, every quarter of a second.
- 01 Detect
Every player, official and the ball, found in each sampled frame.
- 02 Track
The same player followed from frame to frame, keeping one identity through the game.
- 03 Team
Each player assigned to a team from kit colour. Names are only linked with the club's own lineup.
- 04 Calibrate
The pitch lines in the image are matched to a 105 by 68 metre pitch, so pixels become metres.
- 05 Sync
Video time is matched to the match clock, so every position lines up with the events and the GPS.
Positions from video are checked against the match events. A comparison against wearable tracking is planned with the first partner club and is not done yet.
04Data quality
Before any analysis, the score, shots and key events are re-counted from the raw data and compared across sources. A report is not built until they agree. Where two sources disagree (one counts 21 shots, another 23), the report shows both and says which one it uses.
Every source is placed on one clock: video time, match time and GPS time are aligned, so one moment can be seen in all of them at once.
05The football model
The AI reads every game through the same six levels. The terms at each level are agreed with the club's coaching staff and written as rules, so the AI applies them the same way every time.
- Game: 90 minutes, both teams.
- Moment: attack, defense and the two transitions.
- Zone and lane: three zones counted from the team with the ball (zone 1 build-up, zone 2 creation, zone 3 final third), crossed with left, center and right. Without the ball, defending in the opponent's zone 1 is a high press, zone 2 a mid block, zone 3 a low block.
- Principle: what the staff wants in that moment and zone, for example using width and depth.
- Play: a named play the staff recognizes, for example a diagonal pass in behind to the far-side runner.
- Action and rule: each pass, run or tackle, measured by a written rule (for example: diagonal, forward, ends behind the last defender, a teammate arriving).
06The statistics
Standard, published statistical methods, applied the same way to every game. Our own weightings and combinations stay private; the methods themselves do not.
| Measure | The question it answers | Method |
|---|---|---|
| Expected goals (xG) | Was the result earned? | The probability a shot is scored, from its location, angle, body part and the type of assist. Where data services publish different xG values, the report shows each one side by side. |
| Possession value | Which actions move the team closer to a goal? | Markov chain over pitch zones: each zone is valued by the chance that a possession from there ends in a goal. |
| Pressure over time | When did the game turn? | The share of dangerous possession for each team in a rolling five-minute window. |
| Pressing intensity | How hard and how high does a team press? | Opponent passes allowed per defensive action in the pressing zone, and where the ball is won back. |
| Pass networks | Who drives the team's play? | A graph of passes between players; centrality shows who connects the team, half by half. |
| Ratings with a range | How good, and how sure are we? | Bayesian shrinkage towards the positional average: few minutes give a wide range, a season gives a narrow one. |
| Physical load | Is a player fit for the next game? | From GPS: total distance, high-speed running, sprints and accelerations, set against minutes and recovery days. |
| Patterns across games | Has this happened before, and what followed? | Possessions compared on the common clock and grouped by shape, zone and outcome across the season. |
P(k goals) = λk e−λ / k!λ is the team's expected goals for this match. Two λ values give the probability of every scoreline.
λ̂ = (α + goals) / (β + time played)The pre-match estimate (α, β) is updated with what happens, minute by minute, so the live estimate stays honest about uncertainty.
90% range = 5th to 95th percentile of 2,000 resamplesThe club's own games are resampled thousands of times. If the range crosses zero, the difference is not clear.
07Synthetic scenarios
Scenarios turn a squad, an opponent and a schedule into probabilities for planning. They are not proven forecasts; section 09 says what has been tested. The charts on our home page run these models live on synthetic data and change on every visit.
- Poisson scoreline model: each team's scoring rate gives the chance of every scoreline.
- Monte Carlo simulation: the match or the rest of the season is played 10,000 times to show the spread of outcomes.
- Markov possession chains: pitch zones are linked by how play moves between them, which gives each zone a value.
- Bayesian live updating: a gamma-Poisson update of each team's scoring rate as the game unfolds.
- Lineup what-if: resamples the club's own past games (bootstrap) and reports a 90% range.
Inputs are the roster, availability, GPS load, opponent form and schedule. The models cannot see what is not recorded, such as an unreported knock or a tactical change made on the day.
08The AI
- By default we use open-weight AI models, meaning models we hold and run ourselves, fine-tuned for football.
- With the club's written agreement, we also work with leading commercial AI models through their APIs, under terms that do not let the provider train on the club's data.
- The club's data belongs to the club. It is never sold or shared with another club. The technology and the science are futbolfutbol's.
- The AI does the counting, the matching and the first draft. A football person reads every page and every drawing before the club sees it.
09Validation
We test in three ways and publish the results as they come in.
| Test | Status | What it means |
|---|---|---|
| Re-counting | IN PLACE | Every report's key numbers are checked against the raw data and a second source. |
| Tests on past games | IN PLACE | Models are run on past games and compared with what really happened. |
| Forward validation | RUNNING | Predictions are recorded before games and scored after them, on games the models have not seen. This includes our internal player ranking. First results come with the first partner season. Public match forecasts are recorded and scored on our track record. |
10Limits
- Without video or GPS, players off the ball are not seen; positions come from the actions they make.
- Video tracking loses players who are hidden or off camera; those moments are marked, not guessed.
- Different data services measure some things differently; we show the difference instead of hiding it.
- Patterns need many games. One game is a sample; a season is evidence.
- The system supports the staff's decisions. It does not make them.