The method, for analysts and hiring teams
I'd like to work on recruitment models and the visual side of how clubs read them. In October 2026 I rebuilt my whole event-data pipeline after finding bugs in the coordinate frame, the match clock and the VAEP formula, and re-ran everything on top of it. My transfer-corridor piece retracted one of its own March claims. In November 2026 I tested every model again: action value is now a sequence model that reads the last 32 actions, expected goals lost its calibration layer, expected passes and the price model changed learner, and the published numbers were re-run. That's how I'd work on your data too.
Transfer success by league
Six seasons of moves against an intra-league control group: which leagues' players hold their level, and why most failures are about minutes.
Read September 2026; the re-run is out in DecemberFair transfer price
Worth learned from market values, then calibrated on 3,226 real fees: selling league, age, window, football inflation, and the one buyer that changes a fee most, a Premier League club. Two prices per player and their mix. Backtested window by window.
Read Use the appSquad needs
What a squad is short of, read from its own numbers: a quality that lags what a paired quality implies, checked against teams that play the same way and kept only if it repeats.
Read October 2026Position clustering
Roles from where and how players act, not from team sheets: the role behind every comparison I make.
Read May 2025: an earlier version, the method has changed sinceTeam style similarity
Which teams play like yours, from possession and pressing maps, so needs are measured against real peers.
Read March 2025: an earlier version, the method has changed sinceDixon-Coles ratings
Team strength from my own xG model plus the threat a team builds before the shot, comparable across leagues: how I translate a player's numbers from one league to another.
Read March 2025: an earlier version, the method has changed sinceDefensive value
What a defender's zone concedes, from convex hulls and VAEP. I tested whether it rates the defender or his team: it mostly follows the team and doesn't carry to a new club, so I read it as context, not as a rating. Event data struggles with defending, and I say where.
Standstill take-ons
Two proxies for beating a man from a standing start. The simple one was the more repeatable.
Read February 2026, before the rebuildExplosive carries
An acceleration proxy from event data, compared against Gradient's tracking data: the La Liga outliers largely match.
Read February 2026, before the rebuildPassing skill
Two passing skills: security (a Bayesian model of how much more than expected a player completes) and value (what the passes he picks are worth, the one that predicts next season). Shooters, keepers and duels in the same framework.
Tracking data
Peak velocity, and why one number isn't enough; off-ball runs three seconds before the pass. Both on Gradient's free World Cup 2022 data.
Peak velocity Off-ball runs March and April 2026
Stack: Python, pandas, PyTorch, XGBoost, CatBoost, LightGBM, scikit-learn, Streamlit, VAEP and xG modelling, data visualisation. Hudl StatsBomb certifications in recruitment and video analysis. Italian and English.
My experience on LinkedInSee it applied
The same models, turned into an answer on one player or one position: what a club gets when it asks.
The services and prices Price a player