What matters
A match is 90 minutes plus stoppage time; some knockout ties add 30 minutes of extra time and then penalties, so always check what a market or record settles on — usually 90 minutes plus stoppage. With roughly two to three goals a game, a single goal swings the result, and three outcomes (home, draw, away) are always live.
Game state — the score and the minute — changes how teams play: a side that leads tends to concede territory and shots; a side that trails pushes forward. That makes raw match totals a mix of skill and score effects. Competitions differ too: league matches, cup ties and two-legged knockouts carry different incentives, and home advantage is real but modest and varies by league.
Important data
| Input | Why it matters |
|---|---|
| Match result and score timeline | Goals and the minute they happened — the backbone of game state |
| Event ledger | Sourced events: shots, passes, crosses, duels, fouls, corners, offsides, cards, substitutions |
| Event locations | Where a shot was taken, when the source records a location |
| Lineups and minutes | Starts, substitutions and nominal minutes set every per-90 rate |
| Competition and season | The cohort a player is compared against |
| Home / away and venue | A modest, league-dependent adjustment |
Common metrics
| Metric | What it measures | How to read it |
|---|---|---|
| Shots and shots on target | Attempts, and attempts that required a save or scored | Volume first; on-target share second |
| Goals per shot | Finishing outcome per attempt | Very noisy; regresses hard |
| Key passes | Passes that directly set up a shot | Chance-creation volume |
| Final-third passes completed | Completed passes into or within the attacking third | Territory and pressure, not possession |
| Share of completed passes | One team’s fraction of the match’s completed passes | NOT possession % — there is no possession clock behind it |
| Per-90 rate | Count × 90 / minutes played | Compares players with different minutes; needs a minutes gate |
Model concepts
Goals are rare, countable events, which makes soccer the classic case for a Poisson starting point: estimate each team's expected goals for the match, treat the two counts as Poisson, and every scoreline — and from it home, draw and away — has a probability. See Poisson.
Real models adjust that start. Dixon–Coles, a well-known Poisson variant, corrects the probability of low scores (0–0, 1–0, 0–1, 1–1), where independent Poissons are known to be off, and weights recent matches more. The draw is where simple models struggle most, because it depends on the joint distribution of both teams' goals, not either team alone.
PropBetEdge Soccer's official picks come from a frozen Dixon–Coles Poisson model for Bundesliga league matches. Picks lock before kickoff and are graded from the final score. The product reports a one-time holdout evaluation against a baseline, kept separate from the live record — read its Track Record for the current ledger and calibration table. No prices are stored, so no ROI or CLV is shown.
Whatever the model, judge it the same way: Calibration by probability band, log loss against a baseline on a three-way outcome, and a holdout the model never saw — see Overfitting & holdout.
Live intelligence
Soccer PBEcast replays and follows a match as an event ledger: sourced events in order on a timeline, with shots, goals and own goals placed on the pitch where the source records a location. It is not optical player tracking — there are no player positions and no interpolated clock. Live updates arrive about once a minute plus the source's own delay. See Soccer PBEcast.
PropBetEdge Soccer tools
PBEcast ↗
Event-ledger match view and replay: sourced events on a timeline, located shots on the pitch. Not player tracking.
SoccerPlayer DNA ↗
Descriptive player profiles ranked against the same competition-season, with a minutes gate.
SoccerPBE Picks ↗
Soccer Algo official picks: locked before kickoff, graded from the final score.
SoccerTrack Record ↗
The graded pick ledger, with historical validation kept separate.
SoccerCompetitions ↗
Certified competitions, teams and seasons.
SoccerTables ↗
League standings computed from our own results.
SoccerSoccer Pro ↗
All Access match center: fatigue, rotation and Matchup Lab.
SoccerNews ↗
Evidence-backed reporting from PropBetEdge data.
Worked example
- Illustrative rates, not a real fixture: Team A expects 1.55 goals, Team B 1.05.
- If each team's goals are independent Poisson counts, every scoreline has a probability: P(0–0) = e^(−1.55) × e^(−1.05) = 7.4%.
- Summing the scoreline grid: A wins 48.9%, draw 25.4%, B wins 25.7%. P(A scores at least once) = 1 − e^(−1.55) = 78.8%.
- Total goals λ = 2.60, so P(over 2.5 goals) = 1 − P(0, 1 or 2) = 48.2%.
Glossary
Related lessons
Soccer Player DNA
A striker is 85th percentile in shots per 90. What does that tell me, and what does it not?
Soccer PBEcast
What does a marker on the Soccer PBEcast pitch represent?
Poisson
How do you turn "0.35 expected home runs" into a probability — and when is that math wrong?
Calibration
When a model says 70%, does it happen 70% of the time?
PBE Picks & track records
How do I know a published record is real, and what should I look at in it?
Game state
What exactly does a live model know that a pregame model does not?
