What analysts should check before trusting transfer-fit simulations
03 July 2026
Trust transfer-fit simulations when rollouts use verified events, legal possessions, VAEP-style value, lineup context, many samples, and a post-transfer holdout. Otherwise the model can recommend a player from sequences that could not happen.
ScoutGPT turns transfer fit into a counterfactual possession problem. Hong et al.’s March 16th arXiv paper frames a transfer as a change in event sequences under a hypothetical lineup, with Monte Carlo sampling used to estimate unobserved scenarios.
The full ScoutGPT paper reports 2,283 K League matches from 2021 to 2025, split into 222,940 episodes and 1,490 players. Each episode starts with a 56-token context block for lineups, period and score, then uses 10-token event tuples for team, position, player, action, locations, time delta and outcome. 1
The six checks
Before a simulated fit reaches a shortlist meeting, the analyst should be able to point to six pieces of evidence.
| Check | Evidence the analyst should see | Why it changes the football meaning |
|---|---|---|
| Verified events | State-transition or provider QA records showing missing receptions, order errors and impossible chains were handled | The model trains on possessions that match the ball state |
| Valid generation | Logit masks for team, action, location, possession, player assignment and episode end | A rollout cannot drift into a defender blocking before the shot or play continuing after a stoppage |
| Action representation | The chosen event grammar and any pass, reception, interception or out split | Credit moves between passer, receiver and defender |
| Value target | Scoring and conceding heads or a VAEP or OBV target linked to each generated state | Frequent actions do not dominate high-value rare actions |
| Lineup context | On-pitch players, roles, score, period and player conditioning in the episode context | The transfer changes the next pass option as well as the player being judged |
| Sampling and holdout | Many rollouts with spread and a post-transfer test against unseen seasons | One clean possession can be an outlier |
Football validity first
The VERSA paper found logical inconsistencies in 18.81 percent of Bepro K League 1 events from 2024. Its examples include a block recorded before the shot it stopped and a pass followed by a shot with the missing pass reception inserted later. 2
ScoutGPT uses VERSA preprocessing before training, then applies state-dependent logit masking during generation. Team tokens are restricted to the teams in the episode, action tokens follow VERSA transition rules, pitch coordinates stay inside the pitch, and semantic stopping rules end an episode at a goal, a new episode or an episode-ending action.
Sampler restrictions matter because a plausible action type can still create an illegal possession. A generated block, interception or reception has to respect which team controls the ball, which player acted last, where the event happened, and whether the possession phase has already ended.
Representation changes credit
SPADL documentation defines each on-ball action with game, period, time, player, team, start and end location, action type, result and body part. Those fields let a model assign who acted, where the ball moved and whether the action succeeded. 3
Atomic-SPADL documentation splits a completed pass into the pass and the receival, then adds an interception or out event when the pass fails. A winger receiving between the lines can gain credit in Atomic-SPADL that a one-action pass representation would place on the passer. 4
Recruitment simulations built on different action grammars will assign value differently. The analyst needs the event schema before comparing two simulated fits, because the same move can credit the passer, receiver, defender or restart boundary depending on the representation.
Value and context
VAEP documentation values an action through the change in scoring probability minus the change in conceding probability over the next 10 actions. ScoutGPT adds goal-scored and goal-conceded heads at outcome tokens, so each generated state carries a value signal. 5
ScoutGPT’s 15-second goal prediction table shows a narrow split. CatBoost has the stronger goals-scored AUC, while ScoutGPT has the stronger goals-conceded AUC and lower goals-conceded Brier score.
| Model | GS AUC | GS Brier | GC AUC | GC Brier |
|---|---|---|---|---|
| ScoutGPT auxiliary head | 0.8344 | 0.0069 | 0.8153 | 0.0016 |
| CatBoost | 0.8424 | 0.0075 | 0.8051 | 0.0021 |
A transfer changes who is available for the next pass as well as which player receives it. ScoutGPT’s context block encodes the 22 players, their roles, the period and the score before generation, then uses spatial-aware entity resolution to select the player matching the generated team, position and event location.
Sampling and holdout
ScoutGPT’s Figure 2 reports decreasing mean absolute VAEP deltas as sample count increases in self-to-self simulation. A single rollout can look fluent by chance, so recruitment use needs the spread across repeated rollouts.
The EventGPT full text uses the same player-conditioned family of ideas with learned player embeddings and repeated generation in transfer settings. The Forecasting Events paper says sampler restrictions are needed to avoid unrealistic values during millions of inferences. 6 7
ScoutGPT’s strongest recruitment result is the 2025 transfer holdout. Table 7 reports a lower average absolute error for simulated post-transfer episode VAEP than for a naive previous-season projection across the top 40 transferred players by minutes.
| Player or group | Role | Ground truth | Naive | ScoutGPT sim | Naive error | Sim error |
|---|---|---|---|---|---|---|
| Average top 40 | Mixed | 4.74 | 4.89 | 4.64 | 1.88 | 1.25 |
| Jinsu Kim | Left back | 11.07 | 7.00 | 11.63 | 4.07 | 0.56 |
| Reis | Left wing | 12.19 | 16.15 | 12.06 | 3.96 | 0.13 |
| Hoik Jang | Center back | 4.78 | 3.79 | 5.83 | 0.99 | 1.05 |
| Jihoon Cho | Central midfielder | 5.09 | 8.83 | 5.31 | 3.74 | 0.22 |
| Juyong Lee | Left back | 6.51 | 4.61 | 7.31 | 1.90 | 0.80 |
Hoik Jang is the useful warning inside the positive average. The simulated estimate is slightly worse than the naive projection for that displayed case, so the result supports scenario evidence across a holdout group rather than automatic trust in every individual projection.
On-ball only and provider-dependent
The PLOS One event-detection study warns that provider definitions vary, with recovery, crosses, passes and shots all affected by annotation choices. Its independent event and positional data test produced F-scores of 0.71 for passes and 0.65 for shots. 8
The Wyscout public dataset paper describes expert operator tagging, automatic checks for missed events, and searches for impossible event-sequence combinations. Professional event data still needs quality control before a model learns from it. 9
The evidence stops at K League on-ball event data through 2025 for ScoutGPT’s transfer test. The paper’s conclusion says future work will add tracking data to model off-ball behaviour, which means current rollouts cannot see runs that open the pass, marking that blocks it, or spacing that changes the receiver’s first touch.
The audit line
Clubs should request generated sequences, validity masks, the action schema, value targets, rollout distributions and post-transfer holdout errors before using a simulated fit in recruitment. A demo clip without those records can still be a useful prompt for scouts, video analysts and coaches.
Pause each generated pass, reception, defensive action and stoppage. The analyst must record ball control, VAEP credit, invalid masked options, rollout spread and the post-transfer error line. For ScoutGPT’s top 40 transferred players, that line is 1.25.
Sources
- arXiv: Modeling Matches as Language: A Generative Transformer Approach for Counterfactual Player Valuation in Football
- arXiv: VERSA: Verified Event Data Format for Reliable Soccer Analytics
- socceraction documentation: SPADL
- socceraction documentation: Atomic-SPADL
- socceraction documentation: VAEP
- arXiv: EventGPT: Capturing Player Impact from Team Action Sequences Using GPT-Based Framework
- arXiv: Forecasting Events in Soccer Matches Through Language
- PLOS One: Event detection in football: Improving the reliability of match analysis
- Scientific Data: A public data set of spatio-temporal match events in soccer competitions
2026
August
- 4th
July
- 29th
- 27th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 17th
- 17th
- 16th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 7th
- 6th
- 5th
- 5th
- 4th
- 3rd
- 2nd
- 1st
- 1st
June
- 30th
- 30th
- 29th
- 29th
- 29th
- 28th
- 28th
- 27th
- 26th
- 26th
- 25th
- 24th
- 24th
- 23rd
- 22nd
- 21st
- 21st
- 21st
- 20th
- 19th
- 19th
- 18th
- 17th
- 17th
- 16th
- 15th
- 15th
- 14th
- 14th
- 13th
- 13th
- 12th
- 12th
- 11th
- 11th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
- 1st
May
- 31st
- 31st
- 30th
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
-
How analysts should measure whether high pressing is creating control or exposing transition attacks11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
- 1st
March
- 24th
January
- 18th
2025
December
- 21st
- 16th
- 7th
- 3rd
November
- 29th
- 24th
- 20th
- 14th
- 12th
- 8th
- 7th
- 4th
- 2nd
October
- 31st
- 28th
- 22nd
- 20th
- 19th
- 12th
September
- 30th
- 28th
- 26th
- 24th
- 23rd
- 20th
- 18th
- 16th
- 14th
- 4th
- 3rd
- 1st
August
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 20th
- 17th
- 14th
- 12th
- 10th
- 8th
- 4th
July
- 10th
- 5th
- 4th
June
- 29th
- 14th
- 13th
- 12th
- 2nd
May
- 29th
- 25th
- 22nd
- 20th
- 15th
- 8th
April
- 30th
- 9th
March
- 28th
- 5th
February
- 26th
- 20th
- 19th
- 12th
- 8th
January
- 31st
- 30th
- 16th
- 12th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
2024
December
- 31st
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
November
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 18th
- 18th
- 16th
October
- 21st
- 12th
- 11th
- 9th
- 7th
- 6th
- 4th
- 3rd
- 2nd
- 1st
September
- 30th
- 29th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 4th
- 3rd
- 2nd
- 1st
August
- 31st
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 20th
- 19th
- 19th
- 18th
- 17th
- 16th
- 15th
- 14th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
July
- 31st
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 15th
- 14th
- 13th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
June
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
May
- 31st
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
April
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 3rd
- 2nd
- 1st
March
- 31st
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 21st
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 1st
February
- 28th
- 27th
- 26th
- 25th
- 23rd
- 22nd
- 21st
- 20th
- 18th
- 15th
- 14th
- 13th
- 12th
- 11th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
January
- 31st
- 30th
- 29th
- 28th
- 27th
- 25th
- 24th
- 22nd
- 21st
- 20th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
2023
December
- 31st
- 29th
- 28th
- 27th
- 25th
- 24th
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 13th
- 12th
- 11th
- 10th
- 8th
- 7th
- 6th
- 4th
- 3rd
- 2nd
- 1st
November
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
October
- 31st
- 30th
- 29th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 19th
- 17th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 1st
September
- 30th
- 28th
- 26th
- 25th
- 24th
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 9th
- 3rd
August
- 31st
- 28th
- 27th
- 26th
- 21st
- 20th
- 15th
- 14th
- 13th
- 12th
- 7th
- 4th
- 3rd
July
- 31st
- 30th
- 28th
- 27th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
June
- 11th
- 10th
- 7th
- 5th
- 4th
- 1st
May
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 11th
- 10th
- 9th
- 8th
- 7th
- 5th
- 4th
- 3rd
- 2nd
- 1st
April
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 22nd
- 21st
- 20th
- 2nd
March
- 6th
February
- 27th
- 20th
- 5th
January
- 19th
Receive every new post in your inbox.
Subscribe to receive Research reports and the Weekly Recap by email. By continuing, you agree to our Privacy Policy and Terms of Service.