Football Analytics Platform
A complete walkthrough of every page, chart, model, and metric — from squad diagnostics and global scouting to match outcome predictions powered by a leakage-free Poisson model.
Section 1 — Squad Diagnostics
📋 Complete Squad
Performance Map
A high-level diagnostic of the entire Oviedo squad. Answers the fundamental question: how is each player performing relative to expectation? Goals vs. xG discrepancies, positional balance, and build-up contribution are surfaced in a single unified view before diving deeper.
Visualisations
Charts & Analysis
📉 Diagnosing the
Goal Drought
Oviedo's challenge is not solely an xG creation problem — it is a systematic finishing underperformance. This page isolates the gap between expected and actual output, profiles shot quality and volume, and contextualises the issue against La Liga's top forwards.
Visualisations
Charts & Analysis
🛡️ Diagnosing the
Defensive Collapse
Oviedo's survival challenge has a second front: defensive fragility. This page maps Oviedo's defenders against every La Liga outfield player using FBref defensive tracking data — tackles won, interceptions, and disciplinary record — to build an evidence-based case for targeted reinforcements.
Visualisations
Charts & Analysis
📊 Oviedo Within
La Liga's Landscape
Context is everything in analytics. This page places Oviedo's attackers and midfielders inside the full La Liga distribution, showing where the squad ranks against 549 tracked players. Percentile radars, forward rankings, and build-up comparisons make the performance gaps immediately visible.
Visualisations
Charts & Analysis
Section 2 — Global Scouting
🥇 Top-Flight Talent
Across Europe's Big 5
A two-tab scouting module covering the top tier of European football. The Big 5 tab merges Premier League, Bundesliga, Serie A, and Ligue 1 into a unified ranked list; the La Liga tab focuses on domestic competition. Players are ranked by a composite scout score designed to surface clinical forwards and creative midfielders at realistic transfer fees.
Visualisations
Charts & Analysis
Leagues Covered
🥈 Five-League
Second Division Radar
The most advanced scouting module. Five second divisions across Europe are analysed simultaneously, with per-league tabs for granular scouting and a unified Cross-League tab consolidating the best performers into a single ranked shortlist. Designed to find the next Oviedo signing before rivals identify them.
Leagues Analysed
Per-League Tab (×5)
Cross-League Tab
🛡️ Defenders Tab
🌍 European Scouting
Intelligence
Six leagues beyond the Big 5 radar — markets with lower acquisition costs but proven stepping stones to top-flight football. Covers Eredivisie, Belgian Pro League, Primeira Liga, EFL League One, Swiss Super League, and Süper Lig. Tabs for each league plus cross-league attacker and defender views.
Leagues
Defender & Attacker Tabs (per league + cross-league)
Filters
🌎 Rest of Europe
Scouting Intelligence
Six European leagues with strong tactical cultures that consistently produce transfer-ready talent at competitive prices. Covers Austrian Bundesliga, Ekstraklasa, HNL Croatia, Danish Superliga, Super League Greece, and Scottish Premiership — ideal pipeline for players who can step into La Liga 2 immediately.
Leagues
Defender & Attacker Tabs (per league + cross-league)
Filters
🗺️ Global Talent
Pipeline
Six leagues spanning North America, South America, Asia, and Eastern Europe — markets with growing quality, attractive valuations, and a pipeline of players actively seeking European moves. Covers MLS, J1 League, Liga Profesional Argentina, Série A Brazil, Liga MX, and Russian Premier League.
Leagues
Defender & Attacker Tabs (per league + cross-league)
Filters
Section 3 — Match Forecasting
NEW⚽ La Liga Match
Outcome Probabilities
Match-by-match win/draw/loss probabilities for every La Liga fixture, generated by walkforward_best_k_v2 — a leakage-free Poisson model that uses only data available before each match date. Fully interactive: filter by season, team, and confidence level.
Visualisations
Table Columns
Model
🔍 Single-Fixture
Deep Dive
Drill down into any individual fixture to see the full model output: outcome probabilities, most likely scorelines, rule-based narrative summaries, tactical style context, and all active prediction flags for that match.
Content
🎨 Tactical Profile
Clustering
KMeans clustering maps every La Liga team into one of four tactical style labels based on their season-level match statistics. Visualise how teams are distributed across the style spectrum and how individual team profiles compare on a six-axis radar.
Visualisations
Charts & Analysis
📈 Production Model
Registry & Evaluation
Full transparency into the production model's parameters, evaluation metrics, and calibration quality. Includes a V1 vs V2 accuracy comparison.
📅 Past Predictions
vs Actual Results
A retrospective audit of every completed match prediction: accuracy by confidence tier, full match-by-match history table, and CSV export for independent analysis.
Reference
Every metric and concept used in the dashboard, defined precisely. All rate stats are normalised per 90 minutes unless otherwise specified.
xG — Expected Goals
The sum of shot probabilities for all shots taken, based on historical conversion rates for shots from similar positions, angles, and situations. Measures chance quality and volume combined.
npxG — Non-Penalty xG
Expected Goals excluding penalty kicks. The cleanest measure of open-play attacking threat, particularly relevant for comparing forwards across teams with different penalty records.
xA — Expected Assists
The xG value of the chances created by a player's passes. A high xA means the player created high-quality opportunities regardless of whether the receiver converted them — isolating creative output from finishing quality.
Goals − xG
The difference between actual goals scored and xG. Positive = clinical finisher performing above expectation; negative = underperformance. Persistent negatives typically revert toward zero over time.
xG Chain
The sum of xG from all attacking sequences in which the player was involved at any point — shots, assists, build-up passes. A holistic measure of attacking contribution beyond just shots and assists.
xG Buildup
xG Chain minus the player's direct shot xG and assist xG. Isolates pure build-up and progressive passing contribution — value added in sequences before the final actions. Key for evaluating deep-lying forwards and ball-playing midfielders.
xG/Shot — Shot Quality
Average expected goal value per shot. A higher value means the player consistently attempts shots from better positions or with better technique. Elite forwards in La Liga typically maintain xG/Shot above 0.12.
G/Shot — Conversion Rate
Goals divided by total shots attempted. A direct measure of finishing efficiency independent of shot quality. Compared against xG/Shot to determine whether a player finishes better or worse than their chances warrant.
SoT% — Shots on Target %
Percentage of shots that were on target (requiring a save or resulting in a goal). Low SoT% indicates poor execution or decision-making; very high SoT% alongside low conversion may indicate strong goalkeeper opposition.
Key Passes
Passes that directly lead to a shot attempt by a teammate. Unlike xA, key passes count all shots generated regardless of quality. High key passes + high xA = a player creating both volume and quality chances.
Per 90 Normalisation
Dividing any counting stat by the number of 90-minute intervals played, enabling fair comparison between players with different amounts of playing time. Minimum 900 minutes is typically applied to filter small samples.
Scout Score (Composite)
A 0–100 index calculated as a weighted average of within-population percentile ranks: npxG/90 × 0.40 + xA/90 × 0.30 + Shots/90 × 0.15 + xG/Shot × 0.15. Designed to reward both clinical finishing and chance creation.
Within-League Percentile
A player's rank expressed as a fraction of the league's player population in the same metric. A 90th percentile npxG/90 means the player outperforms 90% of comparable players in that competition.
TklW+Int/90
Tackles Won plus Interceptions per 90 minutes. The primary defensive activity indicator. A high value signals a player who both wins individual duels and reads the game well enough to intercept passes before the duel occurs.
Defensive Score (Def Score)
A 0–100 composite index for defenders: TklW+Int/90 × 0.35 + Key Passes/90 × 0.25 + Passes into Final Third/90 × 0.20 + Discipline (fouls/90 inverted) × 0.20. Rewards defensive activity, passing, and clean play simultaneously.
PPDA — Passes Allowed per Defensive Action
The number of opposition passes allowed per defensive action (tackle, interception, foul) in the opposition half. Lower PPDA = higher pressing intensity. A team allowing 5 PPDA presses far more aggressively than one allowing 10.
Poisson Model
A statistical model that treats goals scored by each team as independent random events following a Poisson distribution, each with its own expected rate (λ). H/D/A probabilities are derived by convolving the two distributions over a 7×7 scoreline grid — summing the probability of all home-win scorelines, all draw scorelines, and all away-win scorelines.
Walk-Forward Validation
A leakage-free evaluation protocol where predictions are always generated using only data available before the match date. The model is re-fitted incrementally after each matchday — no future information ever leaks into earlier predictions. This ensures reported accuracy metrics reflect genuine out-of-sample performance.
Prior Blending
A technique that smoothly transitions a team's attack/defence rating from a prior estimate toward observed match data as more games are played. A tuned shrinkage constant controls how fast ratings update: a small constant means ratings converge to the data quickly; a larger constant keeps them anchored to the prior for longer. Constants are tuned independently for strength, home advantage, and other model components.
Confidence Score
The maximum probability across the three outcomes: max(P_H, P_D, P_A). Values below 42% are flagged as low confidence — the model sees a genuinely open contest and its prediction carries less informational value. Not a measure of model quality, only of outcome decisiveness.
xG Gap
Expected goals for the home team minus expected goals for the away team. Positive values favour the home side; negative values favour the away side. An independent directional signal that can confirm or contradict the probability output.
Style Label
One of four KMeans cluster assignments derived from six match-level features aggregated over the season: Possession/Dominant, High Pressing, Defensive/Low Block, Direct/Counter-Attack. Used in Match Detail and Prediction History to provide tactical context around model predictions.
Promoted Prior
Newly promoted teams start the season with ATT/DEF priors derived from the previous season's relegation zone, rather than the league-wide average. This reflects the expectation that promoted sides are typically below the division mean at the start of the campaign. Flagged with 🟡 in the predictions table.
LogLoss
The primary model evaluation metric. Measures the average negative log-probability assigned to the correct outcome; lower is better. A model assigning 70% to the correct outcome scores −log(0.70) ≈ 0.36 for that match. The production model achieves LogLoss = 0.9717 over the full walk-forward evaluation set.
U25 Value Target
Players under 25 years old who rank in the top 30th percentile within their league by composite score. Represents optimal value — sufficient current output to justify transfer spend, with meaningful development potential still ahead.
90s Played
Total minutes played divided by 90. Used as a sample size filter — players with fewer than 5–10 ninety-minute intervals are typically excluded or flagged as small-sample results. All per-90 metrics should be read alongside this figure.
🗂️ Where the Data
Comes From
Every metric in the platform is derived from four primary data sources, each collected through a purpose-built scraping or API pipeline. The table below summarises coverage; the expandable sections detail what each source provides and how it is collected.
Source Overview
Ready to explore
Every chart, table, prediction, and metric described above is live and interactive. Data refreshed for the 2025/26 season across 25+ leagues and two complete La Liga seasons of walk-forward model predictions.