Prediction: Dependency
LineupAPI publishes predictions up to 17 days in advance. At that horizon, the biggest unknown is simple:
Will the player actually start the match?
Because playing time drives almost everything that happens in a game, most player predictions are to be interpreted:
“What are the chances if the player starts?”
What the lineups group means
lineups models three match-involvement outcomes:
lineups.starter— chance the player is in the starting 11lineups.benchAndPlay— chance the player is on the bench and subbed in during the matchlineups.notPlay— chance the player does not play at all
(out of squad, or unused substitute)
Think of this as: starts vs. comes on vs. no minutes.
The dependency principle
Important
Most other groups show only probabilities that hold, if the player starts the match. This applies to:
minutesgoalsassistscardscorners_takenfouls_wonfouls_conceded
Why we publish it this way
A player’s natural chance of goals, assists, cards, fouls, etc. is mostly a function of:
- whether they start, and
- how many minutes they are likely to play.
A bench-only appearance usually means fewer minutes and fewer opportunities.
Instead of forcing every group to “guess” playing-time scenarios internally, LineupAPI exposes the lineup signals (starter, benchAndPlay, notPlay) and the production signals (goals/assists/cards/etc.) so you can combine them into the exact product behavior you want.
How to use this correctly in your product
Option A — Build an “effective probability” (simple weighting)
If you want a single number that accounts for playing likelihood, you can combine starter and benchAndPlay into a rough play factor.
Example heuristic (tune the bench weight to your use case):
Play factor
playFactor = lineups.starter + 0.2 * lineups.benchAndPlayAdjusted threshold probability (example: Goals > 0.5)
adjusted = playFactor * goals.over_0.5
This is not an official model output — it’s a practical UI/ranking trick many products use.
Option B — Show a small context note next to stats
When you display goals, assists, or minutes, add a short hint like:
“Projections should be interpreted with starter probability.”
This prevents “why is this high/low?” confusion when lineup likelihood is the real driver.
Option C — Filter or de-emphasize low-opportunity players
Common UX patterns:
- Show only players above a starter threshold (e.g.
lineups.starter >= 0.40) - Grey out players with high
lineups.notPlay - Sort by
lineups.starterby default
