Toulouse vs Lyon: model prediction
Over 1.5 goals
Toulouse or draw
Draw or Lyon
Full time0 of 2 calls right
Our most likely call was Toulouse at 38.4%, and it was wrong. We called Over 2.5 at 51.8% and it missed (2 goals). We called Yes at 56.3% and it missed.
Judged against the prediction this page published before kickoff. Right or wrong, it stays on the record.
Prediction summary
Top 3 convictions
Model read
▾
The probabilities barely separate Toulouse and Lyon on 22 August 2026: Toulouse nose ahead at 38%. Our number sits above the market's 34% for Toulouse. The gap itself is information. Totals sit close to the fence: 52% for Over 2.5 with both teams to score at 56%. Recent form reads W2 D2 L2 for Toulouse against W4 D0 L2 for Lyon. The recent series reads 2 wins for Toulouse, 1 draws and 2 for Lyon over 5 games, 2.8 goals on average. Conditions could matter: the forecast says 28 degrees of heat. Zakaria Aboukhlal drives the home shot volume, 1.2 on target per 90. The engine passes on this one (outside trust zone (model prob 0.38, zone (0.45, 0.7))).
Value & higher-risk angles
Lower-probability calls our model rates above the obvious price; random finds are high-return scorelines that can happen. Higher risk, not a tip; we never beat the sharp market.
Model vs market
38.4%+4.4%
26.1%-1.7%
35.5%-2.7%
outside trust zone (model prob 0.38, zone (0.45, 0.7))
Goals markets
Strong chance
Good chance
Good chance
Corners markets
Strong chance
Reasonable chance
Toss-up
Low chance
Shots markets
Strong chance
Reasonable chance
Toss-up
Low chance
Totals line guide
Before kick-off our call was Fairly priced. The match has been played, so this is a historical snapshot: the graded result is below.
Form & head-to-head
Last 5 meetings: Toulouse 2 · 1 draws · Lyon 2 · 2.8 goals/game.
Season stats
Season 2025/26, real results only
52.9%55.9%
47.1%50.0%
29.4%44.1%
League averages this season: 2.82 goals per match · Over 2.5 in 53% · BTTS in 51%. Full league tables & stats →
Players to watch
Top 3 per side by recent form, this season’s squad only, a watch list, not a confirmed lineup
@ 4.12
@ 1.62
@ 1.46
@ 3.73
@ 1.27
@ 1.23
@ 4.33
@ 1.98
@ 1.77
@ 3.42
@ 1.77
@ 1.89
@ 5.18
@ 1.96
@ 1.88
@ 2.53
@ 1.41
@ 1.71
Bookmaker odds
Real bookmaker price (Bet365) next to our model fair price. Bookmaker prices include the bookmaker margin, so our margin-free fair price usually looks longer. We do not claim to beat the closing market.
Model fair odds
Our calibrated probability as a decimal price (1 divided by probability). A fair model price, not a bookmaker quote.
Match result
Goals
Corners
Cards
Shots on target
Shots
Fouls
All model outcomes · full market spectrum & player markets
Shots on target
| Over 6.5 | 75.6% | Over 7.5 | 64.0% | Over 8.5 | 51.6% | Over 9.5 | 39.6% |
|---|---|---|---|---|---|---|---|
| Most: Toulouse | 50.6% | Most: Lyon | 36.9% | ||||
| Toulouse Over 4.2 | 49.6% | Lyon Over 4.2 | 39.7% |
Cards
| Over 2.5 | 76.4% | Over 3.5 | 57.0% | Over 4.5 | 37.4% |
|---|---|---|---|---|---|
| Most: Toulouse | 43.7% | Most: Lyon | 35.7% | ||
| Toulouse Over 1.8 | 62.4% | Lyon Over 1.8 | 56.7% |
Toulouse: players to watch (recent-form projection)
O/U = Poisson on per-90 rates scaled to the player’s expected minutes · this season’s squad, a recent-form projection, not a confirmed lineup.
| Player | Shots/90 | SoT/90 | Goals/90 | 1+ SoT | 2+ shots | To score |
|---|---|---|---|---|---|---|
| Zakaria Aboukhlal | 2.88 | 1.17 | 0.34 | 61.7% | 68.3% | 24.3% |
| Emersonn | 3.03 | 1.13 | 0.42 | 50.6% | 56.4% | 23.1% |
| Joshua King | 2.67 | 1.07 | 0.32 | 51.1% | 53.3% | 19.3% |
| Frank Magri | 2.45 | 0.96 | 0.33 | 46.1% | 46.7% | 19.1% |
| Pape Diop | 2.2 | 0.83 | 0.08 | 51.8% | 57.6% | 6.8% |
Lyon: players to watch (recent-form projection)
O/U = Poisson on per-90 rates scaled to the player’s expected minutes · this season’s squad, a recent-form projection, not a confirmed lineup.
| Player | Shots/90 | SoT/90 | Goals/90 | 1+ SoT | 2+ shots | To score |
|---|---|---|---|---|---|---|
| Endrick | 3.53 | 1.8 | 0.36 | 79.0% | 81.0% | 26.8% |
| Georges Mikautadze | 3.75 | 1.76 | 0.73 | 56.4% | 52.8% | 29.2% |
| Alexandre Lacazette | 2.54 | 1.59 | 0.65 | 70.8% | 58.5% | 39.6% |
| Ernest Nuamah | 2.68 | 1.2 | 0.28 | 40.5% | 32.3% | 11.4% |
| Pavel Sulc | 2.54 | 0.98 | 0.58 | 46.7% | 48.6% | 31.1% |
Clean sheet & win to nil
| Toulouse clean sheet | 26.3% |
|---|---|
| Lyon clean sheet | 24.3% |
| Toulouse win to nil | 19.2% |
| Lyon win to nil | 17.3% |
Derived from the model score matrix above: a clean sheet is every scoreline where the opponent is on zero. Calibration-graded, not a tip.
Full market spectrum · model probabilities
Calibration-graded model %, no odds attached. Niche markets are transparency/coverage, not a claimed edge. Colour = measured out-of-sample calibration.
Match result & goals calibrated
1×2
| home | 38.4% | draw | 26.7% | away | 34.9% |
|---|---|---|---|---|---|
double_chance
| 1X | 65.1% | 12 | 73.3% | X2 | 61.7% |
|---|---|---|---|---|---|
dnb
| home | 52.3% | away | 47.7% |
|---|
btts
| yes | 56.3% | no | 43.7% |
|---|
clean_sheet
| home | 26.4% | away | 24.4% |
|---|
win_to_nil
| home | 19.3% | away | 17.4% |
|---|
winning_margin
| home_by_1 | 20.1% | home_by_2 | 11.5% | home_by_3plus | 6.8% |
|---|---|---|---|---|---|
| away_by_1 | 19.0% | away_by_2 | 10.3% | away_by_3plus | 5.7% |
correct_score
| 0-0 | 7.0% | 0-1 | 8.0% | 0-2 | 5.7% |
|---|---|---|---|---|---|
| 0-3 | 2.6% | 0-4 | 0.9% | 0-5 | 0.2% |
| 1-0 | 8.5% | 1-1 | 12.7% | 1-2 | 8.1% |
| 1-3 | 3.6% | 1-4 | 1.2% | 1-5 | 0.3% |
| 2-0 | 6.4% | 2-1 | 8.5% | 2-2 | 5.7% |
| 2-3 | 2.5% | 2-4 | 0.9% | 2-5 | 0.2% |
| 3-0 | 3.0% | 3-1 | 4.0% | 3-2 | 2.7% |
| 3-3 | 1.2% | 3-4 | 0.4% | 3-5 | 0.1% |
| 4-0 | 1.1% | 4-1 | 1.4% | 4-2 | 0.9% |
| 4-3 | 0.4% | 4-4 | 0.1% | 4-5 | 0.0% |
| 5-0 | 0.3% | 5-1 | 0.4% | 5-2 | 0.3% |
| 5-3 | 0.1% | 5-4 | 0.0% | 5-5 | 0.0% |
| other | 0.6% |
likeliest_score
| h | 100.0% | a | 100.0% | p | 12.7% |
|---|---|---|---|---|---|
Goals: totals / handicap / exact calibrated
total
| over_0.5 | 93.0% | under_0.5 | 7.0% | over_1.5 | 76.6% |
|---|---|---|---|---|---|
| under_1.5 | 23.5% | over_2.5 | 51.8% | under_2.5 | 48.2% |
| over_3.5 | 29.6% | under_3.5 | 70.4% | over_4.5 | 14.4% |
| under_4.5 | 85.6% | over_5.5 | 6.1% | under_5.5 | 93.9% |
odd_even
| odd | 48.6% | even | 51.4% |
|---|
team_home
| over_0.5 | 75.6% | under_0.5 | 24.4% | over_1.5 | 41.2% |
|---|---|---|---|---|---|
| under_1.5 | 58.8% | over_2.5 | 16.9% | under_2.5 | 83.1% |
team_away
| over_0.5 | 73.6% | under_0.5 | 26.4% | over_1.5 | 38.6% |
|---|---|---|---|---|---|
| under_1.5 | 61.4% | over_2.5 | 15.2% | under_2.5 | 84.8% |
most
| home | 38.4% | draw | 26.7% | away | 34.9% |
|---|---|---|---|---|---|
handicap
| home_-2.5 | 6.8% | away_+2.5 | 93.2% | home_-1.5 | 18.2% |
|---|---|---|---|---|---|
| away_+1.5 | 81.8% | home_-0.5 | 38.4% | away_+0.5 | 61.7% |
| home_+0.5 | 65.1% | away_-0.5 | 34.9% | home_+1.5 | 84.1% |
| away_-1.5 | 15.9% | home_+2.5 | 94.3% | away_-2.5 | 5.7% |
total_exact
| exact_0 | 7.0% | exact_1 | 16.4% | exact_2 | 24.8% |
|---|---|---|---|---|---|
| exact_3 | 22.1% | exact_4 | 15.2% | exact_5 | 8.4% |
| exact_6 | 3.8% | exact_7plus | 2.2% |
First half range, not a point
1×2
| home | 25.1% | draw | 40.9% | away | 34.0% |
|---|---|---|---|---|---|
total
| over_0.5 | 71.2% | under_0.5 | 28.8% | over_1.5 | 35.3% |
|---|---|---|---|---|---|
| under_1.5 | 64.7% | over_2.5 | 13.0% | under_2.5 | 87.0% |
btts
| yes | 21.2% | no | 78.8% |
|---|
total_exact
| exact_0 | 28.8% | exact_1 | 35.9% | exact_2 | 22.3% |
|---|---|---|---|---|---|
| exact_3 | 9.3% | exact_4plus | 3.8% |
Second half range, not a point
1×2
| home | 34.9% | draw | 35.8% | away | 29.3% |
|---|---|---|---|---|---|
total
| over_0.5 | 79.0% | under_0.5 | 21.0% | over_1.5 | 46.2% |
|---|---|---|---|---|---|
| under_1.5 | 53.8% | over_2.5 | 20.7% | under_2.5 | 79.3% |
btts
| yes | 29.2% | no | 70.8% |
|---|
Half-time / full-time range, not a point
| H/H | 19.0% | H/D | 4.3% | H/A | 1.8% |
|---|---|---|---|---|---|
| D/H | 14.3% | D/D | 14.6% | D/A | 12.0% |
| A/H | 3.0% | A/D | 6.3% | A/A | 24.6% |
Corners range, not a point
total
| over_7.5 | 73.8% | under_7.5 | 26.2% | over_8.5 | 62.5% |
|---|---|---|---|---|---|
| under_8.5 | 37.6% | over_9.5 | 50.4% | under_9.5 | 49.6% |
| over_10.5 | 38.8% | under_10.5 | 61.2% | over_11.5 | 28.4% |
| under_11.5 | 71.6% | over_12.5 | 19.9% | under_12.5 | 80.1% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_3.5 | 74.4% | under_3.5 | 25.6% | over_4.5 | 59.4% |
|---|---|---|---|---|---|
| under_4.5 | 40.6% | over_5.5 | 44.2% | under_5.5 | 55.8% |
team_away
| over_3.5 | 60.7% | under_3.5 | 39.3% | over_4.5 | 43.6% |
|---|---|---|---|---|---|
| under_4.5 | 56.5% | over_5.5 | 28.7% | under_5.5 | 71.3% |
most
| home | 55.2% | draw | 10.6% | away | 34.3% |
|---|---|---|---|---|---|
handicap
| home_-3.5 | 24.7% | away_+3.5 | 75.3% | home_-1.5 | 44.3% |
|---|---|---|---|---|---|
| away_+1.5 | 55.7% | home_-0.5 | 55.2% | away_+0.5 | 44.8% |
| home_+0.5 | 65.7% | away_-0.5 | 34.3% | home_+1.5 | 75.2% |
| away_-1.5 | 24.8% | home_+3.5 | 89.0% | away_-3.5 | 11.0% |
Shots range, not a point
total
| over_22.5 | 61.4% | under_22.5 | 38.6% | over_24.5 | 48.7% |
|---|---|---|---|---|---|
| under_24.5 | 51.3% | over_26.5 | 36.5% | under_26.5 | 63.5% |
| over_28.5 | 25.7% | under_28.5 | 74.3% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_10.5 | 72.8% | under_10.5 | 27.2% | over_12.5 | 56.3% |
|---|---|---|---|---|---|
| under_12.5 | 43.7% | over_14.5 | 39.7% | under_14.5 | 60.3% |
team_away
| over_10.5 | 52.0% | under_10.5 | 48.0% | over_12.5 | 33.8% |
|---|---|---|---|---|---|
| under_12.5 | 66.2% | over_14.5 | 19.7% | under_14.5 | 80.3% |
most
| home | 62.6% | draw | 6.0% | away | 31.5% |
|---|---|---|---|---|---|
handicap
| home_-4.5 | 37.2% | away_+4.5 | 62.8% | home_-2.5 | 49.8% |
|---|---|---|---|---|---|
| away_+2.5 | 50.2% | home_-0.5 | 62.6% | away_+0.5 | 37.4% |
| home_+0.5 | 68.5% | away_-0.5 | 31.5% | home_+2.5 | 79.0% |
| away_-2.5 | 21.0% | home_+4.5 | 87.1% | away_-4.5 | 12.9% |
Shots on target range, not a point
total
| over_6.5 | 75.6% | under_6.5 | 24.4% | over_7.5 | 64.0% |
|---|---|---|---|---|---|
| under_7.5 | 36.0% | over_8.5 | 51.6% | under_8.5 | 48.4% |
| over_9.5 | 39.6% | under_9.5 | 60.5% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_3.5 | 66.8% | under_3.5 | 33.2% | over_4.5 | 49.6% |
|---|---|---|---|---|---|
| under_4.5 | 50.4% | over_5.5 | 33.8% | under_5.5 | 66.2% |
team_away
| over_3.5 | 57.7% | under_3.5 | 42.3% | over_4.5 | 39.7% |
|---|---|---|---|---|---|
| under_4.5 | 60.3% | over_5.5 | 24.9% | under_5.5 | 75.1% |
most
| home | 50.6% | draw | 12.5% | away | 36.9% |
|---|---|---|---|---|---|
handicap
| home_-2.5 | 26.9% | away_+2.5 | 73.1% | home_-0.5 | 50.6% |
|---|---|---|---|---|---|
| away_+0.5 | 49.4% | home_+0.5 | 63.1% | away_-0.5 | 36.9% |
| home_+2.5 | 83.3% | away_-2.5 | 16.7% |
Cards calibrated
total
| over_2.5 | 76.4% | under_2.5 | 23.6% | over_3.5 | 57.0% |
|---|---|---|---|---|---|
| under_3.5 | 43.0% | over_4.5 | 37.4% | under_4.5 | 62.6% |
| over_5.5 | 21.7% | under_5.5 | 78.3% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_1.5 | 62.4% | under_1.5 | 37.6% | over_2.5 | 35.4% |
|---|---|---|---|---|---|
| under_2.5 | 64.6% |
team_away
| over_1.5 | 56.7% | under_1.5 | 43.3% | over_2.5 | 29.7% |
|---|---|---|---|---|---|
| under_2.5 | 70.3% |
most
| home | 43.7% | draw | 20.6% | away | 35.7% |
|---|---|---|---|---|---|
handicap
| home_-1.5 | 25.0% | away_+1.5 | 75.0% | home_-0.5 | 43.7% |
|---|---|---|---|---|---|
| away_+0.5 | 56.3% | home_+0.5 | 64.3% | away_-0.5 | 35.7% |
| home_+1.5 | 81.2% | away_-1.5 | 18.9% |
Fouls calibrated
total
| over_20.5 | 78.2% | under_20.5 | 21.8% | over_22.5 | 65.8% |
|---|---|---|---|---|---|
| under_22.5 | 34.2% | over_24.5 | 51.9% | under_24.5 | 48.1% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_9.5 | 81.9% | under_9.5 | 18.1% | over_11.5 | 65.2% |
|---|---|---|---|---|---|
| under_11.5 | 34.8% | over_13.5 | 46.2% | under_13.5 | 53.8% |
team_away
| over_9.5 | 69.7% | under_9.5 | 30.3% | over_11.5 | 49.2% |
|---|---|---|---|---|---|
| under_11.5 | 50.8% | over_13.5 | 30.2% | under_13.5 | 69.8% |
most
| home | 58.0% | draw | 6.8% | away | 35.2% |
|---|---|---|---|---|---|
handicap
| home_-3.5 | 37.1% | away_+3.5 | 62.9% | home_-0.5 | 58.0% |
|---|---|---|---|---|---|
| away_+0.5 | 42.0% | home_+2.5 | 76.9% | away_-2.5 | 23.1% |
Red card range, not a point
any
| yes | 26.2% | no | 73.8% |
|---|
home
| yes | 18.5% | no | 81.5% |
|---|
away
| yes | 9.4% | no | 90.6% |
|---|
How this works (honestly)
We are transparent about our method, our limits and how we measure performance.
Results, odds & closing prices, xG, shots, lineups, referee and schedule load.
Dixon-Coles + an xG strength model + champion/challenger selection + probability calibration + a trust gate.
We do not beat the sharp market. The value is honest probabilities, No-bet calls and CLV.
Top-pick hit rate 47.7% (reliability, not edge). Calibration error 0.0095 (55261 matches).
More: Toulouse predictions · Lyon predictions · Ligue 1
Not financial advice. No model beats the sharp closing market on public data. The value here is honest probabilities, No-bet calls, and CLV history.
Explore this match
Markets

