« How the models work

Line-up model

column: Line-up, LineupScore shown alongside, not a voter

The one model that looks at who is actually playing. It takes the fixture's Poisson expected goals and adjusts each side for the eleven on the teamsheet - their ratings and market values, who is missing and why, whether a new manager has just arrived, and whether it is a derby - then simulates the game twenty thousand times.

How it works
  1. Start from the Poisson expected goals for the fixture (attack and defence strengths, home advantage, last-season prior).
  2. XI rating: the starting eleven's average season rating against the league norm of about 6.85. Every +0.10 above it lifts that side's expected goals by about 3.5%; below it, the reverse.
  3. XI value: the eleven's average market value against the club's own first-choice fourteen. A side fielding players worth 10% less than its best is trimmed about 1.5% - are the expensive players actually playing?
  4. Absentees: SofaScore's missing-player list (injury, suspension, doubtful) valued against the club's first-choice total. Missing 10% of that value costs about 6% of expected goals; suspended players count 1.25x (they tend to be regulars), doubtful ones half.
  5. New-manager bounce: a side whose manager was appointed inside the last 30 days gets a lift starting at 6% and fading to nothing by day 30. Managers and appointment dates come from transfermarkt via the weekly squads scrape.
  6. Derby: both sides' expected goals are trimmed 7% and three points of probability move onto the draw - rivalry games are tighter than form suggests. The derby list is hand-curated across all five divisions.
  7. The adjusted expected goals are simulated 20,000 times (Poisson draws per side) for home/draw/away percentages and the most common scoreline.
Worked example
Baseline (Poisson)home 1.39, away 1.17 expected goals → 42:26:32
Home XIrating 6.83 (−0.7%), value 97% of first choice (−0.5%), nobody missing → ×0.99
Away XIrating 6.72 (−4.5%), value 94% of first choice (−0.9%), €4m striker suspended (−3%) → ×0.92
Contextderby: both ×0.93, draw +3 points; home manager appointed 5 days ago: home ×1.05
Simulated43:31:26, most likely 1-1
How BetChair calls it

Shown on the fixtures table (Line-up) and the slips once a teamsheet has been captured - about 75 minutes before kick-off - and recomputed with the final XI after the game. It does not vote in H:D:A, because the morning vote is settled long before teamsheets exist; think of it as the late check on the morning call. The full factor breakdown for a game is at the bottom of its line-ups popup.

Where it shines
  • The only model that knows a €20m striker is out, or that the manager was sacked on Tuesday.
  • Every factor is visible per game, so you can see why it moved.
  • The pieces (XI ratings, values, absentee lists, match log) are already collected for every game, so it calibrates itself over time.
Where it falls down
  • Only available from teamsheet time - useless for the morning look-ahead.
  • The effect sizes are sensible priors, not fitted yet: after a couple of months the match log will say what a missing €5m player is really worth.
  • Depends on the local line-up collector being awake for the teamsheet window; a missed window means no line-up call for that game.

See it on the fixtures table (tick the column under Columns → Predictions) and on every tips slip. Related: Poisson, xG model, Market & Value.