Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tabulating by "sub-level" Enhancement 1: Tabulate by Batch #807

Closed
yezr opened this issue Mar 4, 2024 · 6 comments · Fixed by #816
Closed

Tabulating by "sub-level" Enhancement 1: Tabulate by Batch #807

yezr opened this issue Mar 4, 2024 · 6 comments · Fixed by #816
Assignees
Labels

Comments

@yezr
Copy link
Collaborator

yezr commented Mar 4, 2024

Background

When tabulating a contest, RCTab currently reports the results at two levels

  • By default, the summary files are reported at the full contest level: all configured CVRs are included
  • Optionally, users can select "Tabulate By Precinct" in the Output tab. When selected, an additional summary file is created for each precinct. These files are tabulated at the precinct level. They are similar to the full contest summary files except for
    • They include a Precinct row in the contest info with the name of the precinct.
    • Ballots from outside of that precinct are not included in the round by round tallies. So in each precinct summary file the Total Number of Ballots reported and vote totals, transfer numbers, % of vote, and inactive ballot counts at each round can be different.
image

These precinct-level summary files follow the same elect/eliminate steps as the full contest: candidates are elected/eliminated in the same round as the full contest no matter the vote total at the precinct-level.

Proposed enhancements to sub-jurisdiction reporting

We've got feedback from election administrators that it would be beneficial to make more configurable the different levels at which results are reported. Some examples are

  • Reporting at the batch level for hand counts this allows hand counts to easily select a physically separate stack of ballots to do a hand count on. Results of the hand count could easily be compared to a batch-level summary file
  • Reporting at the Congressional District level for Presidential Primaries Some states award Electoral College electors based on winners at the Congressional District-level. [0]
  • If we're getting real fancy, we could make it configurable in the Output tab, in conjunction with the CVR tab, any column or property of the CVR that we could group by for sub-level reporting [1]

Ok yeah, but what about this ticket

The scope of this ticket is adding the first step in enhanced sub-level reporting: tabulate by Batch Id. All the context above ☝️is for whoever takes this on to consider while developing it that there is a high potential that this sub-level reporting could be extended in the future. Batch level reporting would

  • Similar to Tabulate by Precinct, this would be a toggleable box in the Output tab
  • When toggled, it would use the Batch Id supplied to group ballots. One additional summary file per Batch.
  • Similar to Tabulate by Precinct, this would use the elect/eliminate decisions by round from the contest-level tabulation.

Footnotes

[0] This requires also changing the way sub-level winners work. As noted above, Tabulate by Precinct uses full contest elect/eliminate. Implementing Congressional District-level winners would need to elect/eliminate at only the CD level. That's a whole 'nother ticket. Just wanted to provide example of different sub-level reporting requests for background.
[1] Like a researcher or troubleshooter could supplement the original CVR with other data and group by whatever that is. This has not been requested yet, but wanted to flag it for this implementation.

@artoonie
Copy link
Collaborator

To confirm, it should not be possible to tabulate by both Precinct and by Batch, correct? If so, we'd be creating (Batch# x Precinct#) ballots.

If we can limit to one filter (batch, precinct, or whatever, but not multiple), I believe it will simplify both the implementation and the UI.

@yezr
Copy link
Collaborator Author

yezr commented Mar 13, 2024

If both were checked they wouldn't interact: it would create the precinct summary files and, completely separately, the batch level summary files.

@artoonie
Copy link
Collaborator

Currently, only Dominion, Hart, and ClearBallot have a batch ID. I can easily add "batch" column for ES&S, but I don't know if that strays from what ES&S will actually produce too much. Would it be useful to add "batch ID" column for ES&S?

@yezr
Copy link
Collaborator Author

yezr commented Apr 11, 2024

Would it be useful to add "batch ID" column for ES&S?

I'm assuming you mean a configurable Batch Column text box in the CVR Files tab? Like here
image

I looked through all our test data to find the ES&S CVRs we have. I couldn't find any with batch identifier fields.

BUT... Can we default it to blank? That way, we don't assume it is there and if someone tries to click 'Tabulate By Batch' without explicitly setting the Batch Column it will fail validation. If someone is able to produce an ES&S CVR that does include a batch identifier in some column, the user has the option to explicitly configure it.

@artoonie
Copy link
Collaborator

Yep, can do!

@artoonie artoonie self-assigned this Apr 12, 2024
@artoonie artoonie added the WIP label Apr 12, 2024
@tarheel
Copy link
Contributor

tarheel commented May 19, 2024

This requires also changing the way sub-level winners work. As noted above, Tabulate by Precinct uses full contest elect/eliminate. Implementing Congressional District-level winners would need to elect/eliminate at only the CD level. That's a whole 'nother ticket. Just wanted to provide example of different sub-level reporting requests for background.

For CD-level winners, wouldn't it be easier to just treat each CD as a separate contest?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants