CLMP - 2021 simulation
Introduction
This simulation was built on publicly available data for the 2021 Canadian Federal Election that is assumed to be accurate. Since this is a solo project there is a high likelihood of minor mistakes. I do not feel any are serious enough to cause any fundamental problems with the simulation that would invalidate the basic fundamentals of how the system works when applied to a real scenario.
The 2021 Federal election was one that broadly delivered the minority government that Canadians seemed to want. It does not feature very major distortions between the vote share of the parties and the number of seats they won.
However it still had the bizarre situation of
- The Conservative party earning more votes but winning fewer seats than the Liberals
- The NDP getting far fewer seats than the Bloc despite having far more votes
- Having large swaths of the country represented by only one party even though that is not representative of the voters in the regions.
Making the simulation work
Data Sources
- There is a regional breakdown of all the ridings that I have taken advantage of. The regional breakdown is somewhat arbitrary but it works perfectly for this simulation.1
- Overall results breakdown is from Wikipedia.2
- Riding by riding results are from Elections Canada.3
Points to note
- I have kept the number of ridings the same and added proportional seats to achieve proportionality. This leads to a parliament size of 455 with 117 of these seats being proportional. If this seems like too many representatives then I would first note that this is only for simulation purposes but secondly that democracy is a very expensive system of government to run and we get what we pay for. I urge people to not be angry at having more democratic representation.
- This means only about 25% of the seats are proportional in the overall parliament which violates the 30% minimum suggestion in the CLMP system. This was due to a simple mathematical mistake as I assigned 30% more seats (rounded up) to each region and didn't realize this would not lead to 30% proportional seats overall.
- I assumed no vote splitting, that is to say that a vote for a party candidate would also be a vote for the party. This is the most reasonable option from a simulation perspective and also serves to demonstrate how a 'one vote PR' system would work where a single ballot vote for a candidate would also be considered to be a vote for the party. While this removes one of the more attractive features of MMP, it does prevent gaming the system through the use of 'decoy lists', though CLMP has other safeguards against this.4
- The People's Party achieved a very impressive result of having 4.94% of the vote. I missed including them as the party breakdown did not show them as they won no seats. The 5% threshold would have kept them that way as well.
Additional seats by region
Province | Region | # of seats | extra seats (30% rounded up) | Province Summary |
---|---|---|---|---|
Newfoundland and Labrador | Newfoundland and Labrador | 7 | 3 | 3 |
Nova Scotia | Nova Scotia | 11 | 4 | 4 |
Prince Edward Island | Prince Edward Island | 4 | 2 | 2 |
New Brunswick | New Brunswick | 10 | 3 | 3 |
Quebec | Eastern Quebec | 5 | 2 | |
Quebec | Côte-Nord and Saguenay | 5 | 2 | |
Quebec | Quebec City | 5 | 2 | |
Quebec | Central Quebec | 9 | 3 | |
Quebec | Eastern Townships | 9 | 3 | |
Quebec | Montérégie | 10 | 3 | |
Quebec | Central Montreal | 10 | 3 | |
Quebec | Suburban Montreal and Laval | 13 | 4 | |
Quebec | Laurentides Outaouais and Northern Quebec | 12 | 4 | 26 |
Ontario | Northern Ontario | 9 | 3 | |
Ontario | Ottawa | 8 | 3 | |
Ontario | Eastern Ontario | 8 | 3 | |
Ontario | Central Ontario | 9 | 3 | |
Ontario | Durham and York Region | 15 | 5 | |
Ontario | Toronto | 25 | 8 | |
Ontario | Brampton Mississauga and Oakville | 13 | 4 | |
Ontario | Hamilton Burlington and Niagara | 10 | 3 | |
Ontario | Midwestern Southern Ontario | 14 | 5 | |
Ontario | Southwestern Ontario | 10 | 3 | 40 |
Manitoba | Rural | 6 | 2 | |
Manitoba | Winnipeg | 8 | 3 | 5 |
Saskatchewan | Rural | 8 | 3 | |
Saskatchewan | Regina | 3 | 1 | |
Saskatchewan | Saskatoon | 3 | 1 | 5 |
Alberta | Rural | 15 | 5 | |
Alberta | Edmonton and environs | 9 | 3 | |
Alberta | Calgary | 10 | 3 | 11 |
British Columbia | Northern Interior B.C. | 3 | 1 | |
British Columbia | Southern Interior B.C. | 6 | 2 | |
British Columbia | Fraser Valley and Southern Lower Mainland | 11 | 4 | |
British Columbia | Vancouver and Northern Lower Mainland | 15 | 5 | |
British Columbia | Vancouver Island | 7 | 3 | 15 |
Yukon | Yukon | 1 | 1 | 1 |
Northwest Territories | Northwest Territories | 1 | 1 | 1 |
Nunavut | Nunavut | 1 | 1 | 1 |
338 | 117 |
The last column shows the number of regional seats added at the provincial level.
Calculations
Table of FPTP district/riding level results by party
Party | Vote percentage | Seats | Seats percentage | Meet Threshold of 5%? |
---|---|---|---|---|
Lib | 32.6 | 160 | 47.34 | TRUE |
Con | 33.7 | 119 | 35.21 | TRUE |
NDP | 17.8 | 25 | 7.4 | TRUE |
BQ | 7.6 | 32 | 9.47 | TRUE |
Green | 2.3 | 2 | 0.59 | FALSE |
This is the party results breakdown and the distortions of FPTP are obvious. I have also added a column to note if the party has passed the 5% threshold or not as that matters to the subsequent calculations.
Base Calculations
- PEVP is calculated as 32.6+33.7+17.8+7.6+2.3 = 91.7
- PES is calculated as 338+117-2 = 453
Table of FPTP results plus proportional calculations
Party | Vote percentage | Seats | Seats percentage | Meet Threshold of 5%? | Should have total seats | Difference between Should have seats and locally elected seats | Regional Seats (Rounded) | Modification if needed | Final Seats | Final Percent |
---|---|---|---|---|---|---|---|---|---|---|
Lib | 32.6 | 160 | 47.34 | TRUE | 161.044711 | 1.044711014 | 1 | 1 | 161 | 35.38461538 |
Con | 33.7 | 119 | 35.21 | TRUE | 166.478735 | 47.47873501 | 47 | 47 | 166 | 36.48351648 |
NDP | 17.8 | 25 | 7.4 | TRUE | 87.93238822 | 62.93238822 | 63 | 63 | 88 | 19.34065934 |
BQ | 7.6 | 32 | 9.47 | TRUE | 37.54416576 | 5.544165758 | 6 | 6 | 38 | 8.351648352 |
Green | 2.3 | 2 | 0.59 | FALSE | 2 | 0 | 0 | 0 | 2 | 0.43956044 |
In 2021 the difference between vote percentage and seats earned at the riding level were not so extreme that the approximately 26% extra seats were enough to provide much better proportionality. What would this look under a very distorted example is looked at in the appendix here. It is here where the modification if needed column is useful.
Gallagher Index comparison
The Gallagher Index is a simple measure of how proportional an election outcome is, with a lower index meaning more proportional.
The 2021 election results have a Gallagher Index of 13.4, under CLMP it would be 4.8.
MPRC assignment
According to the calculations 117 candidates are to be assigned with 1 going to the Liberals, 47 to the Conservatives, 63 to the NDP, and 6 to the Bloc.
I sorted all the candidates that did not win by the share of the vote they received and assigned them to the regional seat their riding was in. Here is the table of those results.
The NDP only received 62 as in the region of Nunavut the NDP candidate won the riding seat and so there was no NDP candidate available to fill the regional seat and it went to the Conservative candidate instead.
Appendix
Distorted results calculation example
In 2011 the distortions of FPTP were slight enough that the 117 extra seats provided were enough to achieve very good proportionality. But what would happen if the distortions were very extreme. This is examined here in an imagined scenario that the Bloc wins all seats in Quebec and the Conservatives win only two seats. Is this unrealistic? Sure, but it's similar to what actually happened in the 1993 Canadian Federal election5 and is meant to be a stress test.
Party | Vote percentage | Seats | Seats percentage | Meet Threshold of 5%? | Should have total seats | Difference between Should have seats and locally elected seats | Regional Seats (Rounded) | Modification if needed | Final Seats | Final Percent |
---|---|---|---|---|---|---|---|---|---|---|
Lib | 32.6 | 220 | 65.09 | TRUE | 161.044711 | -58.95528899 | 0 | 0 | 220 | 48.35164835 |
Con | 33.7 | 2 | 0.59 | TRUE | 166.478735 | 164.478735 | 164 | 89 | 91 | 20 |
NDP | 17.8 | 36 | 10.65 | TRUE | 87.93238822 | 51.93238822 | 52 | 28 | 64 | 14.06593407 |
BQ | 7.6 | 78 | 23.08 | TRUE | 37.54416576 | -40.45583424 | 0 | 0 | 78 | 17.14285714 |
Green | 2.3 | 2 | 0.59 | FALSE | 2 | 0 | 0 | 0 | 2 | 0.43956044 |
Essentially 58 seats would have to be taken away from the Liberals and 40 from the Bloc to make the results proportional under the constraint of only 117 regional seats. A solution to this would be to add additional seats to make the results proportional but this is something that Canadians have a negative opinion of so instead the seats that the Conservatives and NDP would have received are instead prorated down to fit the 117 seat constraint.
This is obviously not very proportional but even with this extreme case CLMP manages to knock the Liberals down to a minority and elevate the Conservative to Official Opposition status. Neither of which FPTP was able to manage in 1993.
Distorted Gallagher Index comparison
The imagined 2021 election results have a Gallagher Index of 35.1 under CLMP it would be 16.9.