The Table Never Lies (or does it?)

I was mostly motivated to write this article because of the Coronavirus and how it has affected the european league schedules. How do we complete the season in the fairest way? I have no answer to that, but it got me thinking along the track on the fairest, and most efficient way to identify the best team in the League.

It will also brings to light some other interesting bits related to some common cliches like "The table never lies", "luck evens itself out over the course of a full season".

So we run competitions to find who the BEST team is. The competition can have several different formats, for example cup knockout type or round robin league type or combinations of both (Champions League, MLS).  Whatever format though the intention is to find out the best team. Clearly some formats are better at doing this than others. For example the Cup format, one bad result will eliminate the best team - indeed even if a team is so strong that it wins 80% of its matches then it will only win a 4 round cup competition 41% of the time, i.e. four matches in a row  (0.8 x 0.8 x 0.8 x 0.8 = 0.4096).

So what I have done is created 20 teams and I have set their strengths ahead of the competition. So I know ahead which team is the best team.  I have added a random element in each match and simulated the entire season, both League and Cup.

After 10,000 simulations:



Chart 1: The best team only wins the League 64% of simulations


Liverpool have won the League 6443 times, which is only 64% of sims.  I have made Liverpool about 67% stronger attacking than an average Premier League team and stronger defensively to only concede 50% of the average goals. They are the best team in the League as I set it up and the simulations prove this.  However, does the league table lie?  Well clearly it does. For about 36% of the full season simulations the best team did not finish top of the table.  This is quite a lot but it fares better than the Cup competition that I simulated which the best team failed to win 70% of the simulations.

So what has gone wrong with the League season? Can we improve it? Is it redundant to schedule matches for example Liverpool vs Norwich, in general we know already which team is better, some fixtures don't seem to add much information to what the competition is trying to find out. How about 3 points for beating Norwich at home, but beat Liverpool away and get, well 3 points too. Is this a fair reward for beating the top team. Can we do better.

Of course I am talking about an ELO ranking system, but also scheduling the games in a way that you dont have as many redundant fixtures.  With an ELO system we can start all teams off equal.  Then you can win +20 points for beating a top team or just +2 points for beating an average team. Conversely a top team expected to win an easy match could lose as many as 20 points if the result goes against them. 


The ELO League Format
1. All teams start on equal standing, 1000 ELO Pts.
2. The first round will be ranked in random order so, each team plays another team, home and away.
3. ELO points are added to the current standings and teams are re-ordered from high to low.
4. Schedule the next round, rank1 vs rank2, rank3 vs rank4, ... , rank19 vs rank20.
5. Again play home and away, and repeat from 3.

What happens is the better teams rise slowly to the top and we get more matches between these sides to better identify their relative standard.  I have set the ELO League Season to 38 matches (per team) to compare fairly with a 38 match regular League season. And again ran 10,000 simulations for this format.


Chart 2: The best team wins the ELO League 78% of simulations

The result is an improvement in terms of identifying the best team, which as noted at the beginning of the article is the reason to run a competition.  Also as has been clear in this article is that when we mention the best team we are not talking about something subjective, this is something that we have set up as part of the parameters of the teams in the sim.  Liverpool are the best team in this simulation and it is not even up for debate.  This cuts out the pointless arguments that "oh well, Man City were the best team in this simulation, well they scored the most goals, collected the most points, the best team always win". No. They weren't. Liverpool are the best team in this, its in the hard coded parameters.

I have used a 38 match season just for comparison, but this can be flexible, if you want to cut the season short you can, without causing any unfairness to any team.  If you want to arrange a curtailed season you can. There will be some loss of accuracy but that is starting from a point significantly more accurate than a traditional League type competition.  For a 30 match ELO season the process still picks the best team as the winner 74% of simulations.  Even a 20 match long ELO season beats the traditional 38 match league format with 65% of simulations picking the best team as the winner.

About the simulation

I used real life numbers to set the parameters. For example there were on average 1.36 goals scored by each team in each match this season.  So I started there with the assumption that average team A vs average team B would result on average in a 1.36 - 1.36 draw.  

But home teams scored about 10% more goals, so that can be adjusted for.  

Then each individual team goals per game scored and conceded was a percentage above/below the average.  So for example Liverpool the numbers were like 167% of goals scored (attacking strength) and 50% of average goals conceded (defensive strength).

This gives us a way to calculate the average goals expected in a match. It will be for the home team:

expected home goals = overall average * home attacking strength * away defensive strength * home advantage adj

And for the away team:

expected away goals = overall average * home defensive strength * away attacking strength * away disadvantage adj

Of course nobody wins a match 1.94 to 1.53, or whatever these averages churn out.  So I simulate an actual scoreline by picking the goals scored from a distribution of scores with these averages.  I have used a Poisson Distribution.  This gives realistic scorelines and adds a random element to the scores, so you see upsets just like in real life.

This is an accepted way to model results - see Pinaccle, opisthokonta and dashee.

About the ELO

For the ELO system I have used the same/similar to World Football ELO Ratings which is one of the oldest of many (also Club ELO and Euro Club Index).  I only used it because it was clearest set of rules and simple to implement. 

The overview of any ELO system is that teams get or lose ELO points based on the Expected Result (E) of the game versus the Actual Result (A).  Here E is based on the ELO formula 

E = 1 / (10 ^ (difference in initial ELO points/400) + 1)

And 

A = 1 for a win, 0.5 for a draw and 0 for a loss.

Then a teams ranking after the game becomes

New ELO Points = Old ELO Points + K * (E - A)

The parameter K is adjustable depending on the sensitivity of the model. Too small and the model won't adequately reward wins, too big and the rating will over-rate most recent wins.  I have set the value of K to 20.

I have also built in some paramaters around home advantage and margin of victory.  For home advantage I have added 100 to the initial ELO points of the home team before calculating the difference.  For goal margin I have added another multiplier to K so that big margin wins become more significant.  I have not done anything novel or creative. I have simply used the same parameters as World Football ELO Ratings.

I believe the parameters could be optimised to even further improve the accuracy of the competition.

About the results

Some interesting things to come out of the results of the 10,000 sims.

In the regular League Season Liverpool went unbeaten 79 times in the 10,000 sims. Man City and Leicester also went unbeaten, twice each.  Interesting that one time for Man City and one time for Leicester they went unbeaten but only finished 2nd, because of too many draws.

The maximum points haul for Liverpool over the 10,000 sims was 105, which puts into perspective their current season 82 points with 9 games left (a potential 109 points).

Ten teams did not win a single league in 10,000 simulations. Think about that.  10,000 years would bring us to the year 12020AD. Half the Premier League teams could try from now till then to win a League and probably fail.

On the ELO League simulations, out of the 10,000 sims Liverpool ended up playing Man City 134,476 times, or an average of 13 times per simulated season. Conversely they played Norwich only 2,892 times which is only once every 3 or 4 seasons.  Is this boring playing the same teams over and over, or does it serve up more exciting tight meaningful and high level matches?  Is it fair for Norwich to be in the same League as Liverpool but only get a shot at them once every 4 seasons?

I've made the underlying assumption in this article that the purpose of competitions is to find the best team.  This is not entirely true (or not true at all!).  Other purposes (even the main purposes) include to make money, provide entertainment, develop football (all clubs not just the best clubs). It is also badly defined what best means.  For example a Cup competition is unforgiving, it rewards absolute perfection as any loss/mistake is punished with elimination.  In a traditional league this is not true. So they are measuring different qualities in the end - pressure/perfection vs consistency.

There is a danger that the ELO League will over rate the "best team at beating Man City" for example.  They may have identified a flaw in one team and be able to exploit it better than other teams. It doesn't adequately measure ability against a variety of different opposition as the traditional League does.

Comments

Popular posts from this blog

Bet Unfair

Deconstructing WDL and O/U 2.5 goals odds.

Chrome Extension 1000