The advantages of first-past-the-post are:
- Everyone has a representative that's for 'their area'
- Representatives can be held to account by their constituents
- Increased odds of stable governments (I'll assume this is a good thing, but see below)
- Everyone's vote matters equally
- People in safe seats don't feel enfranchised
- Minority parties are given a voice
- There's no need for complex 'tactical voting'; you simply vote for who you want.
- Everyone elects an MP, just as they do now. In addition, everyone votes for a party in a national vote.
- MPs are elected, just as they are now. Each MP is initially given 100 votes in the commons. (Let's assume there are 650 MPs, like there are now. That gives 65,000 commons votes in total from this stage)
- The party votes are then counted up. The votes for any party that got no MPs in the constituency election are ignored. 65,000 votes are then allocated to the remaining parties according to their share of the vote.
- These votes are then shared evenly among all MPs in that party.
- Obviously, we need some sort of electronic voting system in the commons; I would suggest oyster-style readers by the lobby doors, so MPs still get the exercise of walking into the lobbies to vote.
As I say, this is 50% PR, but could be tweaked by altering the number of votes issued in the 2 phases. I'll come back to that point in a second.
There obviously needs to be some rules about how to get onto the national party ballot paper. This is arguably a detail, but it might be best to say that a party has to stand for at least so many seats to appear. You could also allow a party to pay a (fairly large) deposit in order to appear. This is returned if they get any MPs elected. Allowing this deposit would mean that independents who stand a good chance of being elected (people like Martin Bell) could end up being enormously significant people in the commons. I'm not quite sure if that's a good thing or not.
A possible tweak to allow a small party list. The justification for this is to let parties like the greens in, and because senior ministers arguably do a useless job of representing their constituency. This would work as follows:
- Votes are cast, MPs elected and the 65,000 party votes are divided as before.
- Each party supplies an odered list of 10 names.
- The party votes are initially allocated 100-at-a-time to people on the list, and then the remainder are shared out among all the MPs (list and constituency). e.g. if a party had 250 party votes, the first 2 people on the list would become Ms then 50 votes (the ones left over after giving 100 to each of the 2 list MPs) would be allocated among all the party's list and constituency MPs. If a party had 2,000 votes, 1,000 would be used electing all 10 list names, and the other 1,000 shared amongst all the party's MPs.
If people want a more anti-BNP system, we just add a floor percentage of votes below which party votes are ignore. (Any party that gets under the floor of say 3% is ignored, just as parties that got no MPs were in the original system were ignored)
We probably want to shrink the number of constituencies to allow space for all these list MPs, but that's a detail. (We also might want to shrink the number of constituencies because there are far too many MP but that's another story)
To make life slightly more interesting, we could allow factions to appear on the party list. A faction is like a sub-party. To prevent things getting too interesting, I would allow each candidate to be a member of only 1 faction as well as a party. A faction appears on the party ballot paper if it satisfies the requirements for a party above (more than so many candidates, or pay a deposit). I can't quite decide if list candidates are allowed to be members of factions; I'm minded to say no. Faction votes are counted and allocated exactly like party votes, apart from the fact that factions certainly don't have their own lists. An MP who's a member of a faction gets 'party votes' from his party and from his faction. This has no impact on the overall electoral sums; the number of votes given to a party if some people vote for factions is the same as if they voted just for the party. However, they are biased towards the end of the party that has more popular support.
Cross-party factions should probably be banned.
As a final tweak, this has the interesting property that it's possible to change the effective PR-ness after the election. This property could be used to try and move towards fixed term parliaments while basically keeping the british constitutional system. To do this, we remove the prime minister's right to ask for an election. Usually, elections happen some fixed time (4 years) after the last one, and initially happen with a bigger bias towards PR (say 32,500 constituency votes in the commons and 65,000 party votes, although it could even be 0 constituency votes). If a confidence vote fails, the monarch should firstly attempt to find another prime ministerial candidate capable of winning a confidence vote, but to do that they are allowed to change the number of constituency and party votes. This effectively creates a 'new commons' which may have a different balance of power, but which was still arguably democratically elected by the same election. A minor detail is how to prevent governments from deliberately failing confidence votes in order to get a more first-past-the-post system (and hence a stronger real majority), but I'm sure that would be possible.