Install ElectaMeter

    Add to your home screen for quick access to live political scores.

    Skip to content

    Methodology

    How the ElectaMeter Score is calculated.

    The Formula

    Score = 0.6×pollScore + 0.3×bettingScore + 0.1×seatScore

    Each component is normalised to a 0–100 scale using realistic ceilings: 40% vote share, 50% implied probability, and 325 seats (a parliamentary majority). The default weighting ("Balanced") uses a 60/30/10 split, but users can switch presets or drag custom sliders (the mix is saved in the URL) to emphasise polls, markets, or seat projections.

    Source Code

    This is the exact code that runs on our server to calculate every score you see on the dashboard.

    function calculateScore(
      pollAvg: number,
      bettingProb: number,
      seatProjection: number,
      weights: WeightingPreset
    ) {
    
      // Normalize each metric to a 0–100 scale
      // 40% vote share = dominant in UK multi-party system
      const pollScore = Math.min(100, (pollAvg / 40) * 100)
    
      // 50% implied probability = clear favourite
      const bettingScore = Math.min(100, (bettingProb / 50) * 100)
    
      // 325 seats = parliamentary majority
      const seatScore = Math.min(100, (seatProjection / 325) * 100)
    
      const raw = 
        pollScore * weights.polls +
        bettingScore * weights.betting +
        seatScore * weights.seats
    
      return Math.round(Math.max(1, Math.min(100, raw)))
    }

    Component 1: Poll Average (60%)

    We aggregate national opinion polls from all major UK pollsters including YouGov, Opinium, Savanta, Deltapoll, Redfield & Wilton, Survation, Techne, Find Out Now, and others. The latest 20 polls are quality-weighted: newer polls decay with a 21-day half-life and larger samples count more via sqrt(n / 1000). Turn on “Adjust for house effects” to subtract the documented pollster offsets below. Read the house-effects guide. Custom sliders on the dashboard replace the default 60/30/10 mix and are stored in the page URL.

    House-effect starting set

    Offsets are percentage points typically overstated by that pollster. They are a documented starting set, not a claim of true long-run bias, and live in the pollster_adjustments table.

    PollsterREFLABCONLDGRN
    YouGov-1.0+0.4+0.4+0.3+0.2
    Find Out Now+2.2-1.0-0.6-0.30
    More in Common-0.4+0.8+0.200
    Opinium+0.2+0.6-0.200
    Savanta+0.3+0.4000
    Survation-0.5+1.0-0.200
    Deltapoll0+1.2-0.400
    Techne+0.4+0.3000
    Redfield & Wilton+0.8-0.3-0.200
    JL Partners+0.5+0.2000

    Component 2: Betting Markets (30%)

    We take comparable most-seats and next-government markets only. Exchange and prediction-market prices come from Smarkets and Manifold. High-street bookmaker most-seats prices (Bet365, Sky Bet, Paddy Power, Coral, Ladbrokes, William Hill, Betfred, and others, collected via BettingLounge) are first averaged into a single UK bookmaker consensus so twenty similar shop prices do not drown out the exchanges. Decimal odds are then converted to implied probabilities and averaged. See the live odds page and the polls versus markets guide.

    Component 3: Seat Projections (10%)

    Seat projections are scraped from Electoral Calculus, which uses MRP-style modelling applied to constituency-level results. The projected seat count is normalised to a 0–100 scale where 325 seats (a parliamentary majority) equals 100.

    Sources

    Polling Data

    YouGov, Opinium, Savanta, Deltapoll, Redfield & Wilton, Survation, Techne, Find Out Now, BMG Research, More in Common, and others

    Betting Markets

    • Smarkets – smarkets.com (Most Seats, Majority)
    • Manifold Markets – manifold.markets (most seats, PM party, and related markets)
    • UK bookmakers – Bet365, Sky Bet, Paddy Power, Coral, Ladbrokes, William Hill, Betfred, Virgin Bet, Betway, and others, via BettingLounge most-seats odds

    Seat Projections

    Electoral Calculus – electoralcalculus.co.uk

    Regional estimates

    Regional scores are modelled estimates, not scraped regional polls. ElectaMeter applies documented geographic modifiers to the national polling average (for example stronger Reform in the North, stronger Labour in London and Wales, SNP concentrated in Scotland). The map and Regions page always label this as a model. Constituency colours are derived from Electoral Calculus national seat totals plus those regional weights — they are not official per-seat forecasts. See the seat models guide and constituency search.

    Disclaimer

    The ElectaMeter Score is not a prediction of election outcomes. It is a composite indicator that aggregates publicly available data from opinion polls, betting markets, and seat projection models. No guarantee of accuracy is made. This is an informational tool only.

    Frequently Asked Questions

    We use cookies for analytics to understand how you use ElectaMeter. Privacy Policy