BrightSpots / rcv

Ranked Choice Voting Universal Tabulator
Mozilla Public License 2.0
74 stars 19 forks source link

tabulation tally optimizations #155

Closed tarheel closed 6 years ago

tarheel commented 6 years ago

In multi-seat contests, we don't need to recompute winners' totals in subsequent rounds, because they'll never change.

HEdingfield commented 6 years ago

Anything left to do on this, or did #164 resolve it?

tarheel commented 6 years ago

164 did half of it (if the candidate a CVR selected last round is continuing in this round, automatically select them again). Still need to do this: "In multi-seat contests, we don't need to recompute winners' totals in subsequent rounds, because they'll never change."

HEdingfield commented 6 years ago

One thought occurred to me on this: even if a candidate is declared a winner, isn't it possible for them to get more votes in subsequent rounds? And, if so, shouldn't these be added to their totals just for the sake of accuracy in the final outcome?

tarheel commented 6 years ago

Good question, but that's not how multi-seat tabulation works. Once a candidate wins and their surplus is transferred, they're no longer considering a continuing candidate, so they don't accumulate any additional votes. As you imply, this does make the final outcome a bit unintuitive; you can't draw any conclusions by comparing the final totals of the different winners. (@CalebKleppner and @gngilbert: please correct me if I said anything wrong here.)

moldover commented 6 years ago

Right... I recall getting that explanation although the logic behind it certainly seems inaccurate. But this is definitely getting into the weeds.

tarheel commented 6 years ago

How does the logic seem inaccurate? Or, to put it another way: how else could you design the process? Allowing the candidate to continue to accumulate votes would contradict the purpose of transferring their surplus vote when they first exceeded the winning threshold.

I suppose you could do something even more complicated: allow them to accumulate surplus votes, but fully recalculate their surplus transfers each round based on their new total. That strikes me as perhaps more intuitively fair, at least in the abstract.

moldover commented 6 years ago

Yeah, when a ballot is exhausted due to no continuing candidates it could transfer to a past winner.

tarheel commented 6 years ago

Yeah. Not a crazy idea, but as far as I know, that's not how people implement it. No running up the score. Kind of like the 10-run mercy rule in Little League.

gngilbert commented 6 years ago

There are two basic partial vote methods of Distributing Surplus votes, the weighted inclusive Gregory method (WIGM) and the Meeks method. At this point we have designed the weighted inclusive Gregory method because it is the only one used in US elections.

gngilbert commented 6 years ago

While I am not entirely clear on the Meeks method it is my understanding that elected candidates can receive additional votes after they have been elected and an initial Surplus distributed. Subsequent surpluses are then also distributed. The math is more complex of course.

You are definitely correct that nothing can be implied from the final results about the level of overall support received by any candidate. The only thing we will know is who got elected first, second, third, excetera

CalebKleppner commented 6 years ago

And even the order in which a candidate reaches the threshold doesn't really mean anything.  There are ways of assessing overall level of support for candidates but order of election is a pretty arbitrary one.

Caleb Kleppner MK Election Services, LLC 203-376-4080

On 9/27/2018 12:23 AM, gngilbert wrote:

While I am not entirely clear on the Meeks method it is my understanding that elected candidates can receive additional votes after they have been elected and an initial Surplus distributed. Subsequent surpluses are then also distributed. The math is more complex of course.

You are definitely correct that nothing can be implied from the final results about the level of overall support received by any candidate. The only thing we will know is who got elected first, second, third, excetera

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/BrightSpots/rcv/issues/155#issuecomment-424954817, or mute the thread https://github.com/notifications/unsubscribe-auth/Anh6XAJxlHMvLP5S3FjrdK0Z3aCrD1qWks5ufFLUgaJpZM4WXE65.