Serie A · Matchweek 32
HT 0:2
Davide Bartesaghi 27' (OG)
Jürgen Ekkelenkamp 37'
Arthur Atta 71'
Sat, 11 Apr 2026, 17:00 (UK) · Stadio Giuseppe Meazza, Milan
AC Milan 3rd · 63 pts|Udinese 11th → 10th · 43 pts

AC Milan edged xG (1.78–1.19) but Udinese took the win.

Player of the matchJürgen Ekkelenkamp9.1Decisive moment37' Jürgen Ekkelenkamp+0.7

AC Milan 0-3 Udinese

Key numbers

  • Possession 63% – 37%
  • Shots 20 (3 on target) – 12 (6)
  • Decisive moment: 37' Jürgen Ekkelenkamp, FN xPts +0.7
Player of the match
Jürgen Ekkelenkamp 9.1Dominant

Highest FN Score on the pitch: 9.1 (Dominant)

Game state

0-10-20-3
AC Milan ahead 0 min · level 27 min · Udinese ahead 63 min

FN xPts — what each moment was worth

How much each moment changed that team's expected points (win 3, draw 1). A goal's value is credited 70% to the scorer and 30% to the assist.

27' Davide Bartesaghi Own goal −0.8
37' Jürgen Ekkelenkamp Goal · scorer +0.5 · assist Nicolò Zaniolo +0.2 +0.7
71' Arthur Atta Goal · assist Jürgen Ekkelenkamp +0.1
AC Milan Expected (last two seasons) 1.9Own moments −0.8Opponent moments −0.6Time effect −0.5→ League points won 0
Udinese Expected (last two seasons) 0.9Own moments +0.8Opponent moments +0.9Time effect +0.4→ League points won 3

Expected points don't add up to a fixed total (a draw is 1 + 1), so an opponent's moment isn't simply the mirror of your loss. "Time effect" is the change as the clock runs down on a lead or a chase, and isn't credited to any player.

How FN Score and FN xPts work →

Match stats

AC MilanUdinese
63%Possession37%
1.78Expected goals (xG)1.19
0.09xG per shot0.1
20Shots12
3Shots on target6
15%Shots on target %50%
14Shots in box8
558Passes326
88%Pass accuracy83%
4Corners3
4Saves3
9Fouls14
1Yellow cards1
0Offsides0

Compared with usual

AC Milan

34 matches this season, all competitions baseline
This matchAvg
Goals01.5
Conceded30.74high
xG1.781.5
xG against1.191
Shots2014
On target34.6
Shots faced1210.7
xG per shot0.090.12
Possession63%53.6%
Passes558506.9
Pass accuracy88%87.5%
Corners44.9
Fouls910.2

Udinese

34 matches this season, all competitions baseline
This matchAvg
Goals31.1
Conceded01.3
xG1.190.96
xG against1.781.3
Shots1211.3
On target63.9
Shots faced2012.9
xG per shot0.10.09
Possession37%45.6%
Passes326366.9
Pass accuracy83%80.3%
Corners34.2
Fouls1413.7

Timeline

  • 16' Yellow Rafael Leão
  • 27' Goal Davide Bartesaghi (OG)
  • 37' Goal Jürgen Ekkelenkamp league goal #5 assist Nicolò Zaniolo
  • 46' Yellow Thomas Kristensen
  • 46' Sub Zachary Athekame → Niclas Füllkrug
  • 60' Sub Samuele Ricci → Youssouf Fofana
  • 66' Sub Nicolò Zaniolo → Jakub Piotrowski
  • 71' Goal Arthur Atta league goal #3 assist Jürgen Ekkelenkamp
  • 72' Sub Christian Pulisic → Christopher Nkunku
  • 72' Sub Luka Modrić → Ardon Jashari
  • 76' Sub Keinan Davis → Idrissa Gueye
  • 77' Sub Rafael Leão → Ruben Loftus-Cheek
  • 85' Sub Arthur Atta → Oier Zarraga
  • 86' Sub Jürgen Ekkelenkamp → Lennon Miller

Category leaders

  • Key passesAlexis Saelemaekers3
  • Duels wonAdrien Rabiot10/18
  • DribblesChristian Pulisic6/7
  • Defensive actionsOumar Solet9
  • ShotsRafael Leão4 (on target 0)
  • Fouls wonAdrien Rabiot4

Past-season matches are summarised from match data (API-Football) without a written review. FN Score and FN xPts are calculated by Fulltime Note using a published formula.