Batch Elimination option for STV
We now have some jurisdictions using RCTab for STV. We've had requests to implement batch elimination in STV.
Current Behavior
In IRV I have a checkbox for "Use Batch Elimination". When I switch the Winner Election Mode to Multi-Winner that option is greyed out.
Expected Behavior
The checkbox for "Use Batch Elimination" remains as a toggleable option for STV. When enabled, candidates are batch eliminated when possible.
Open Questions
- Batch elimination in IRV is fairly straightforward. What exactly is the math for batch eliminating in STV?
There is one notable subtlety. In single-seat elections, batch elimination applies to the largest set of candidates which together do not have more votes than the next highest vote-getter. But if you follow the same rule with STV, you might alter the result, since a candidate in that batch may put another candidate over threshold earlier than they otherwise might.
I guess the safe rule is: the largest set of candidates which together do not have more votes than the next highest voter-getter and do not have more than the difference between the election threshold and the highest vote-getter?
the largest set of candidates which together do not have more votes than the next highest voter-getter and do not have more than the difference between the election threshold and the highest vote-getter
So that second part is making sure everyone we're getting ready to batch eliminate together couldn't jump to be elected in that round? Do you have any examples with rankings we could put into a test?
FWIW, I hate batch elimination. Condensing rounds should be done in results reporting, not during tabulation. But my preferences don't impact what's in statute :)
Matching statute is for sure important if someone requires this.
Also, many jurisdictions have post-election audit requirements. When hand counting RCV results for an audit or recount, batch elimination can make a not-insignificant difference in the amount of work required to do that. Showing that RCTab supports lightening the load, even a little, can be a big boost to buy-in.
Can someone check my work? Here's an example of a 4 seat election with 1000 voters, quota is 201 votes:
201 ballots: A
201 ballots: B
200 ballots: C>E
151 ballots: D
150 ballots: E
50 ballots: F>C>D
46 ballots: G>E
1 ballots: G>C>D
If we eliminate one candidate at a time, the rounds proceed as follows:
- A and B are elected in the first round with no surplus.
- G is eliminated
- C is elected with no surplus
- F is eliminated
- D is elected
Winners are A, B, C, and D
If we batch eliminate using the criteria for single-seat elections, without regard to putting another candidate over threshold:
- A and B are elected in the first round with no surplus.
- F and G are batch eliminated
- C is elected with a 50 vote surplus; ~39.84 votes transfer to E and ~10.16 votes transfer to D
- E is elected
Winners are A, B, C, and E
There's probably a simpler example.
A few more notes on this. It turns out the rule I suggested in https://github.com/BrightSpots/rcv/issues/917#issuecomment-2684009345 is also written up in Wikipedia's section on "bulk exclusions":
"Any candidates with a tally less than a breakpoint can be included in a bulk exclusion process provided the value of the associated running sum is not greater than the difference between the total value of the highest hopeful's tally and the quota."
I'll add one more benefit to having batch elimination as an option: it makes it less likely that ties for last place need to broken randomly. There are some jurisdictions, including the entire state of Massachusetts, where breaking ties by lot is not legal, so any ways to limit the likelihood of an exact tie is appreciated. To that end, some systems, including DemocracySuite from Dominion, provide a batch elimination option that only applies when candidates are tied for last place. I've filed a feature request in https://github.com/BrightSpots/rcv/issues/921 in case you want to consider it.
This makes sense to me and would be easy to implement.
The variant of Batch Elimination I advocate for in statute is that it's allowed for last place and for write-ins, but not for intermediary rounds. As an example, Rounds 4 and 6 of NYC's 2021 primary confused a lot of people. I don't think the public confusion outweighs the benefits in an audit or recount, but of course, I'm biased as I hear from confused voters more than I hear from election administrators.