In the interests of preserving screen space, conserving user requirements for manual input, and to avoid unwanted publicity (e.g., "BCS program clearly states that NDP (or Liberals, or Greens - your choice) will win all 79 seats") we have decided to stick with P1, P2, ... and C1, C2, ... . A little less appealing, but safer!
No comment on the chances of BC-STV passing; we decided to contribute this program in the hope that voters would be better informed before they choose to adopt it or not.
Question: I put the following data into your simulated STV software: Party1: All candidates got 40% of the votes Party2: All candidates got 40% of the votes Party3: All candidates got 20% of the votes
The result is that P1 got 3 MLAs, P2 got 2 MLAs, and P3 got 1 MLA. Is this an error in the software or the system?
Answer: This should clearly result in a tie. If by this you mean that in Step 1 you chose 6 MLAs, 3 parties, and 6 candidates in each party, and then in Step 2 assigned preferences 1,2,3,4,5,6 to C1,C2,C3,C4,C5,C6 for, say, 4000 ballots, and then assigned preferences 1,2,3,4,5,6 to C7,C8,C9,C10,C11,C12 for 4000 ballots, and then assigned preferences 1,2,3,4,5,6 to C13,C14,C15,C16,C17,C18 for 2000 ballots, then you would indeed obtain the result that you quoted. And this would be the correct result for the BC-STV system, because we're using its rules for resolving ties.
This is a really interesting example, although we could not find any information on the Citizens' Assembly website that explained where it came from, nor does there appear to be any description of the input data. So, being intrepid workers here at BCS, we reverse engineered this example (i.e., applied raw brainpower combined with some experimentation), and produced the input data shown in the image below. Step 3 of our Java program will reproduce exactly the counting details shown on the CA website if in Step 1 you choose 3 MLAs, 3 parties, and 2, 2, and 1 candidates, respectively, then in Step 2 enter the ballots as shown below. Of course, you'll need to associate candidate C1 with Freda, C2 with Bill, both of the Apple Party (P1), etc., if you want to reproduce the actual wording in the example at www.citizensassembly.bc.ca/resources/WIGCountExampleFinal.pdf .
With just two candidates you could vote 4 different ways: C1,C2,C1C2, and C2C1, and with three candidates you could vote 15 different ways: C1,C2,C3, C1C2,C1C3,C2C1,C2C3,C3C1,C3C2,C1C2C3,C1C3C2,C2C1C3,C2C3C1,C3C1C2, and C3C2C1. In mathematical terms, if there are n candidates, the number of different ways ballots could occur is nP1+nP2+nP3+...+nPn, where nPm is the number of permutations of n objects chosen m at a time. As you can see from the table below, the number of distinct ballot permutations grows very rapidly as the number of candidates increases.
So, the answer to your question is that with 10 candidates there are more than three times as many ways to fill out a ballot than there are registered voters in BC. With 13 candidates there would be more than twice as many ways to fill out a ballot than there are people on Earth. Read More ...
Question: Your simulator did not allow me to choose the ranking of candidates within a party when they got differing numbers of votes. I had 3 parties, two of them with 3 candidates and 1 of them with only 1 candidate. Specifically I identified party 1 as the Blue Red party with 48000 voters who would vote only for their candidates and in a specified order, first choice, second choice and third choice. That was easily accomplished. The second Party was the Pale Pink party, with 42000 voters, who also voted the strict party line. The complication arose with the third Party, The Green Party, with 10,000 stalwart voters, who could only afford to field one candidate. Their supporters would all chose that candidate first, but would also choose second, third and fourth choices from the Pale Pink party, never from the Blue Red party. I was unable to show this mix of voter choices for each of the Pale Pink candidates. How would I show, for instance that candidate 4 ( top of the Pale Pink list) received 42000 first choice votes and, say 5000 second choice votes and 5000 third choice ( from the Green people) and that Candidate 5 ( Number 2 of the Pale Pinks) received say 45000 second place votes ( 3000 from the Greens) plus 3000 third place votes also from the Greens. Candidate 6, (3rd in the Pale Pinks), received 2000 second place votes from the Greens, 42000 third choice votes from the Pale Pinks, plus 2000 third place from the Greens plus 10000 4th choice also from the Greens. I appear to be unable to find any way of putting the number I wanted into the boxes; it insisted on showing number 1 or 2 or 3 whether or not that was what I wanted to record. Unless you can tell me how to record these various choice level votes for each candidate I doubt if your simulator can accurately parallel the range of votes which are likely to be found on the ballots and where second choice and third choice votes are likely to be determinants in a riding with say 3 or more parties, where several of the parties only run one candidate and their adherents vote second third and perhaps fourth choices to one of the two mainstream parties.
Answer: In your example there are 4 distinct groupings of "Green" party supporters, of sizes 3000, 2000, 3000, and 2000, respectively. Each grouping has Candidate 7 as a first choice, but has different second, third, and fourth choices. The first grouping of 3000 prefers candidates in this order: candidate 7, candidate 4, candidate 5, and candidate 6. 2000 voters vote as follows: candidate 7, candidate 4, candidate 6. 3000 voters vote as follows: candidate 7, candidate 5, candidate 4, candidate 6. 2000 voters vote as follows: candidate 7, candidate 6, candidate 4. (Note that it is impossible for 10000 Green voters to have a 4th preference of candidate 6, as you stated in your email, since 4000 of these voters have already chosen candidate 6 as a 2nd or 3rd choice).
Question: I'm using your BC-STV demo and when I repeat the count, I get different results in each round. Given that the inputs does not change, I would expect to get the same results each time. I have:
Step 1: 2 MLA 3 Parties P1 has 1 candidate P2 has 1 candidate P3 has 1 candidate
Step 2: C1,C2 has 100 votes C2,C3 has 100 votes C3,C2,C1 has 100 votes
Step 3: I click on "Start Count", then "Continue Counting". On the first round I got "Least popular candidate C1 was eliminated". I then click on "Restart Count", but this time I get C2 was eliminated. When I repeat again, I get this time that C3 was eliminated. Why does the eliminated candidate change each time I "restart the count"? See the output below from your program.
Answer: Our program follows the BC-STV rules faithfully, and the randomness you experienced in these tied situations is deliberate. We use a random number generator to break ties in situations like this. Of course, in a real election, this type of situation is not likely to occur - but the rules are there just in case.