General Equation

Constituency % Projection = Base +/- (National Swing * Final Weight)


We currently hold the results of each constituency from the 2019 General Election. We use these results as a baseline to which we apply our methodology.


The final weight number is comprised of various minor weights. These are added together and applied to the national swing per constituency. Each weight is explained below.

Relative Party Strength Weight

Each party has it’s mean support calculated by adding up all of its % support in the previous election and dividing it by the number of constituencies that is stood in. This weight is the relative strength of constituency compared to that mean with a cap on those over performing outliers. The cap has been calculated by comparing the highest constituency swings with the general election swings.

There is no lower cap as we cannot have a party which gained 3% in a constituency losing 15% of the vote, therefore the lowest performing seats compared to the average would see a far smaller decrease in vote than that of the larger seats. This is as we rarely see the major parties achieve a 0% voting record in any constituency they stand in.

The reason for the upper cap is that we see parties such as the Greens holding large outliers to their mean support, without the cap this weight would see such outliers boost their support in such areas enormously within the methodology where it has no basis of increasing by such a margin.

The leftover weight from each overperforming seat is not thrown away, it is redistributed over all constituencies the party is standing in.  For example, if the party has 4 outliers totalling an extra weighting of 8 after the cap is applied, this would be divided by the total number of seats standing and that number added to each constituency weight for said party including those seats that were initially capped.

Age Density Weight

We currently store the estimated amount of people of a given age within each constituency. This data is updated based on releases through the ONS, NRScotland and NISRA. Each pollster releases breakdowns of voting intention by age groupings. We use an average of these groupings between various pollsters to give a weight to each party on how likely a given age group will vote for said party.

*As a note there are four commonly used age groupings, 18-24, 25-49, 50-64, 65+.

From these numbers we can calculate the proportions of a party’s voting intention an age group fills. For example, although say 53% of 65+ will vote Conservative, this will constitute 39% of the overall Conservative vote. Giving the conservatives a +0.14 initial weight with the 65+ grouping, in contrast say 18% of 18-24 grouping vote conservative this will constitute only 5% of the Conservative overall vote. Equalling a -0.20 weight for the 18-24 grouping. We can then apply the percentage each grouping constitutes in a given seat based on the aforementioned population statistics to each party age weight, we end up with the full age density weighting for a given party in a given seat.

Volatility Weight

As previously mentioned we hold the constituency results from the 2019 general election, we also hold the 2015 results. With these sets of results we can see the volatility within each seat visualised as the % either over or under the average swing per party.

This is the easier of the weightings to calculate.

If a party achieves an average national swing of 5%, a constituency change of 15% would equate to a 0.10 weight whilst a -5% would equate to -0.10 weight. We calculate this for 2015, 2017 and 2019 elections and average the result. This helps pick up on some constituencies that are diverging from the trend.