Selected model
Xgboost
lower validation log loss by 0.008164 versus pytorch_mlp
- Training passes
- 39,214
- Grouped OOF folds
- 5
Passing methodology
FootyScout predicts the probability that a pass will be completed using information available about the pass before its outcome.
Expected Goals model →Attacking Impact model →
Selected model
lower validation log loss by 0.008164 versus pytorch_mlp
Identifiers, player/team names, pass outcomes, recipients, and future events are excluded from model inputs.
start_xstart_yend_xend_ystart_zoneend_zonedistance_to_goal_beforedistance_to_goal_afterdistance_toward_goalpass_lengthpass_angleforward_distancelateral_distanceunder_pressureprogressivepass_heightbody_partpass_typeOOF probabilities drive player analytics and are highlighted below. The untouched test split was evaluated only after validation selected the model.
Temperature scaling was fit on the validation split only. It was not retained: not retained because validation log loss, Brier score, and ECE did not jointly satisfy the conservative improvement rule
Calibration can improve probability quality without improving ranking; FootyScout does not claim it improves every held-out metric.
Player Intelligence
FootyScout compares eligible outfield players within the same broad position using six style-only passing and carrying tendencies. Each feature is converted to a population z-score within DEF, MID, or FWD, then profiles are ranked by root-mean-square Euclidean distance. The 0–100 index is cohort-calibrated: 100 is identical and 50 is approximately the median same-position pair distance.
Support uses the lower observed-match count of the two players. Pairs below three matches are marked limited. Coverage is uneven, so low-sample neighbor ranks may move as more matches are observed; support never changes the score.
Similarity describes observed playing style. It is not player quality, future performance, probability of success, tactical fit, or transfer success. Performance metrics, outcomes, team identity, and archetype labels are excluded.
Team Intelligence
Team style and positional roles. Team style describes Leverkusen's 34 observed Bundesliga matches. DEF, MID and FWD roles pool the observed events and actions of players assigned to each frozen broad position.
Role Fit. Eligible players and roles share the same six-feature, position-relative playing-style coordinate system. Root-mean-square distance measures observed style resemblance; lower is closer.
Current players. A Leverkusen player is compared with a leave-self-out role so their own actions do not contribute to the target profile.
Scouting Recommendations. External same-position players are ranked only by Role Fit. This is not transfer-success probability, a player-quality score, causal tactical compatibility, or a forecast.
How well the model ranks completed passes above incomplete ones across thresholds; higher is better.
Scores probability confidence and heavily penalizes confident mistakes; lower is better.
Mean squared error of predicted probabilities; lower is better.
The gap between predicted probability and observed completion across probability bins; lower suggests better calibration.
| Model | ROC-AUC | Log loss | Brier | ECE |
|---|---|---|---|---|
| Logistic Regression | 0.8876 | 0.3118 | 0.0989 | 0.0326 |
| PyTorch MLP | 0.9159 | 0.2697 | 0.0850 | 0.0109 |
| XGBoost · Selected | 0.9210 | 0.2615 | 0.0810 | 0.0102 |
| Model | ROC-AUC | Log loss | Brier | ECE |
|---|---|---|---|---|
| Logistic Regression | 0.8786 | 0.2778 | 0.0824 | 0.0067 |
| PyTorch MLP | 0.9018 | 0.2546 | 0.0748 | 0.0181 |
| XGBoost · Selected | 0.9158 | 0.2354 | 0.0691 | 0.0073 |
Primary: Validation Log Loss · tie-breaker: Validation Brier Score · supporting: Validation ROC-AUC. Test metrics used for selection: no.
Gain-based model feature importance; this is not a causal claim.
pass_height_Ground Pass34.1%progressive26.4%pass_type_Throw-in5.4%distance_to_goal_after3.5%pass_length3.2%distance_toward_goal3.1%pass_height_High Pass1.6%forward_distance1.5%under_pressure1.5%end_y1.3%