This year, I was (un?)fortunate enough to visit Copenhagen and watch the Eurovision Song Contest, performed live.
However, like every recent year, the voting system was clearly skewed by countries voting for neighbours / political reasons.
I really wanted to see some sort of map of the Eurovision results, to see what these "political" votes really looked like - but unfortunately, nothing I found even came close to what I was hoping for. Well except for maybe this map, which is at least interactive but with fairly limited scope...
Everyone else seems to have either already done the analysis for you and presented their results, or displayed the raw data in an ugly way!
So, I decided to make one myself. This is, by far, the most interactive Eurovision map I've found on the internet. Compared to this map, for example, everything seen there can be achieved by clicking "To country", "2014" and Austria. Here's what I made:
However, like every recent year, the voting system was clearly skewed by countries voting for neighbours / political reasons.
I really wanted to see some sort of map of the Eurovision results, to see what these "political" votes really looked like - but unfortunately, nothing I found even came close to what I was hoping for. Well except for maybe this map, which is at least interactive but with fairly limited scope...
Everyone else seems to have either already done the analysis for you and presented their results, or displayed the raw data in an ugly way!
So, I decided to make one myself. This is, by far, the most interactive Eurovision map I've found on the internet. Compared to this map, for example, everything seen there can be achieved by clicking "To country", "2014" and Austria. Here's what I made:
In case the colour scheme is confusing anyone:
Yellow = Selected country (if applicable. You cannot select non-participating countries, or countries that voted but did not sing, when in "To Country" mode.)
G rey = The country did not participate.
Pink = The country voted, but did not compete (in the final). So of course, they did not receive any votes - hence I've given them a special colour when in "From Country" or "Final Score" mode.
Red --> Green = Lowest --> Highest ranked. In the case of "Spearman Ranked" mode, this is supposed to mean "worst --> best at voting fairly", although this statistical analysis doesn't work as well as I'd hoped, yet...
Rather than simply telling you what I think, I'll let you click around and come to your own conclusions.
Yellow = Selected country (if applicable. You cannot select non-participating countries, or countries that voted but did not sing, when in "To Country" mode.)
G rey = The country did not participate.
Pink = The country voted, but did not compete (in the final). So of course, they did not receive any votes - hence I've given them a special colour when in "From Country" or "Final Score" mode.
Red --> Green = Lowest --> Highest ranked. In the case of "Spearman Ranked" mode, this is supposed to mean "worst --> best at voting fairly", although this statistical analysis doesn't work as well as I'd hoped, yet...
Rather than simply telling you what I think, I'll let you click around and come to your own conclusions.
Performing a good statistical analysis on this data is difficult, to say the least. In my "beta" version above, I have performed a Spearman's rank on the data, which - in a nutshell - displays how accurately each country's votes align to the final score.
For the moment, this is only comparing like-for-like, e.g. a country's televote with the overall televote
However, there are a few big problems with this, when it comes to showing how "unfairly" a country voted, such as:
...If I can be bothered, I'll have a go at improving, or at least extending, the statistical analysis methods used to give some more meaningful information.
For example, I could potentially rank countries by how often they vote (or don't vote!) for the same people year after year!
Gathering data for this project is also particularly challenging. Results are published in a variety of formats (or even not published at all!), on different websites. Some include all the data, but most don't. I was quite lucky, in fact, that the 2014 data is so complete.
The source code (including the raw data I used) is all available on my github page, here.
(Disclaimer: This is my first ever javascript/jQuery/web app project, and I just threw this together in a few days without unit testing etc... Please be forgiving if you look at the code!)
For the moment, this is only comparing like-for-like, e.g. a country's televote with the overall televote
However, there are a few big problems with this, when it comes to showing how "unfairly" a country voted, such as:
- Since so many countries were "block voting" for their neighbours, this had such a big impact that Spearman's rank correlation shows these offending countries as voting more "accurately"!
- If a country only gives unfair votes to a few neighbours, but votes fairly elsewhere, their Spearman's rank score will still be quite high.
- If a country's neighbour happened to do well overall (maybe even because their song was good?!?!), then this otherwise-block voting is seen as a fair vote. For example, Norway and Finland are well known for giving Sweden an "unfairly" high score*... But in 2014, Sweden came 3rd, so does this mean they were "right" to vote for their neighbours???
...If I can be bothered, I'll have a go at improving, or at least extending, the statistical analysis methods used to give some more meaningful information.
For example, I could potentially rank countries by how often they vote (or don't vote!) for the same people year after year!
Gathering data for this project is also particularly challenging. Results are published in a variety of formats (or even not published at all!), on different websites. Some include all the data, but most don't. I was quite lucky, in fact, that the 2014 data is so complete.
The source code (including the raw data I used) is all available on my github page, here.
(Disclaimer: This is my first ever javascript/jQuery/web app project, and I just threw this together in a few days without unit testing etc... Please be forgiving if you look at the code!)