Hello everyone,
You probably get disappointed when your team unexpectedly loses against a weak team. However, you would get so excited when your team beats the best team in the league. In this blog, I will show you how to find the Giant Killing in each league.
Procedure
1, Data collection
You can collect data from a website called “Football-data“
In this blog, I will use data of Premier League, Ligue 1, Serie A, Bundesliga, La Liga, and Scottish Premier League.
2, Compute accumulated points
Since the data does not contain accumulated points game by game, we have to calculate points which each team has gained game by game. For example, if a team wins a game, they gets 3 points, but if they tie in the second game, their point is 4 so far after the second game. I am showing how to do it for all teams in all leagues on my YouTube video. I pasted the link below, so you can watch it.
3, Compute ranking
Based on the accumulated points, you can find which team is in which place. A reason why I need to know the ranking is because later on I will use accumulated points and ranking to find a power gap between home and away teams in each game. Obviously, Giant Killing happens when a team with a lower ranking and point beats a team with a higher ranking and point.
4, Find Giant Killing
I used 2 thresholds to find the Giant Killing. The first one is a ranking gap which should be more than 1/3 of a number of teams in the league. For example, if there are 18 teams in the league, the gap threshold is more than 6. A reason for that is because there is a different number of teams in each league, so a ranking gap of 5 out of 10 teams and out of 20 teams might mean differently. The second threshold is a point gap which should be more than 12.
5, Create a table
Finally, we create a table containing all information we have gained such as home and away team name, full time result, and accumulated points / ranking for home and away teams. The table is below …
Premier League | ||||||
Home | Away | Full time result | Points for home | Points for away | Ranking for home | Ranking for away |
Chelsea | West Ham | A | 26 | 13 | 4 | 17 |
Everton | Chelsea | H | 14 | 29 | 18 | 4 |
Chelsea | Bournemouth | A | 29 | 16 | 4 | 15 |
Watford | Man United | H | 9 | 25 | 20 | 8 |
Chelsea | Southampton | A | 32 | 18 | 4 | 17 |
Watford | Wolves | H | 16 | 30 | 19 | 6 |
Leicester | Southampton | A | 45 | 25 | 2 | 12 |
Newcastle | Chelsea | H | 26 | 39 | 13 | 4 |
Burnley | Leicester | H | 24 | 45 | 15 | 3 |
Norwich | Leicester | H | 18 | 50 | 20 | 3 |
Watford | Liverpool | H | 24 | 79 | 19 | 1 |
Everton | Leicester | H | 41 | 55 | 13 | 3 |
West Ham | Chelsea | H | 27 | 54 | 17 | 4 |
Southampton | Man City | H | 40 | 66 | 14 | 2 |
Bournemouth | Leicester | H | 28 | 59 | 19 | 4 |
Arsenal | Liverpool | H | 50 | 93 | 10 | 1 |
Aston Villa | Arsenal | H | 31 | 53 | 18 | 10 |
Everton | Bournemouth | A | 49 | 31 | 11 | 19 |
Ligue 1 | ||||||
Home | Away | Full time result | Points for home | Points for away | Ranking for home | Ranking for away |
Dijon | Paris SG | H | 9 | 27 | 20 | 1 |
Nimes | Reims | H | 12 | 28 | 19 | 9 |
Dijon | Lille | H | 18 | 31 | 17 | 5 |
Nimes | Monaco | H | 15 | 29 | 19 | 11 |
Marseille | Nantes | A | 52 | 34 | 2 | 12 |
Bundesliga | ||||||
Home | Away | Full time result | Points for home | Points for away | Ranking for home | Ranking for away |
FC Koln | Leverkusen | H | 8 | 25 | 17 | 5 |
Hertha | Freiburg | H | 12 | 25 | 15 | 5 |
Ein Frankfurt | RB Leipzig | H | 21 | 40 | 11 | 1 |
Freiburg | Paderborn | A | 29 | 12 | 7 | 18 |
Freiburg | Fortuna Dusseldorf | A | 33 | 17 | 7 | 16 |
Freiburg | Werder Bremen | A | 37 | 18 | 7 | 17 |
Fortuna Dusseldorf | Schalke 04 | H | 24 | 37 | 16 | 8 |
Schalke 04 | Werder Bremen | A | 37 | 22 | 10 | 17 |
Wolfsburg | Ein Frankfurt | A | 42 | 29 | 6 | 14 |
Dortmund | Mainz | A | 66 | 31 | 2 | 15 |
Hertha | Leverkusen | H | 38 | 60 | 11 | 4 |
Serie A | ||||||
Home | Away | Full time result | Points for home | Points for away | Ranking for home | Ranking for away |
Udinese | Cagliari | H | 15 | 29 | 15 | 5 |
Roma | Torino | A | 35 | 21 | 4 | 11 |
Atalanta | Spal | A | 35 | 12 | 5 | 20 |
Napoli | Juventus | H | 24 | 51 | 13 | 1 |
Sassuolo | Roma | H | 23 | 39 | 15 | 4 |
Verona | Juventus | H | 31 | 54 | 10 | 1 |
Genoa | Cagliari | H | 16 | 32 | 18 | 8 |
Bologna | Genoa | A | 33 | 19 | 7 | 18 |
Parma | Spal | A | 35 | 15 | 8 | 20 |
Milan | Genoa | A | 36 | 22 | 7 | 18 |
Roma | Udinese | A | 48 | 28 | 5 | 16 |
Inter | Bologna | A | 64 | 38 | 3 | 12 |
Brescia | Verona | H | 18 | 42 | 20 | 8 |
Lecce | Lazio | H | 25 | 68 | 18 | 2 |
Parma | Napoli | H | 40 | 56 | 14 | 7 |
Udinese | Juventus | H | 36 | 80 | 16 | 1 |
Cagliari | Juventus | H | 42 | 83 | 13 | 1 |
Genoa | Verona | H | 36 | 49 | 17 | 9 |
Scottish Premier League | ||||||
Home | Away | Full time result | Points for home | Points for away | Ranking for home | Ranking for away |
Motherwell | Hamilton | A | 37 | 15 | 3 | 11 |
Hearts | Rangers | H | 14 | 53 | 12 | 2 |
Kilmarnock | Rangers | H | 29 | 60 | 7 | 2 |
St Johnstone | Motherwell | H | 27 | 41 | 8 | 3 |
Aberdeen | Ross County | A | 41 | 26 | 3 | 9 |
Motherwell | St Mirren | A | 42 | 22 | 3 | 10 |
Hibernian | Hearts | A | 37 | 19 | 6 | 12 |
Rangers | Hamilton | A | 64 | 21 | 2 | 12 |
La Liga | ||||||
Home | Away | Full time result | Points for home | Points for away | Ranking for home | Ranking for away |
Eibar | Ath Madrid | H | 19 | 35 | 16 | 3 |
Mallorca | Valencia | H | 15 | 31 | 17 | 6 |
Villarreal | Espanol | A | 28 | 11 | 9 | 20 |
Leganes | Sociedad | H | 15 | 34 | 19 | 7 |
Celta | Sevilla | H | 17 | 39 | 20 | 4 |
Levante | Real Madrid | H | 29 | 53 | 13 | 2 |
Villarreal | Leganes | A | 38 | 20 | 8 | 19 |
Betis | Real Madrid | H | 30 | 56 | 14 | 2 |
Alaves | Sociedad | H | 32 | 47 | 15 | 5 |
Sociedad | Celta | A | 47 | 30 | 7 | 16 |
Eibar | Valencia | H | 29 | 46 | 17 | 8 |
Leganes | Valencia | H | 29 | 50 | 19 | 9 |
Ath Bilbao | Leganes | A | 51 | 32 | 8 | 18 |
Barcelona | Osasuna | A | 79 | 48 | 2 | 11 |
My YouTube video
You can see all procedures step by step on my YouTube video, so please check it out!
MATLAB code
Enjoy!!