First issue: Suppose there are two opposing factions, one comprising 55% of voters and the other 45%, in a three-winner election. The smaller faction fields only one candidate. Let’s suppose the 45% of voters marking this candidate as “good” is enough to get her into the top 3. Then this candidate has the most “bad” ratings and is permanently eliminated, leaving the smaller faction without representation. This issue can be addressed by not having the rejected candidate permanently eliminated.
Second issue: Suppose the same factions for a three-winner election, but suppose each faction fields many candidates. In the first round, three candidates from the larger faction have the most “good” ratings. Suppose the vast majority of voters in the smaller faction gave each of these candidates a “bad” rating and a bit over 45% of voters (who are in the larger faction) gave the elected candidate a “good” rating. For the next round, voters in the majority faction and those in the minority faction will have lost roughly the same amount of ballot weight. This again allows the majority faction to win all three seats. To fix this issue you’d have to have ballot weigh only depend on support for candidates who were elected.
With both of these changes, I think you’d be left with something that at least comes close to being proportional, though you’d still have some issues. It would be possible for a majority faction to prevent any one candidate from being elected by marking that candidate as the only “bad” candidate and by having hardly anyone mark a candidate as “good”. (This strategy is terrible in practice and can be countered by having the minority faction run a “clone” of this candidate, but it still makes the voting method fall short of proportionality.)
I tried to run your second case with six candidates for each faction (A1-A6, and B1-B6), and have 11 ballots that rate all A candidates ‘Good’ and all B candidates ‘Bad’, plus 9 ballots that rate all A candidates ‘Bad’ and all B candidates ‘Good’. The results are indeed like you said:
elected = [‘A3’, ‘A1’, ‘A6’] ejected = [‘A2’, ‘A5’, ‘B1’]
And if I make both changes (make rejections non-final and reweigh only based on support for elected candidates) I get:
elected = [‘A3’, ‘A1’, ‘B2’]
Which is closer to proportionality, but It’s hard to know with only 3 seats, so I increased it to 10 and got:
I also thought that perhaps in the first step of each round the ballots should be reweighed based only on support for elected candidates, in the second step based only on resistance to rejected candidates, and in the third step based on either both or again based only on support for elected candidates. I’ll test that next and return with results.
Either way, I think a case like this where you have two completely polarized groups is not very realistic in a place where multiple candidate/parties are elected (not a single-winner two-party system), and a voting method like this exists. Even in Israel that is very polarized and doesn’t have a system like this you still won’t get anything that looks like this ballot arrangement. But It’s still good to know what happens in edge cases, so thanks pointing this out :)
P.S, I’m putting the data for the candidates and ballots in a reply for anyone who wants to replicate the results.
This is not a proportional voting method.
First issue: Suppose there are two opposing factions, one comprising 55% of voters and the other 45%, in a three-winner election. The smaller faction fields only one candidate. Let’s suppose the 45% of voters marking this candidate as “good” is enough to get her into the top 3. Then this candidate has the most “bad” ratings and is permanently eliminated, leaving the smaller faction without representation. This issue can be addressed by not having the rejected candidate permanently eliminated.
Second issue: Suppose the same factions for a three-winner election, but suppose each faction fields many candidates. In the first round, three candidates from the larger faction have the most “good” ratings. Suppose the vast majority of voters in the smaller faction gave each of these candidates a “bad” rating and a bit over 45% of voters (who are in the larger faction) gave the elected candidate a “good” rating. For the next round, voters in the majority faction and those in the minority faction will have lost roughly the same amount of ballot weight. This again allows the majority faction to win all three seats. To fix this issue you’d have to have ballot weigh only depend on support for candidates who were elected.
With both of these changes, I think you’d be left with something that at least comes close to being proportional, though you’d still have some issues. It would be possible for a majority faction to prevent any one candidate from being elected by marking that candidate as the only “bad” candidate and by having hardly anyone mark a candidate as “good”. (This strategy is terrible in practice and can be countered by having the minority faction run a “clone” of this candidate, but it still makes the voting method fall short of proportionality.)
I tried to run your second case with six candidates for each faction (A1-A6, and B1-B6), and have 11 ballots that rate all A candidates ‘Good’ and all B candidates ‘Bad’, plus 9 ballots that rate all A candidates ‘Bad’ and all B candidates ‘Good’. The results are indeed like you said:
And if I make both changes (make rejections non-final and reweigh only based on support for elected candidates) I get:
Which is closer to proportionality, but It’s hard to know with only 3 seats, so I increased it to 10 and got:
Which seems close to proportionality.
I also thought that perhaps in the first step of each round the ballots should be reweighed based only on support for elected candidates, in the second step based only on resistance to rejected candidates, and in the third step based on either both or again based only on support for elected candidates. I’ll test that next and return with results.
Either way, I think a case like this where you have two completely polarized groups is not very realistic in a place where multiple candidate/parties are elected (not a single-winner two-party system), and a voting method like this exists. Even in Israel that is very polarized and doesn’t have a system like this you still won’t get anything that looks like this ballot arrangement. But It’s still good to know what happens in edge cases, so thanks pointing this out :)
P.S, I’m putting the data for the candidates and ballots in a reply for anyone who wants to replicate the results.
candidates = {‘A1’: [0, 0, 0], ‘A2’: [0, 0, 0], ‘A3’: [0, 0, 0], ‘A4’: [0, 0, 0], ‘A5’: [0, 0, 0], ‘A6’: [0, 0, 0],
‘B1’: [0, 0, 0], ‘B2’: [0, 0, 0], ‘B3’: [0, 0, 0], ‘B4’: [0, 0, 0], ‘B5’: [0, 0, 0], ‘B6’: [0, 0, 0]
}
ballots = [
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
]