## The Data Architecture for Player Models
Player prop betting demands player-level data that match-level betting does not require. Building a player model requires a different data infrastructure from team-level betting.
## The Required Data
**Football (per player, per match):**
- Minutes played
- Shots (total, on target, from inside box)
- xG (expected goals generated)
- Key passes, xA (expected assists)
- Dribbles attempted/completed
- Defensive actions (tackles, interceptions, clearances)
- Pass completion rate
**Source:** FBref provides this data free for the top 5 European leagues + Champions League.
## The Model Architecture
**Layer 1 — Player baseline:**
Rolling 10-match average for each key metric (minutes, xG, shots on target), weighted more heavily on recent matches.
**Layer 2 — Matchup adjustment:**
Opponent's defensive rating vs this player's position/role. A centre-forward facing a top-quartile defensive team receives fewer shots and generates less xG.
**Layer 3 — Team context:**
Team's attacking xG expected in this match. In a match where the team is expected to generate 2.5 xG, the share allocated to this player is derived from their historical xG share.
**Layer 4 — Minutes probability:**
Confirmed fitness, rotation risk, booking status (5th yellow card = suspension risk creates rotation).
**Output:**
Expected xG, shots on target, and assists for the player in this specific match. Convert to prop probabilities using historical conversion rates.
## Validation
Track every player prop bet against closing prices on Pinnacle or the exchange. Calculate player-level CLV. After 100+ bets on a specific player, you will know whether your model adds value for that player's specific markets.
Create a free account to track your progress and save bookmarks.