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.
| Pollster | REF | LAB | CON | LD | GRN |
|---|---|---|---|---|---|
| YouGov | -1.0 | +0.4 | +0.4 | +0.3 | +0.2 |
| Find Out Now | +2.2 | -1.0 | -0.6 | -0.3 | 0 |
| More in Common | -0.4 | +0.8 | +0.2 | 0 | 0 |
| Opinium | +0.2 | +0.6 | -0.2 | 0 | 0 |
| Savanta | +0.3 | +0.4 | 0 | 0 | 0 |
| Survation | -0.5 | +1.0 | -0.2 | 0 | 0 |
| Deltapoll | 0 | +1.2 | -0.4 | 0 | 0 |
| Techne | +0.4 | +0.3 | 0 | 0 | 0 |
| Redfield & Wilton | +0.8 | -0.3 | -0.2 | 0 | 0 |
| JL Partners | +0.5 | +0.2 | 0 | 0 | 0 |
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