column: Line-up, LineupScoreshown 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
Start from the Poisson expected goals for the fixture (attack and defence strengths, home advantage, last-season prior).
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.
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?
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.
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.
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.
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 XI
rating 6.83 (−0.7%), value 97% of first choice (−0.5%), nobody missing → ×0.99
Away XI
rating 6.72 (−4.5%), value 94% of first choice (−0.9%), €4m striker suspended (−3%) → ×0.92
Context
derby: both ×0.93, draw +3 points; home manager appointed 5 days ago: home ×1.05
Simulated
43: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.