What we predicted for Antoine Semenyo at Manchester City, and what actually happened.
This report compares a pre-run Manchester City forecast to Semenyo's realized Premier League output after the move. The goal is simple: show what the model expected, measure how close it came, and make clear how much trust that score earns for future transfer predictions.
Mean normalized Earth Mover's Distance across the five modeled metrics. Lower is better. Here, the model was strongest on xG and weakest on Pass completion %.
In practice, a score of 0.178 means the forecast was meaningfully informative without being exact: close enough to trust for directional analysis, not close enough to treat as a precise stat-by-stat projection.
Average normalized distance between the predicted and realized distributions across all five metrics.
This was the metric where the forecast most closely matched the final outcome. Score: 0.054.
This is where the forecast diverged most from reality. Score: 0.298.
Semenyo's minutes were split across multiple attacking roles, which is important context when judging the shot and xG misses.
How The Prediction Works
The model does not try to guess one exact stat line. It estimates a probability distribution for each metric: how likely Semenyo was to land in each pass, accuracy, touch, shot and xG band once placed into the Manchester City environment.
It makes that call match-context by match-context, then combines the 19 Premier League opponent scenarios into one average forecast for the half-season. That gives a fuller picture than a single headline number because it preserves both upside and downside across different opposition.
To score the forecast, the predicted distributions are compared with Semenyo's actual City distributions using ordered-bin Earth Mover's Distance. In plain terms: the score measures how much probability mass had to move for the prediction to line up with reality.
How Context Shapes The Forecast
The point of this model is not to ask, “what is Semenyo on average?” It asks a more useful football question: what does Semenyo look like when dropped into a specific team structure, surrounded by specific teammates, and facing a specific opponent?
This is the capability the later score is testing: whether a context-aware simulation can anticipate the shape of output better than a flat player projection.
How To Read The Score
The model tracked reality closely and can be treated as a high-confidence signal for similar future transfer scenarios.
The model got the broad outcome right and is useful for directional analysis, but some metric-level misses remain.
The forecast still offers some directional information, but the gap to reality is too large for strong trust.
This report lands in the middle band. 0.12-0.18 is a useful forecast: the model captured the broad outcome shape, but some calibration gaps remain.
Prediction vs Reality
Each chart compares the model's average forecast with Semenyo's realized Manchester City output. The closer the two shapes, the stronger the prediction.
Completed passes
The model shifted Semenyo toward City-like pass volume, but reality stayed materially lower.
Pass completion %
Accuracy clustered in strong possession bands both in forecast and realization, with reality landing slightly cleaner.
Touches
This was the most stable channel: the forecast broadly placed him in the right possession neighborhoods.
Shots
The model materially overestimated how often Semenyo would live in the >2 shots bin in this role.
xG
The forecast kept meaningful high-xG upside, but actual output distributed more evenly across medium and high xG bins.
How The Forecast Is Scored
Lower scores mean the predicted distribution sat closer to reality. This is the core precision check for the model.
xG
Dominant forecast: 0.01-0.10 • dominant reality: 0.11-0.30
Shots
Dominant forecast: >2 • dominant reality: 1-2
Touches
Dominant forecast: 44-55 • dominant reality: 22-34
Completed passes
Dominant forecast: 30-50 • dominant reality: 10-20
Pass completion %
Dominant forecast: 70-75% • dominant reality: 90-100%
What The Model Was Actually Predicting
Before the season played out, the model's call was not one fixed line. It generated opponent-sensitive outcomes. These examples show the kinds of match-level profiles it expected to see.
What Actually Happened
These match snapshots anchor the charts in real performances. They also explain part of the scoring story: Semenyo's City usage moved across several attacking roles, which limited how cleanly the model's higher-volume shot expectations converted into reality.
| Opponent | Role | Minutes | Passes | Accuracy | Touches | Shots | xG |
|---|---|---|---|---|---|---|---|
| Manchester United | MR | 90 | 37 | 88.1% | 58 | 1 | 0.05 |
| Tottenham Hotspur | ST | 90 | 18 | 78.3% | 47 | 2 | 0.64 |
| Chelsea | AMR | 90 | 29 | 87.9% | 57 | 5 | 0.29 |
| Arsenal | AMR | 89 | 10 | 62.5% | 37 | 1 | 0.04 |
| Aston Villa | AMC | 58 | 21 | 95.5% | 34 | 1 | 0.10 |
Should Analysts Trust The Next Forecast?
Yes, with the right framing. This model is already useful for estimating the shape of a player's likely output in a new team context, especially for possession and involvement metrics. It is less reliable when the question becomes highly role-sensitive finishing volume.
That is still valuable for transfer analysis. Forecasts like this help analysts ask better questions before a move happens: Will the player see enough ball? Will the environment raise passing efficiency? Will territory convert into real attacking output?
The next generation of reports can build trust further by repeating this format consistently: show the prediction, score it transparently, and state clearly where the model is already decision-useful versus where calibration still needs improvement.
The model captured the broad shape of the outcome, but some metric-level calibration gaps remain. It is useful for directional decision support, not as a precise stat-line oracle.