The Eredivisie weekend in nine graphs

Logo_EredivisieThe Eredivisie is back! Thirty goals in nine matches and just three clean sheets in an eighteen team league, how we’ve missed it…

In this post I will run over all nine matches with the use of ExpG match plots. ExpG stand for Expected Goals, which means that the model assigns each goal scoring attempt a different value estimating the quality of that attempt. Attempts are judged on shot location as the most important variable, but also shot type (shot vs header), assist type (through-balls rule), and a few other parameters go into it. Overall, teams are expected to score the ExpG amount of goals with the efforts they created. Anything more can be aspired to be excellent finishing, but unless you have Luis Suarez or Lionel Messi among your ranks, you can safely assume that any over performance in comparison with ExpG is mostly luck. And luck will run out long term.


ExpG plot Twente 3 - 1 Heracles The weekend kicked off with the traditional Friday night fixture, where Twente crushed nearby Heracles 3-1. The plot shows that Twente limited their opponents to well below 0.5 ExpG, while only creating decent output themselves in the second half. This is very much the type of match that illustrates what happens after an opening goal. Heracles did a decent job stopping Twente up until that time, but had to chase the game for 70 minutes. To Twente’s credit, this did not produce any decent efforts by Heracles, but it did allow Twente more and more ExpG as the match went on.


ExpG plot AZ 3 - 0 NAC BredaAZ beat NAC 3-0 in a match they dominated from start to finish, as the match plot illustrates. NAC never put any offense together and this must have been an inspiring win for the home side, who may hold some decent hopes of making the Europa League play-offs. In the model’s league predictions, which I will write on in a few days, AZ are fighting it out with PEC Zwolle for the final spot in the play-offs, with both teams around 40% chance of making it. However, depending on the outcome of the Cup matches, they could both earn it if the play-offs shift to places 5 to 9.


ExpG plot Zwolle 1 - 2 VitesseTitle candidates Vitesse beat PEC Zwolle 1-2 in the 90th minute. This is exactly the type of match where a match plot can tell you a lot, since there are very different 1-2’s around. In this case, Vitesse did have the best claims to a victory, but this was mainly based on their first fifteen minutes. Since then, they did not create anything substantial until that late winner.


ExpG plot RKC 1 - 1 Groningen

RKC earned a point in a 1-1 draw with Groningen. The away side did a good job, until they conceded a penalty near the end of the game. Besides that single moment, RKC failed to create decent offense from open play. The model will recognize Groningen’s positive effort, as doing this regularly will win you away matches long term. RKC on the other hand, should better not rely on this kind of ‘ deus ex machina’ moments.



ExpG plot Heerenveen 2 - 2 Roda JCThe final Saturday night match was Heerenveen’s 2-2 draw with Roda. This was most definitely a disappointing final score for the home side, as they could have put the match away judging by their impressive offensive effort between the 30th and 70th minute. Was it coincidence that Heerenveen did not convert while besides the penalty only a single open play attempt fell to Finnbogason? This is also the type of effort that Roda should not take too much from. Earning your points this way is not going to hold.


ExpG plot N.E.C. 3 - 1 Den HaagSunday kicked off with N.E.C. 3-1 ADO Den Haag, a fine example of a misleading final score line. In fact, ADO put together a very decent offensive effort, and judging by the match plot, a high scoring draw would have been a fair result.


ExpG plot Cambuur 2 - 0 Go Ahead

Another crushing was found in the battle of promoted teams, where Cambuur beat Go Ahead Eagles 2-0. Most people will simply think along the line ‘ Cambuur is newly promoted – promoted teams are usually not so  good – I expect them to concede goals’. That’s wrong, plain wrong. Cambuur may have serious offensive issues (by far the lowest ExpG at just 1.02 per match), their defensive side of the game is very impressive. Cambuur comes in fifth place in ExpG conceded, with just 1.42 ExpG conceded per game. That’s around the level of Feyenoord and Vitesse. In plain English: scoring against them is not easy, as Go Ahead also experienced here.


ExpG plot FC Utrecht 2 - 5 FeyenoordThe highest scoring game of the weekend was Utrecht’s 2-5 home loss to Feyenoord. In the most impressive performance of the season, Feyenoord confirmed their title aspirations in creating 30 shots, and setting the league record for ExpG at over 5. Needless to say, Utrecht’s problems are in defense and the model even assigns them around 10% chance of having to play relegation play-offs at the end of this bleak season.


ExpG plot Ajax 1 - 0 PSVThe final match of the weekend was also the most anticipated. Ajax beat PSV 1-0 to stay right up there with Vitesse at the top of the table. However, the match plot illustrates just how much of our memory is formed by the score line. PSV had more shots, and more ExpG, but all in the first thirty minutes. If I were employed at either side, I would carefully study this match as this implies a tactical issue or switch around the 30th minute. From that moment on, Ajax went on to create nearly 1 ExpG, which indeed resulted in a single goal. However, what we tend to forget is that PSV could easily have won this match. The model is less forgiving for Ajax though, as conceding this amount of ExpG at a level score line seriously hurts. In the long term, this match is not a good sign for Ajax, and their title odds have even decreased a bit during the weekend. To how much? We’ll read that in the model’s league predictions later this week.

2 thoughts on “The Eredivisie weekend in nine graphs

  1. John

    Really liking the concept, but wouldn’t it be more insightful (and more correct) if you depicted the events as a step at that time and not as a slope from the previous event on?


Leave a Reply