<!doctype html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8">        <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9">               <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js">                      <!--<![endif]-->
<head>
    <meta charset="utf-8">

    <title>Swansea scientist's Eurovision 2015 forecast model predicts Sweden to win</title>

    <link type="text/css" rel="stylesheet" href="/_assets/css/general/basic.css" />
    <link rel="canonical" href="https://www-2018.swansea.ac.uk/press-office/news-archive/2015/swanseascientistseurovision2015forecastmodelpredictsswedentowin.php" /> 





<meta name="viewport" content="width=device-width, initial-scale=1.0;">
<meta property="su:page-type" content="News Item">
<meta property="su:section-id" content="102089">
<meta property="su:last-modified" content="Tue, 16 Jun 2015 12:16:05 BST" />

    <script type="text/javascript" src="/_assets/vendor/enhance.js"></script>
    <script type="text/javascript">

        var SU =        {
                            customScripts: {
                                preRepositioning:  [],
                                postRepositioning: []
                            }
                        },

            dataLayer = [],

            styles =    [
                            '/_assets/css/general/desktop.css',
                            {
                                href: '/_assets/css/common/ie.css',
                                iecondition: 'all'
                            },
                            {
                                href: '/_assets/css/common/ie7.css',
                                iecondition: 7
                            },
                            {
                                href: '/_assets/css/common/ie8.css',
                                iecondition: 8
                            }
                        ],
        
            scripts =   [
                           '/_assets/js/common/modernizr-jquery.all.min.js'
                        ];
        

        

        

        scripts = scripts.concat([
            '/_assets/vendor/jquery-plugins/cycle2/jquery.cycle2.js',
            '/_assets/vendor/jquery-plugins/cycle2/jquery.cycle2.swipe.js',
            '/_assets/vendor/jquery-plugins/auto-complete/jquery.auto-complete.js',
            '/_assets/vendor/mustache.js',
            '/_assets/js/common/console.js',
            '/_assets/js/common/su.js',
            '/_assets/js/common/su/http/link.js',
            '/_assets/js/common/jquery-plugins/jQuery.showCookieMessage.js',
            '/_assets/vendor/jquery-plugins/ba-throttle-debounce/jquery.ba-throttle-debounce.js',
            '/_assets/js/common/jquery-plugins/jQuery.initialiseNavigation.js',
            '/_assets/js/common/jquery-plugins/jQuery.inputClear.js',
            '/_assets/js/general/desktop/enhanceFooterLinks.js',
            '/_assets/js/general/desktop/jQuery.initialiseSplashGallery.js',
            '/_assets/js/general/desktop/jQuery.initialiseFeaturedGallery.js',
            '/_assets/js/general/desktop/jQuery.initialiseTabPods.js',
            '/_assets/js/general/desktop/jQuery.initialiseQuadSliders.js',
            '/_assets/js/general/desktop/jQuery.stripeTableRows.js',
            '/_assets/vendor/jquery-plugins/ba-bbq/jquery.ba-bbq.js',
            '/_assets/js/general/desktop/jQuery.initialiseExpanders.js',
            '/_assets/vendor/jquery-plugins/cookie/jquery.cookie.js',
            '/_assets/vendor/jquery-plugins/jBreadCrumb/js/jquery.easing.1.3.js',
            '/_assets/vendor/jquery-plugins/jBreadCrumb/js/jquery.jBreadCrumb.1.1.js',
            '/_assets/js/general/desktop.js',
            '/_assets/js/precedent/coreFunctions.js'
        ]);

        enhance({
            loadStyles: styles,
            loadScripts: scripts,
            forcePassText: 'Enhanced version',
            forceFailText: 'Basic version'
        });
    </script>


</head>

<body id="content" class="layout-general-wrapper">
 

    <div id="general" class="layout-general">

        <!--noindex-->
        <div id="header" class="layout-header">
<h1 id="logo" class="logo">
    <span class="logo-text">Swansea scientist's Eurovision 2015 forecast model predicts Sweden to win</span>
    <a id="logo-link" href="https://www.swansea.ac.uk/">

        <img class="logo-image" src="/_assets/images/precedent/logo.en.png" alt="Swansea University Logo" />

    </a>
</h1>
            <div id="skipToContent" class="skip-to-content">
                <a class="skip-to-content-link" tabindex="1" href="#content-items" title="skip to content">Skip to content</a>
            </div>

<div id="globalNavWrapper" class="header-links">
    <ul id="globalNav" class="header-links-list">
    
        <!-- navigation object : SU_audience navigation --><li class="header-links-list-item"><a href="http://myuni.swan.ac.uk/">Current Students</a></li><li class="header-links-list-item"><a href="https://staff.swansea.ac.uk/">Staff</a></li><li class="header-links-list-item"><a href="http://www.swanseauniversity.com.cn">&#20013;&#25991;</a></li>
        
        

    </ul>
</div>
            
            <div id="globalSearch" class="global-search-form">
<div class="global-search-form">
	<form action="https://www.swansea.ac.uk/search/">
	  <div>
	    <input type="hidden" name="c" value="swansea-web" />
	    <input
           id="global-search-form-q"
	       type="text"
	       name="q"
	       placeholder="Site Search"
	       size="31"
	       class="global-search-form-query"
	    />
	    <input class="global-search-form-submit" type="submit" value="GO" />
	  </div>
	</form>
</div>

<script class="register-custom-scripts">
(function () {
    SU.customScripts.postRepositioning.push(function () {
    
        var endpoint = 'https://swansea.funnelback.co.uk/s/suggest.json',

            unique = function(arr) {
                var hash = {}, result = [];
                for ( var i = 0, l = arr.length; i < l; ++i ) {
                    if ( !hash.hasOwnProperty(arr[i]) ) {
                        hash[ arr[i] ] = true;
                        result.push(arr[i]);
                    }
                }
                return result;
            },
            
            setHandler = function() {
                $('#global-search-form-q').off().autoComplete({
                    source: function(term, response) {
                        console.log("You typed [" + term + "]");
                        $.getJSON(
                            endpoint,
                            {
                                collection:    'swansea-web',
                                partial_query: term
                            },
                            function(data) {
                                response(unique(data));
                            }
                        );
                    }
                });
            };
    
        console.group('Initialising auto complete');
        window.setTimeout(function () {
            setHandler();
        }, 500);
        
        console.groupEnd();
    });
}());
</script>
            </div>
            
            <div id="naviBar" class="main-nav">
<!-- navigation object : SU_Main_Nav -->

            </div>
        </div>
        <!--endnoindex-->
        
        <div class="layout-container">
            <div id="main" class="layout-content">
                <div id="contentHeader" class="content-header">

                    <!--noindex-->
<div class="breadCrumbHolder module">
    <div class="breadCrumb module">
        <ul>
            <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
                <a href="https://www.swansea.ac.uk/" itemprop="url">
                    <span itemprop="title">Home</span>
                </a>
            </li>
            <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
                <a href="https://www.swansea.ac.uk/press-office/" itemprop="url">
                    <span itemprop="title">Press Office</span>
                </a>
            </li>
	</ul>
    </div>
</div>
                    <!--endnoindex-->

                    <h1 class="content-header-heading">Swansea scientist's Eurovision 2015 forecast model predicts Sweden to win</h1>
                </div>

                <div id="splash-items" class="layout-splash">
                </div>

                <!--noindex-->
                <div class="layout-content-nav">
                    <div id="secondaryNavWrapper"></div>
                </div>
                <!--endnoindex-->

                <div id="content-items" class="layout-content-items content-items">
                    <div class="layout-featured-items">
                    </div>

                    <div class="layout-article-items">
  <div class="share-page-wrapper">
    <div id="share-page" class="share-page">
        <ul class="social-buttons">
            
            <li class="social-button">
                <a class="socialite twitter-share" href="https://twitter.com/share?url=https%3A%2F%2Fcms.swan.ac.uk%2Fpress-office%2Fnews-archive%2F2015%2Fswanseascientistseurovision2015forecastmodelpredictsswedentowin.php" data-url="https://cms.swan.ac.uk/press-office/news-archive/2015/swanseascientistseurovision2015forecastmodelpredictsswedentowin.php" data-via="SwanseaUni" data-count="none" rel="nofollow">
                    <span class="hide">
                        Share on Twitter
                    </span>
                </a>
            </li>
            
            <li class="social-button">
                <a class="socialite facebook-like" href="http://www.facebook.com/sharer.php?u=https://cms.swan.ac.uk/press-office/news-archive/2015/swanseascientistseurovision2015forecastmodelpredictsswedentowin.php" data-href="https://cms.swan.ac.uk/press-office/news-archive/2015/swanseascientistseurovision2015forecastmodelpredictsswedentowin.php" data-send="false" data-layout="button_count" data-width="90" data-show-faces="false" rel="nofollow">
                    <span class="hide">
                        Share on Facebook
                    </span>
                </a>
            </li>
            
            <li class="social-button">
                 <a class="socialite linkedin-share" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=https://cms.swan.ac.uk/press-office/news-archive/2015/swanseascientistseurovision2015forecastmodelpredictsswedentowin.php&amp;title=2015" data-url="https://cms.swan.ac.uk/press-office/news-archive/2015/swanseascientistseurovision2015forecastmodelpredictsswedentowin.php" rel="nofollow">
                     <span class="hide">Share on LinkedIn</span>
                 </a>
             </li>
            
            <li class="social-button">
                <a class="socialite googleplus-one" href="https://plus.google.com/share?url=https://cms.swan.ac.uk/press-office/news-archive/2015/swanseascientistseurovision2015forecastmodelpredictsswedentowin.php" data-size="tall" data-annotation="none" data-count="false" data-href="https://cms.swan.ac.uk/press-office/news-archive/2015/swanseascientistseurovision2015forecastmodelpredictsswedentowin.php" rel="nofollow">
                    <span class="hide">
                        Share on Google+
                    </span>
                </a>
            </li>
            
            <li class="social-button">
                <a class="mail-to-friend mail" href="mailto:?subject=2015&body=https://cms.swan.ac.uk/press-office/news-archive/2015/swanseascientistseurovision2015forecastmodelpredictsswedentowin.php">
                    <span class="hide">
                        Email
                    </span>
                </a>
            </li>
            
        </ul>    </div>
</div>

<script class="register-custom-scripts">
SU.customScripts.postRepositioning.push(function () {
    $.getScript('/_assets/vendor/jquery-plugins/socialite/socialite.js', function () {
        Socialite.load(document.getElementById('share-page'));
        $('.mail-to-friend').click(function() {
            _gaq = _gaq || [];
            _gaq.push(['_trackSocial', 'Mail to friend', 'Mail']);
        });
    });
});
</script>
  <div class="news-item-fulltext">
<p style="padding: 1.5em; text-align: center; background-color: #ffc266; font-weight: bold">
    Please note, this page has been archived and is no longer being updated.
</p>
    <p class="news-item-summary">As Austria’s capital city Vienna prepares to host the final of the 60th Eurovision Song Contest this Saturday (May 23), Swansea University scientist Dr Martin O’Leary is again publishing his annual predictions of the winners and losers, based on a statistical model.</p>

    <div class="news-item-content">
        <p><strong>Climate change research&nbsp;</strong></p>
<p>&zwnj;Eurovision fan Dr O&rsquo;Leary (pictured) is a research officer with <a href="http://www.swansea.ac.uk/glaciology/">Swansea Glaciology Group</a> in the University&rsquo;s <a href="http://www.swansea.ac.uk/science/">College of Science</a>. He has closely analysed the results in the contest for the past three years using technology and the skills developed through his day-to-day work as a climate change researcher, looking at interactions between glaciers and the oceans, particularly on iceberg calving events.</p>
<p><img src="/media/Dr-Martin-O'Leary---Swansea-University.jpg"
alt="Dr Martin O'Leary 2" title="Dr Martin O'Leary, Swansea University." />In 2012 his model, which uses <a href="http://en.wikipedia.org/wiki/Bayes'_theorem">Bayesian algorithms</a>, correctly predicted Sweden&rsquo;s Loreen would win with the song <em>Euphoria </em>and the model was just one off in 2013, predicting a win by Azerbaijan&rsquo;s Farid Mammadov with the song <em>Hold Me</em>, who came second. &nbsp;</p>
<p>Last year, the model favoured Sweden&rsquo;s Sanna Nielsen with the song <em>Undo, </em>which placed third in the final, with Austria&rsquo;s Conchita Wurst taking first place with <em>Rise Like a Phoenix</em>.</p>
<p>Dr O&rsquo;Leary&rsquo;s model and the betting public again favour Sweden to take first place this year, with Mans Zelmerlow and the song <em>Heroes</em> &ndash; and the model currently predicts the UK&rsquo;s entry, duo Electro Velvet with <em>Still In Love With You</em>, to finish 20<sup>th</sup>. The results of the model will again be updated after tonight&rsquo;s (Thursday, May 21) second semi-finals.</p>
<p><strong>Changes from 2014 </strong></p>
<p>This year, there are two main changes to how Dr O&rsquo;Leary&rsquo;s model works, and one notable change to the contest.</p>
<p>Firstly, in a change from his previous predictive models, Dr O&rsquo;Leary doesn&rsquo;t use betting odds to determine song quality.</p>
<p>&ldquo;Although this was a really appealing idea, it didn&rsquo;t really work very well last year,&rdquo; said Dr O&rsquo;Leary, who is from County Kildare in the Irish Republic and now lives in Mumbles, Swansea.</p>
<p>&ldquo;The resulting predictions were both wrong (not necessarily a problem) and far too certain (definitely a problem).&nbsp; This was particularly a problem in the semi-finals, where the model&rsquo;s confidence seemed entirely misplaced. I tried some tweaks to reduce this problem, but the best solution seemed to be to remove it completely.</p>
<p>&ldquo;The second change, introduced partly to compensate for the first, is that I&rsquo;m now using information about each song&rsquo;s audio properties, which I obtained from The Echo Nest. This means that the model now includes interactions like &ldquo;Armenia likes dance music&rdquo; and &ldquo;Austria hates sad songs&rdquo;.</p>
<p>&ldquo;The effects of these preferences seem to be small, but they&rsquo;re interesting and data-driven, so I&rsquo;ve included them.&rdquo;</p>
<p>The key change to the contest this year for Dr O&rsquo;Leary&rsquo;s model is the inclusion of Australia as an entrant for the first time. &nbsp;</p>
<p>He said: &ldquo;From a modelling perspective, this is a bit annoying, because we have very little historical data on Australia!&rdquo;</p>
<p><strong>Predicting Eurovision</strong></p>
<p>Dr O&rsquo;Leary, who was recently featured by <a href="http://www.wired.co.uk/"><em>Wired</em></a> after he <a href="http://www.wired.co.uk/news/archive/2015-01/15/minecraft-antarctica">recreated the frozen continent of Antarctica in Minecraft</a>, has previously worked at the Department of Atmospheric, Oceanic and Space Sciences at the University of Michigan and at the Scott Polar Research Institute at the University of Cambridge, where he achieved his PhD.</p>
<p>He said: &ldquo;Predicting Eurovision means looking through the mess of individual votes and trying to understand the patterns that emerge. It's not always certain what the reasons are behind any one vote.</p>
<p>&ldquo;Bayesian algorithms provide a way to work with large quantities of uncertain information, and see the rules which underlie it.</p>
<p>&ldquo;The same tools which reveal the secrets of Eurovision can also help us to look beneath the ice sheets of Greenland, and help us to understand the complex processes which are driving climate change.&rdquo;</p>
<p><strong>You can follow Dr Martin O&rsquo;Leary on Twitter @mewo2, or visit his new dedicated Eurovision web site at </strong><a href="http://www.eurovisionforecast.com/"><strong>http://www.eurovisionforecast.com/</strong></a><strong>.&nbsp;</strong></p>
    </div>

    <ul class="news-item-post-info-container vcard">
        <li class="news-item-post-info author">
           Posted by
            <span class="fn">Bethan Evans</span>
            &lt;<a class="email" href="mailto:b.w.evans@swansea.ac.uk">b.w.evans@swansea.ac.uk</a>&gt;
        </li>

        <li class="news-item-post-info">
            <a href="/press-office/news-archive/2015/swanseascientistseurovision2015forecastmodelpredictsswedentowin.php" rel="bookmark">
                <abbr class="published" title="2015-05-21T01:00:00+01:00">Thursday 21 May 2015 01.00 BST</abbr>
            </a>
        </li>

        <li class="news-item-post-info updated-container">
            <abbr class="updated" title="2015-05-21T15:35:11+01:00">Thursday 21 May 2015 15.35 BST</abbr>
        </li>

        <li class="news-item-post-info">
        	<span class="fn org">Swansea University</span>, Tel: <span class="tel">01792 295049</span>
        </li>
    </ul>

</div>

                    </div>

                    <div class="layout-related-items">
                    </div>
                </div>


            </div>

            <!--noindex-->
            <div id="footer" class="layout-footer">
                <ul id="footerLinks" class="footer-links">
<!-- navigation object : SU_footer navigation --><li class="footer-links-list-item"><a href="/the-university/contact/">Contact Us</a></li><li class="footer-links-list-item"><a href="/personnel/jobs/">Jobs</a></li><li class="footer-links-list-item"><a href="/the-university/colleges/">Colleges</a></li><li class="footer-links-list-item"><a href="/press-office/">Press</a></li><li class="footer-links-list-item"><a href="https://www.swansea.ac.uk/about-us/safety-and-security/health-and-safety/">Health &amp; Safety</a></li><li class="footer-links-list-item"><a href="/includes/footer/disclaimer-and-copyright/">Disclaimer &amp; Copyright</a></li><li class="footer-links-list-item"><a href="/includes/footer/site-map/">Site map</a></li><li class="footer-links-list-item"><a href="/includes/footer/privacyandcookies/">Privacy and Cookies</a></li><li class="footer-links-list-item"><a href="http://www.swan.ac.uk/course-search/">Course Search</a></li>
                </ul>

                <div id="footerDisclaimer" class="footer-disclaimer">
                    <p class="footer-disclaimer-text">Swansea University is a registered charity. No. 1138342.</p>
                </div>
            </div>
            <!--endnoindex-->

        </div>

    </div>


<script id="desktop-header-template" type="text/x-tmpl-mustache">

    <div id="header" class="layout-header">
        <div class="skip-to-content" id="skipToContent">
            {{{ skipToContent }}}
        </div>

        <h1 id="logo" class="logo">
            {{{ logo }}}
        </h1>

        <div id="globalNavWrapper" class="header-links">
            <ul id="globalNav" class="header-links-list">
                {{{ globalNav }}}
            </ul>
        </div>

        <div id="globalSearch" class="global-search-form">
            {{{ globalSearch }}}
        </div>
                    
        <div id="naviBar" class="main-nav">
            <ul id="mainNav" class="main-nav-list">
                {{{ mainNav }}}
            </ul>
        </div>
    </div>

</script>


<script id="mobile-header-template" type="text/x-tmpl-mustache">

    <div id="header" class="layout-header">
        <span class="layout-menu-bar">
            <a id="layout-menu-bar-toggle" class="layout-menu-bar-toggle" href="#">{{mobile.linksText}}</a>
        </span>

        <a id="logo-link" href="{{mobile.logoLinkHref}}">
            <img class="logo-image" alt="{{mobile.logoAlt}}" src="{{mobile.logoSrc}}" />
        </a>
    </div>

</script>


<script id="desktop-menu-template" type="text/x-tmpl-mustache">

    <div class="layout-content-nav">
        <div id="secondaryNavWrapper">
             <ul id="secondaryNav" class="content-nav content-nav-items">
                 {{{secondaryNav}}}
             </ul>
         </div>
    </div>

</script>


<script id="mobile-menu-template" type="text/x-tmpl-mustache">

    <div class="layout-content-nav">
        <div id="globalNavWrapper">
            {{{globalNav}}}
        </div>

        <div id="naviBar">
            {{{mainNav}}}
        </div>

        <div id="secondaryNavWrapper">
             <ul id="secondaryNav">
                 {{{secondaryNav}}}
             </ul>
         </div>
    </div>

</script>


<script id="desktop-tabs-pod-template" type="text/x-tmpl-mustache">

    <h2 class="tabs-pod-title">{{ podTitle }}</h2>
    <div class="tabs-pod-tabs">

        <ul class="tabs-item-list">
{{#tabs}}
            <li class="tabs-item-list-tab-item tabs-pod-tabs-tab-heading">
                <a class="tabs-item-list-tab-item-link" href="#">{{ tabHeading }}</a>
            </li>
{{/tabs}}
        </ul>

{{#tabs}}
        <div class="tabs-pod-tabs-tab">
            <div class="tabs-pod-tabs-tab-content">
                {{{ tabContent }}}
            </div>
        </div>
{{/tabs}}

    </div>

</script>


<script id="mobile-tabs-pod-template" type="text/x-tmpl-mustache">

    <h2 class="tabs-pod-title">{{ podTitle }}</h2>
    <div class="tabs-pod-tabs">
{{#tabs}}
        <div class="tabs-pod-tabs-tab">
            <h3 class="tabs-pod-tabs-tab-heading is-collapsed">
                <a href="#">{{ tabHeading }}</a>
            </h3>
            <div class="tabs-pod-tabs-tab-content" style="display: none">
                {{{ tabContent }}}
            </div>
        </div>
{{/tabs}}
    </div>

</script>


</body>

</html>
