Serie A

Torino 1–2 AC Milan

Final score · Half-time 0–0 · All of yesterday's results

The sharp market makes AC Milan the most likely outcome at 54% — fair odds of 1.85. No soft bookmaker is offering more than that fair price right now, so there is no value here — the honest call is to pass. Recent form — Torino: DLWLD; AC Milan: LWLLD.

After the whistle

Match stats

Match statsTorinoAC Milan
Possession %4159
Expected goals (xG)1.292.15
Shots819
Shots on target14
Corners24
Yellow cards01
Red cards00
Fouls109
Offsides20
Goalkeeper saves20
Pass accuracy %8288

What the market said before kick-off

  • Torino win 21% did not happen
  • Draw 25% did not happen
  • AC Milan win 54% happened
  • Over 2.5 goals 42% happened
  • Both teams score 46% happened

Pinnacle closing price with the margin removed, next to what happened. It is the market's view, not a tip: an outcome priced at 30% happens about 3 times in 10.

Referee: Luca Zufferli, Italy · Venue: Stadio Olimpico Grande Torino, Turin

Next matches

Line-ups, events and match stats: API-Football.

Starting line-ups

Torino 3-4-2-1

  1. Diego Mascardi GK
  2. Pietro Comuzzo DF
  3. Ardian Ismajli DF
  4. Saúl Coco DF
  5. Marcus Pedersen MF
  6. Gvidas Gineitis MF
  7. Kian Fitz-Jim MF
  8. Alessio Cacciamani MF
  9. Cesare Casadei FW
  10. Nikola Vlašić FW
  11. Giovanni Simeone FW

AC Milan 3-4-2-1

  1. Mike Maignan GK
  2. Mario Gila DF
  3. Koni De Winter DF
  4. Strahinja Pavlović DF
  5. Samuel Chukwueze MF
  6. Yunus Musah MF
  7. Ardon Jashari MF
  8. Pervis Estupiñán MF
  9. Alphadjo Cissè FW
  10. Ruben Loftus-Cheek FW
  11. Gonçalo Ramos FW

The most likely result is not the same as value: value is where a bookmaker pays more than the fair price, and the two can point to different outcomes.

Value check before kick-off

No value

No value was flagged for this match: before kick-off, no bookmaker price we saw beat the fair price under our rule.

Most likely result

X/2 Draw or away 79%

When no single result is likely enough, our pick covers the two most probable outcomes (double chance).

1X2
Sharp, recorded21%25%54%
Other estimates
Our model31%25%44%

Sharp, recorded = Pinnacle when we logged the match (it can be days old). Our model = our own estimate, which on average predicts worse than the market.

Fair odds of the pick (as recorded) 1.26
Sharp odds recorded for this prediction (Pinnacle) 4.42 / 3.71 / 1.79
Market Gap —
Confidence —
Prediction result Won · 2

Match context

The last 5 head-to-head meetings we tracked split 2–1–2 (Torino wins – draws – AC Milan wins).

Torino scored 1.4 and conceded 1.8 across their last 5 matches in our results database; AC Milan scored 1 and conceded 1.6 in 5.

These figures come from our own tracked results and odds snapshots for this fixture — not from a generic stats feed.

Why this price?

Torino
D L W L D
avg 1.4 scored · 1.8 conceded (last 5)
AC Milan
L W L L D
avg 1 scored · 1.6 conceded (last 5)
Recent head-to-head
21 Mar 2026 AC Milan 3–2 Torino
08 Dec 2025 Torino 2–3 AC Milan
22 Feb 2025 Torino 2–1 AC Milan
17 Aug 2024 AC Milan 2–2 Torino
18 May 2024 Torino 3–1 AC Milan

Recent form and head-to-head from our settled results — context behind the fair price. The price itself comes from the sharp market, not from these alone.

Public, timestamped record

Logged before kick-off
Prediction record
Pick X/2 · Draw or away
Odds recorded for the prediction 1.21
Closing odds 1.21
Prediction CLV +0.0%
Result Won
Prediction hash — integrity fingerprint 6d19ebc65a97a284

This hash fingerprints the prediction as recorded: teams, kick-off time, our model probabilities, the Pinnacle prices recorded for it (at logging or, if there were none, the first quoted after logging and before kick-off, which can be written in after the match) and the log time. A later edit to any of them would change it (a rescheduled kick-off changes it too). It does not cover closing prices, the result or the value-bet record above; value flags recorded live have their own seal in the public record. Verify in the public record →

Every day a snapshot of the full public record is published to a public Git repository and timestamped with OpenTimestamps. Timestamped snapshots are never overwritten and the Git history shows any difference, so a later change to a past row is visible by comparing two snapshots. The corrections file lists the corrections we announced. Verify on the public log →

Since 20 June 2026 the public record is snapshotted daily (07:40 Bucharest time: 04:40 UTC in summer time, 05:40 UTC in winter) to an external log. A prediction is externally timestamped before kick-off only if it was in a snapshot taken before the match; predictions logged on match day, or whose Pinnacle price was added after logging, first appear there after kick-off. Value flags have been recorded live only since 26 September 2026; earlier value flags were reconstructed on that date.

Methodology

The fair price comes from the sharp market itself: we strip the margin from Pinnacle-style odds — the most accurate public predictor in existence — and use our calibrated Elo + form model as a cross-check and as the fallback where no sharp price exists. Value is flagged only where a softer bookmaker prices a selection above that fair price, never on long shots (implied probability under 30%), and never beyond a plausible band. Most of the time there is no value — and we say so.

Found this useful? Send it to a friend who bets.