Football Performance Lab

Methodology

Every number published on FootyCabin is derived from recorded match data. This page summarises how those numbers are produced and what they deliberately do not claim.

Data source

Fixtures, lineups, events and player match statistics are imported from Sportmonks and stored per fixture with the provider identifiers preserved. Aggregation uses completed fixtures only: announced lineups, future fixtures, and bench rows without played minutes are excluded.

Per-90 values and rates

A per-90 value scales a season total to a full match: total × 90 ÷ minutes played. It is never calculated when minutes are missing or zero. Efficiency rates are only computed when both numerator and denominator exist, and are bounded to 0–100%.

Missing versus zero

The provider frequently omits a statistic rather than sending a zero. FootyCabin keeps those values missing and labels them "not available". Missing values are never treated as zero, and metric coverage is recorded alongside every composite score.

Role-relative percentiles

Roles are derived from lineup formation geometry per match, then resolved for the season from starting minutes. Percentiles compare a player with the players sharing that role in the same season, and the reference group size is published with the value. Groups under 15 players are flagged as a small reference group.

Impact Score

The Football Performance Lab Impact Score is an experimental in-house model. It combines role-relative percentile families using explicit weights and records how much of the intended weight was actually covered by available data. It is not an official rating, not a definitive measure of player quality, and not a prediction.

Minimum sample rules

  • Values are calculated internally from 180 minutes and 3 appearances.
  • Public ranked scores require 360 minutes, 5 appearances, at least 90% metric coverage and an established role.
  • A season sample is called established from 720 minutes and 8 appearances.
  • A single appearance contributes a match impact observation from 30 minutes.

Browse players