Skip to content
futbolfutbol logofutbolfutbol
Menu

Science and methods · version 0.2

The statistics, analytics and computer vision behind every report.

Written for a club's analysts, sports scientists and general manager. It explains our methods without the private weightings, and says plainly what is tested, what is still being validated and what the system cannot do.

4sources on one match clock
0.25 svideo sampling for tracking
10,000simulations per scenario
6levels in the football model

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:

StatisticsProbability you can plan with

Poisson goal models, Monte Carlo simulation, Bayesian updating, bootstrap ranges and shrinkage for small samples.

Sports analyticsThe game in numbers

Expected goals, possession value, pressure, pass networks, set pieces and physical load from GPS.

Computer visionVideo turned into data

Player and ball detection, tracking across frames, team assignment and pitch calibration to metres.

AI engineeringModels under our control

Open-weight models fine-tuned on football language, rules written with your staff, every output checked.

02What goes in

InputWhat it isForm we accept
Match dataEvents of every game: passes, shots, tackles, with time and positionFootball data services (APIs)
Club dataThe staff's and the organization's own numbers and notesAn internal app, a spreadsheet, paper, a voice note
GPSDistance, speed and load from training and gamesXML or CSV (table)
VideoThe match broadcast or the club's own footageVideo 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.

TRACKING · EVERY 0.25 S
Tracked now21
Blue team: width × length–
Orange team: width × length–
Clip time0.0 s
One moment, two views, now in motion. Left: 12 seconds of a recent professional match read by our video model; every box is a player or official it detects and keeps following (the number is the tracker's, not a shirt number). Right: the same seconds as positions in metres, with each team's shape. The footage is blurred and recoloured on purpose: we show the method, not the game.
  1. 01 Detect

    Every player, official and the ball, found in each sampled frame.

  2. 02 Track

    The same player followed from frame to frame, keeping one identity through the game.

  3. 03 Team

    Each player assigned to a team from kit colour. Names are only linked with the club's own lineup.

  4. 04 Calibrate

    The pitch lines in the image are matched to a 105 by 68 metre pitch, so pixels become metres.

  5. 05 Sync

    Video time is matched to the match clock, so every position lines up with the events and the GPS.

In these 12 seconds
23.6 km/htop speed of a tracked player
49.6 mlongest distance covered
29tracker identities followed

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.

  1. Game: 90 minutes, both teams.
  2. Moment: attack, defense and the two transitions.
  3. 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.
  4. Principle: what the staff wants in that moment and zone, for example using width and depth.
  5. Play: a named play the staff recognizes, for example a diagonal pass in behind to the far-side runner.
  6. 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.

MeasureThe question it answersMethod
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 valueWhich 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 timeWhen did the game turn?The share of dangerous possession for each team in a rolling five-minute window.
Pressing intensityHow 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 networksWho drives the team's play?A graph of passes between players; centrality shows who connects the team, half by half.
Ratings with a rangeHow 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 loadIs 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 gamesHas this happened before, and what followed?Possessions compared on the common clock and grouped by shape, zone and outcome across the season.
Goals in a match · PoissonP(k goals) = λk e−λ / k!

λ is the team's expected goals for this match. Two λ values give the probability of every scoreline.

Updating during the game · Bayesλ̂ = (α + goals) / (β + time played)

The pre-match estimate (α, β) is updated with what happens, minute by minute, so the live estimate stays honest about uncertainty.

How sure we are · bootstrap90% range = 5th to 95th percentile of 2,000 resamples

The 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.

TestStatusWhat it means
Re-countingIN PLACEEvery report's key numbers are checked against the raw data and a second source.
Tests on past gamesIN PLACEModels are run on past games and compared with what really happened.
Forward validationRUNNINGPredictions 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.

See the method on real games.

Three sample reports, built from public match data.

See sample work