Showing posts with label Soccer Analytics. Show all posts
Showing posts with label Soccer Analytics. Show all posts

Wednesday, 25 February 2015

Lowzer's Low Country Revue: A quick tour of some #fancystats of the Belgian Jupiler Pro League after Gameweek 15

I've previously discussed the shortage of good quality stats for the Belgian Jupiler Pro League (JPL) here, but I persevered and found some basic statistics over on soccerway.com and used these stats to construct a PDO vs. Shot on Target Ratio chart here. What I aim to do with this post is add some other ways of analysing and thinking about the performances of the Belgian JPL teams after 15 games...


Attacking Effectiveness

To begin, I look at 'attacking effectiveness', owing a debt of gratitude to Ben Mayhew of the fantastic experimental361.com for showing me the way. Attacking effectiveness looks at how frequently a team shoots per game and how many shots, on average, it took them to score. The chart below shows that, generally speaking, after the first 15 games the teams that shot more in a game were placed higher in the table. The exception is Lokeren - they did not shoot as much as the rest of the top 6, but when they did, they were pretty good at turning their shots into goals. As for the three in the top-left quadrant: they did not shoot enough and took too many shots to score a goal, hence their relegation struggles.


Defensive Effectiveness

After looking at attacking effectiveness, we turn to the 'defensive effectiveness' of teams. Defensive effectiveness aims to portray how well a team can withstand shots against its goal and how it limits shots being taken against it. The chart below suggest that teams with the most effective defences were in the top 6 - with the exception of the leaky Standard Liège defence, which perhaps provides insight as to why they were not further up the table and challenging bitter rivals Anderlecht more, after 15 games. Cercle Brugge had a slightly more effective defence than did Lierse (it took fewer shots to score against Lierse) and there were certainly poorer defences than Cercle Brugge's over the first 15 games. 

Shots Taken and Points Taken

Lastly, I come to the relationship between the subjective concept of 'dominance' of a game and the points teams take. This tests the hypothesis whether teams that take more shots than their opponents generally place higher in the league.

I base this chart of work done by James Grayson (link). What I have done is constructed a Total Shots Ratio (TSR), which is given by:
Total Shots For / (Total Shots For + Total Shots Against) [per game]
This variable displays some sort of match dominance: if you outshoot your opponent it can be argued that you generally dominate the game: in order to take a shot you first need the ball. It takes time to create chances, and so the logic goes that the more you outshoot your opponent the more 'dominant' you are. 

I took the TSR and compared it to the points teams won after 15 games and despite the fairly limited data, there is a pretty strong 'goodness of fit' between TSR and points:


With only few exceptions the pattern here basically says: teams that control more of the ball/outshoot their opponents generally place higher in the table. Mouscron-Péruwelz and Mechelen interestingly appear to be outliers: Mouscron is now in the relegation zone and Mechelen are sitting in 10th. This data suggests they were pretty strong in the first 15 games but must have fallen by the wayside in subsequent weeks.

There is more on its way, I am just limited by the data. Hope you enjoy!

Tuesday, 24 February 2015

Lowzer's Low Country Revue: Skill or Luck in the Belgian Jupiler Pro League at its halfway point...

The JPL has 16 teams. After 15 league matches the league is roughly at its "half-way" point. After 30 matches (ie after each team has played all other 15 teams home and away) the league then breaks into to playoff mini-leagues (Wikipedia has a good explanation). So, I thought looking at the JPL at its halfway point would be a good point to start my analysis of Belgians top-tier football division...

Skill or Luck?

I used data from soccerway.com to construct PDO, a measure of luck, and shots on target ratio (SoTR), a measure of skill, for the first 15 matches. PDO is calculated as: [goals scored/shots on target] + [goals conceded/shots on target against]. SoTR is calculated as: [shots on target for/(shots on target for + shots on target against)]. The higher the PDO the luckier a team is, the higher the SoTR the more skilful the team is. (For more detailed explanations refer back here)

As the key to the chart explains the top-6 teams after 15 games are in Green and so on. 



Observations:

  1. Generally the teams have clustered quite closely in the chart according to their league position with the exception of...
  2. Mechelen, a real outlier: not only did it register the highest SoTR out of all teams in the Belgian JPL but it also experience a way low PDO over the first 15 matches. Now, this could be due to crap data or it could actually be the case that they have been really, really unlucky to be behind Sporting Charleroi and Kortrijk who were ahead of them in the table. 
  3. Not only were Lierse and Cercle Brugge unlucky - according to PDO figures - but they also exhibited low skill, although Westerlo had the worst SoTR in the league.
Kortrijk and Sporting Charleroi are now in the top-6 of the league, Genk and Lokeren have fallen out of the top-6. However, to test this PDO vs. SoTR "model" as something with predictive power is probably not wise, instead it is a nice catch-all for what has happened.




Lowzer's Low Country Revue: Belgium - Belgian Jupiler Pro League and its stats deficit

The Belgian Jupiler Pro League (JPL), which is Belgium's top-flight football division, has a statistics deficit when compared to other top-flight leagues in Europe. 


According to the current-season 'UEFA rankings for club competitions' the JPL is ranked 8th, seven places higher than the Dutch Eredivise. When you go the Eredivise homepage, you can quickly click your way to finding statistics on, for example, goal attempts, dribbles, successful passes and so on. Go on, look.

When you land on the JPL homepage, you have the option of clicking on 'classement' (competition), which then takes you to a page where you have the option of looking at more statistics. Unlike in the Eredivisie, however, the JPL only provides a limited number of statistics available to the public (more on this here). The categories of data on the JPL page range from timing of goals, number of clean sheets to longest losing streak etc. In short, the JPL does not have the same quantity, variety, quality and/or availability of the type of data most often used by football analysts with a fondness for "fancy" stats.

Where are the stats, then?

The good news is: there is one source of data on JPL games I have found: soccerway. It has some of the data we like to see: possession, number of corners, shots taken, etc. However, - and this is a big however - the reliability of this data is not 100%.

To illustrate my point, I think it is best to walk you through an example of what I mean. If we look at Anderlecht's 3-1 defeat of Mouscron-Péruwelz in Gameweek 1 we can first see the scorers and the time of the goals as shown by the screenshot below:

screenshot from www.soccerway.com 

All good so far. We have three goals for Anderlecht and three pieces of data on the goals. We have one goal for Mouscron-Péruwelz and one goal scorer. Good. 

Until...

screenshot from www.soccerway.com

And, here we see a problem. Anderlecht have scored three goals in this game yet according to the second screenshot they only shot two shots on target. So, either they scored one of their goals with a shot off-target (unlikely) or there is a mistake in the data.

How have I addressed this?

I tried unsuccessfully to get in touch with soccerway.com and/or people with more knowledge of its data than me. All leads have been inconclusive. Nobody seems to be able to verify the authenticity/definitions of soccerway's data on the JPL.

The problem kept coming up. I saw teams scoring 6 goals with 1 shot on target registered. I stopped in my tracks when things like this came up. So, I developed a strategy in the name of consistency to try and overcome the weird data from soccerway. I manually imported the soccerway data into a spreadsheet (which, if you really want send me an email sattherethinkin@gmail.com) and I did this according to a few rules and assumptions which I will lay out here for reference:

  • I first looked at the score of the game
  • If the goals scored were less than the shots on target I did not alter the data
    • as an example: In Gameweek 1 Standard Liège played Sporting Charleroi and the final score was 3-0 Standard. The soccerway stats also showed that Standard registered 6 shots on target, Charleroi registered 5. I assumed this was correct because it is plausible. I was not at the game and I (perhaps foolishly, perhaps not) am giving the benefit of the doubt to soccerway
  • If the goals scored were greater than the shots on target, I added the number of goals scored to the respective team's shots numbers.
    • as an example: In Gameweek 1, the example above of Anderlecht and Mouscron, I added Anderlecht's 3 goals to their shots for, and added their three goals to their shots on target. Effectively I presumed that Soccerway had just got it wrong
Why did I do it this way?

Partly because I wanted some data and partly because I wanted to do it in a way that places some faith on soccerway - their data on the EPL for example seems pretty reliable - and places some faith on logic. I am not explaining my method as completely infallible: some people may ask why I did not just add the goals scored to the shots total across-the-board. 

I am simply trying to put some context to the figures for future reference. Because of limitations I have discussed on JPL data I cannot claim 100% reliability of the data I am using, but it is at least a start. We will see what insights it can bring...

This page will be left as a kind of bookmark and I will periodically update as methods change etc. 

More soon...