FC Koln vs Hoffenheim: model prediction
Over 1.5 goals
Both teams to score
Over 2.5 goals
Full time2 of 2 calls right
Our most likely call was Hoffenheim at 38.3%, and it was wrong. We called Over 2.5 at 64.7% and it landed (5 goals). We called Yes at 66.2% and it landed.
Judged against the prediction this page published before kickoff. Right or wrong, it stays on the record.
Prediction summary
Top 3 convictions
Model read
▾
Expect a tight one: the model splits FC Koln and Hoffenheim almost evenly, Hoffenheim marginally on top at 38%. Three angles decide this preview: 1) Worth knowing: bookmakers rate Hoffenheim higher (42%) than our model does. 2) The goals profile is lively: Over 2.5 sits at 65% with both teams to score at 66%. 3) The recent series reads 2 wins for FC Koln, 2 draws and 1 for Hoffenheim over 5 games, 3.0 goals on average. Recent form reads W1 D2 L3 for FC Koln against W3 D2 L1 for Hoffenheim. Verdict: no bet. 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
37.9%+5.1%
23.8%-1.0%
38.3%-4.1%
outside trust zone (model prob 0.38, zone (0.45, 0.7))
Goals markets
High probability
Strong chance
Strong chance
Corners markets
Strong chance
Good chance
Toss-up
Toss-up
Shots markets
Strong chance
Good chance
Reasonable chance
Toss-up
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: FC Koln 2 · 2 draws · Hoffenheim 1 · 3.0 goals/game.
Season stats
Season 2025/26, real results only
64.7%70.6%
79.4%64.7%
8.8%20.6%
League averages this season: 3.24 goals per match · Over 2.5 in 64% · BTTS in 62%. 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.37
@ 1.86
@ 1.79
@ 7.87
@ 2.74
@ 2.53
@ 3.83
@ 1.75
@ 1.55
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 | 81.3% | Over 7.5 | 71.4% | Over 8.5 | 60.1% | Over 9.5 | 48.4% |
|---|---|---|---|---|---|---|---|
| Most: FC Koln | 56.2% | Most: Hoffenheim | 32.4% | ||||
| FC Koln Over 4.2 | 59.1% | Hoffenheim Over 4.2 | 41.9% |
Cards
| Over 2.5 | 76.7% | Over 3.5 | 57.4% | Over 4.5 | 37.9% |
|---|---|---|---|---|---|
| Most: FC Koln | 30.4% | Most: Hoffenheim | 49.5% | ||
| FC Koln Over 1.8 | 52.8% | Hoffenheim Over 1.8 | 66.2% |
Hoffenheim: 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 |
|---|---|---|---|---|---|---|
| Adam Hlozek | 2.81 | 1.16 | 0.39 | 53.8% | 55.8% | 22.9% |
| Haris Tabakovic | 3.42 | 1.14 | 0.34 | 36.5% | 39.5% | 12.7% |
| Fisnik Asllani | 2.7 | 1.04 | 0.37 | 57.3% | 64.7% | 26.1% |
| Andrej Kramaric | 2.36 | 1 | 0.4 | 57.2% | 59.5% | 28.8% |
| Max Moerstedt | 1.97 | 0.93 | 0.23 | 21.6% | 9.5% | 5.8% |
Clean sheet & win to nil
| FC Koln clean sheet | 18.5% |
|---|---|
| Hoffenheim clean sheet | 19.1% |
| FC Koln win to nil | 14.4% |
| Hoffenheim win to nil | 15.1% |
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 | 37.2% | draw | 23.9% | away | 38.9% |
|---|---|---|---|---|---|
double_chance
| 1X | 61.1% | 12 | 76.1% | X2 | 62.8% |
|---|---|---|---|---|---|
dnb
| home | 48.9% | away | 51.1% |
|---|
btts
| yes | 66.2% | no | 33.8% |
|---|
clean_sheet
| home | 18.6% | away | 19.3% |
|---|
win_to_nil
| home | 14.5% | away | 15.2% |
|---|
winning_margin
| home_by_1 | 18.3% | home_by_2 | 11.2% | home_by_3plus | 7.7% |
|---|---|---|---|---|---|
| away_by_1 | 18.8% | away_by_2 | 11.7% | away_by_3plus | 8.5% |
correct_score
| 0-0 | 4.1% | 0-1 | 5.5% | 0-2 | 5.1% |
|---|---|---|---|---|---|
| 0-3 | 2.9% | 0-4 | 1.2% | 0-5 | 0.4% |
| 1-0 | 5.4% | 1-1 | 10.4% | 1-2 | 8.3% |
| 1-3 | 4.7% | 1-4 | 2.0% | 1-5 | 0.7% |
| 2-0 | 4.9% | 2-1 | 8.1% | 2-2 | 6.9% |
| 2-3 | 3.9% | 2-4 | 1.6% | 2-5 | 0.6% |
| 3-0 | 2.7% | 3-1 | 4.5% | 3-2 | 3.8% |
| 3-3 | 2.1% | 3-4 | 0.9% | 3-5 | 0.3% |
| 4-0 | 1.1% | 4-1 | 1.8% | 4-2 | 1.6% |
| 4-3 | 0.9% | 4-4 | 0.4% | 4-5 | 0.1% |
| 5-0 | 0.4% | 5-1 | 0.6% | 5-2 | 0.5% |
| 5-3 | 0.3% | 5-4 | 0.1% | 5-5 | 0.0% |
| other | 1.5% |
likeliest_score
| h | 100.0% | a | 100.0% | p | 10.4% |
|---|---|---|---|---|---|
Goals: totals / handicap / exact calibrated
total
| over_0.5 | 95.9% | under_0.5 | 4.1% | over_1.5 | 85.0% |
|---|---|---|---|---|---|
| under_1.5 | 15.0% | over_2.5 | 64.7% | under_2.5 | 35.3% |
| over_3.5 | 42.7% | under_3.5 | 57.3% | over_4.5 | 24.4% |
| under_4.5 | 75.6% | over_5.5 | 12.1% | under_5.5 | 87.9% |
odd_even
| odd | 48.9% | even | 51.1% |
|---|
team_home
| over_0.5 | 80.7% | under_0.5 | 19.3% | over_1.5 | 48.9% |
|---|---|---|---|---|---|
| under_1.5 | 51.1% | over_2.5 | 22.8% | under_2.5 | 77.2% |
team_away
| over_0.5 | 81.4% | under_0.5 | 18.6% | over_1.5 | 50.2% |
|---|---|---|---|---|---|
| under_1.5 | 49.8% | over_2.5 | 24.0% | under_2.5 | 76.0% |
most
| home | 37.2% | draw | 23.9% | away | 38.9% |
|---|---|---|---|---|---|
handicap
| home_-2.5 | 7.7% | away_+2.5 | 92.3% | home_-1.5 | 18.9% |
|---|---|---|---|---|---|
| away_+1.5 | 81.1% | home_-0.5 | 37.2% | away_+0.5 | 62.8% |
| home_+0.5 | 61.1% | away_-0.5 | 38.9% | home_+1.5 | 79.8% |
| away_-1.5 | 20.2% | home_+2.5 | 91.6% | away_-2.5 | 8.5% |
total_exact
| exact_0 | 4.1% | exact_1 | 10.9% | exact_2 | 20.3% |
|---|---|---|---|---|---|
| exact_3 | 22.0% | exact_4 | 18.3% | exact_5 | 12.2% |
| exact_6 | 6.8% | exact_7plus | 5.4% |
First half range, not a point
1×2
| home | 27.0% | draw | 33.6% | away | 39.4% |
|---|---|---|---|---|---|
total
| over_0.5 | 81.9% | under_0.5 | 18.1% | over_1.5 | 50.9% |
|---|---|---|---|---|---|
| under_1.5 | 49.1% | over_2.5 | 24.5% | under_2.5 | 75.5% |
btts
| yes | 32.5% | no | 67.5% |
|---|
total_exact
| exact_0 | 18.1% | exact_1 | 31.0% | exact_2 | 26.4% |
|---|---|---|---|---|---|
| exact_3 | 15.0% | exact_4plus | 9.4% |
Second half range, not a point
1×2
| home | 33.6% | draw | 33.6% | away | 32.8% |
|---|---|---|---|---|---|
total
| over_0.5 | 82.5% | under_0.5 | 17.5% | over_1.5 | 51.9% |
|---|---|---|---|---|---|
| under_1.5 | 48.1% | over_2.5 | 25.4% | under_2.5 | 74.6% |
btts
| yes | 33.8% | no | 66.2% |
|---|
Half-time / full-time range, not a point
| H/H | 20.1% | H/D | 4.7% | H/A | 2.3% |
|---|---|---|---|---|---|
| D/H | 11.3% | D/D | 11.3% | D/A | 11.0% |
| A/H | 3.2% | A/D | 6.4% | A/A | 29.8% |
Corners range, not a point
total
| over_7.5 | 75.0% | under_7.5 | 25.0% | over_8.5 | 63.9% |
|---|---|---|---|---|---|
| under_8.5 | 36.1% | over_9.5 | 52.0% | under_9.5 | 48.0% |
| over_10.5 | 40.3% | under_10.5 | 59.7% | over_11.5 | 29.8% |
| under_11.5 | 70.2% | over_12.5 | 21.1% | under_12.5 | 78.9% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_3.5 | 74.0% | under_3.5 | 26.1% | over_4.5 | 58.9% |
|---|---|---|---|---|---|
| under_4.5 | 41.1% | over_5.5 | 43.7% | under_5.5 | 56.3% |
team_away
| over_3.5 | 63.2% | under_3.5 | 36.8% | over_4.5 | 46.3% |
|---|---|---|---|---|---|
| under_4.5 | 53.7% | over_5.5 | 31.3% | under_5.5 | 68.7% |
most
| home | 53.0% | draw | 10.5% | away | 36.4% |
|---|---|---|---|---|---|
handicap
| home_-3.5 | 23.3% | away_+3.5 | 76.7% | home_-1.5 | 42.3% |
|---|---|---|---|---|---|
| away_+1.5 | 57.7% | home_-0.5 | 53.0% | away_+0.5 | 47.0% |
| home_+0.5 | 63.6% | away_-0.5 | 36.4% | home_+1.5 | 73.2% |
| away_-1.5 | 26.8% | home_+3.5 | 87.6% | away_-3.5 | 12.4% |
Shots range, not a point
total
| over_22.5 | 69.2% | under_22.5 | 30.8% | over_24.5 | 57.5% |
|---|---|---|---|---|---|
| under_24.5 | 42.6% | over_26.5 | 45.3% | under_26.5 | 54.7% |
| over_28.5 | 33.9% | under_28.5 | 66.1% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_10.5 | 76.8% | under_10.5 | 23.2% | over_12.5 | 61.7% |
|---|---|---|---|---|---|
| under_12.5 | 38.3% | over_14.5 | 45.7% | under_14.5 | 54.4% |
team_away
| over_10.5 | 58.5% | under_10.5 | 41.5% | over_12.5 | 40.6% |
|---|---|---|---|---|---|
| under_12.5 | 59.4% | over_14.5 | 25.5% | under_14.5 | 74.5% |
most
| home | 61.8% | draw | 5.7% | away | 32.5% |
|---|---|---|---|---|---|
handicap
| home_-4.5 | 37.6% | away_+4.5 | 62.4% | home_-2.5 | 49.7% |
|---|---|---|---|---|---|
| away_+2.5 | 50.3% | home_-0.5 | 61.8% | away_+0.5 | 38.2% |
| home_+0.5 | 67.5% | away_-0.5 | 32.5% | home_+2.5 | 77.7% |
| away_-2.5 | 22.3% | home_+4.5 | 85.8% | away_-4.5 | 14.2% |
Shots on target range, not a point
total
| over_6.5 | 81.3% | under_6.5 | 18.7% | over_7.5 | 71.4% |
|---|---|---|---|---|---|
| under_7.5 | 28.6% | over_8.5 | 60.1% | under_8.5 | 39.9% |
| over_9.5 | 48.4% | under_9.5 | 51.6% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_3.5 | 74.4% | under_3.5 | 25.6% | over_4.5 | 59.1% |
|---|---|---|---|---|---|
| under_4.5 | 40.9% | over_5.5 | 43.6% | under_5.5 | 56.4% |
team_away
| over_3.5 | 59.6% | under_3.5 | 40.4% | over_4.5 | 41.9% |
|---|---|---|---|---|---|
| under_4.5 | 58.1% | over_5.5 | 27.0% | under_5.5 | 73.0% |
most
| home | 56.2% | draw | 11.4% | away | 32.4% |
|---|---|---|---|---|---|
handicap
| home_-2.5 | 33.0% | away_+2.5 | 67.0% | home_-0.5 | 56.2% |
|---|---|---|---|---|---|
| away_+0.5 | 43.8% | home_+0.5 | 67.6% | away_-0.5 | 32.4% |
| home_+2.5 | 85.4% | away_-2.5 | 14.6% |
Cards calibrated
total
| over_2.5 | 76.8% | under_2.5 | 23.3% | over_3.5 | 57.4% |
|---|---|---|---|---|---|
| under_3.5 | 42.6% | over_4.5 | 37.9% | under_4.5 | 62.1% |
| over_5.5 | 22.1% | under_5.5 | 77.9% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_1.5 | 52.8% | under_1.5 | 47.2% | over_2.5 | 26.1% |
|---|---|---|---|---|---|
| under_2.5 | 73.9% |
team_away
| over_1.5 | 66.2% | under_1.5 | 33.8% | over_2.5 | 39.6% |
|---|---|---|---|---|---|
| under_2.5 | 60.4% |
most
| home | 30.4% | draw | 20.0% | away | 49.5% |
|---|---|---|---|---|---|
handicap
| home_-1.5 | 15.2% | away_+1.5 | 84.9% | home_-0.5 | 30.4% |
|---|---|---|---|---|---|
| away_+0.5 | 69.6% | home_+0.5 | 50.5% | away_-0.5 | 49.5% |
| home_+1.5 | 70.1% | away_-1.5 | 29.9% |
Fouls calibrated
total
| over_20.5 | 47.4% | under_20.5 | 52.6% | over_22.5 | 35.6% |
|---|---|---|---|---|---|
| under_22.5 | 64.4% | over_24.5 | 25.4% | under_24.5 | 74.6% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_9.5 | 39.4% | under_9.5 | 60.6% | over_11.5 | 23.7% |
|---|---|---|---|---|---|
| under_11.5 | 76.3% | over_13.5 | 13.0% | under_13.5 | 87.0% |
team_away
| over_9.5 | 64.1% | under_9.5 | 35.9% | over_11.5 | 47.7% |
|---|---|---|---|---|---|
| under_11.5 | 52.3% | over_13.5 | 32.9% | under_13.5 | 67.1% |
most
| home | 29.9% | draw | 5.9% | away | 64.2% |
|---|---|---|---|---|---|
handicap
| home_-3.5 | 15.5% | away_+3.5 | 84.5% | home_-0.5 | 29.9% |
|---|---|---|---|---|---|
| away_+0.5 | 70.1% | home_+2.5 | 48.4% | away_-2.5 | 51.6% |
Red card range, not a point
any
| yes | 22.0% | no | 78.0% |
|---|
home
| yes | 11.4% | no | 88.6% |
|---|
away
| yes | 12.0% | no | 88.0% |
|---|
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: FC Koln predictions · Hoffenheim predictions · Bundesliga
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

