Since 8 July 2004, predictions have been based on a new model of voter movement. This new model is quite similar in effect to the simple additive Uniform National Swing model, but has two major advantages:

- Predicted share of the vote cannot go unreasonably low or negative
- Predicted share of the vote cannot go unreasonably high or above 100%

The new model avoids these problems, whilst retaining the good properties of the old model, and making very similar predictions for which party will actually win each seat. Backtesting each model against the last four elections showed quite good performance from both, with the Transition Model being slightly, but not significantly, more accurate.

Below is a technical description of both models, plus the results of Backtesting, for those who may be interested.

Let us define our observables as

*E(i)*national (percentage) support for party*i*at the last election,*C(i,k)*(precentage) support for party*i*in seat*k*at the last election, and*P(i)*current (precentage) support for party*i*at the moment, as measured by the opinion polls.

*A(i,k)*current support for party*i*in seat*k*.

*A(i,k)* = *C(i,k)* + *P(i)* - *E(i)*.

This model, although simple, is quite robust, easy to implement, and seems to work
well in practice. One problem with the model is that the prediction *A(i,k)* can be
higher than 100% or (more commonly) negative. Whilst this may not alter who wins the seat,
it is an unattractive feature.

For example, suppose Labour's support has dropped by 6% nationally, but in a particular seat their support at the last election was only 4%. Then their predicted vote in that seat will be -2% which is obvious nonsense.

The general idea is to categorise parties into those whose support has increased and those whose support has decreased. The two groups of parties are handled separately.

- Parties who decline will be assumed to decline multiplicatively. That is, if their national supports drops by a tenth (say from 40% to 36%), then their vote in each seat will drop by a tenth.
- Parties who increase will gain those voters from the declining parties in proportion to the amount of that party's increase compared with the other increasing parties.

To express the model in symbols we need to define two quantities. They are

*Share(i)*is the relative national share of gains made by party*i*relative to all the gaining parties:*Share*(*i*) = max{*P*(*i*) −*E*(*i*), 0 } / Σ_{j}max{*P*(*j*) −*E*(*j*), 0 }.*SwingVoters(k)*is the fraction of voters in seat*k*who have changed parties*SwingVoters*(*k*) = Σ_{j}*C*(*j*,*k*) max{ 1 −*P*(*j*) /*E*(*j*), 0 }.

The predicted support levels are now

*A(i,k)* = *C(i,k)* * *P*(*i*) / *E*(*i*), if party *i* declines

*A(i,k)* = *C(i,k)* + *Share*(*i*) * *SwingVoters*(*k*), if party *i* increases

It is called a transition model, because we are modelling the transition of
each voter from their vote at the election to their vote now. Probabilistically, we
are saying that a voter from party *i*

- will definitely stay with party
*i*, if party*i*increases; otherwise - will randomly stay with party
*i*, with chance*P*(*i*) /*E*(*i*), or else - will change to party
*j*, with chance*Share*(*j*).(1 −*P*(*i*) /*E*(*i*)).

Seats Wrong | Ave Vote Error | |||
---|---|---|---|---|

Election | Additive | Transition | Additive | Transition |

2001 | 31 | 30 | 2.9% | 2.8% |

1997 | 50 | 42 | 3.1% | 3.1% |

1992 | 49 | 51 | 2.9% | 3.1% |

1987 | 40 | 40 | 3.1% | 3.2% |

The table shows the number of seats in each election which were wrongly predicted by each model, and the average major party vote share estimation error of each model.

Apart from the better performance of the Transition Model over the Additive Model in 1997, both models behave very similarly. There is no significant difference between their predictions.

Return to top of this page or home page.