Interesting post, but what I don't understand is what data is being used here? You vaguely mention foreign relations and
song quality somewhere in the middle, but you don't elaborate on any metrics or data source?
Eurovision is a summary of european geopolitics told through a limited form of communication called "voting". There's a bit of singing at the start, but that only slightly affects the voting bit.
The data source is the voting records since 1998. It's run through a parametric Bayesian MCMC model. The input data and the code for last year's model, which is pretty similar, are on GitHub: https://github.com/mewo2/eurovision
It actually fits it's own internal logic quite closely. Countries vote overwhelmingly on political grounds, with actual song quality coming in a distance second.