-
Notifications
You must be signed in to change notification settings - Fork 20
Description
CVR
config: es&s_multiple_contests_different_ballot_styles_config.json
Background
Currently, RCTab expects an ES&S CVR where all exported ballots have the contest it is configured to tabulate. Additionally, RCTab can be configured to interpret any text in the CVR's ranking data as an empty ranking, and tabulate accordingly. By default, ES&S CVRs contain the text undervote in a ranking that was not marked on a ballot. Single contest exports in ES&S satisfies these assumptions.
Multi-Contest exports, however, show in the CVR's ranking data for contests that don't appear on a ballot. We'd like to support multi-contest exports.
This support is important for timely reporting of RCV results. ES&S CVR exports can take ~30 minutes for ~300,000 ballots. For jurisdictions that have multiple contests to export, requiring an additional export for each contest can start to add up. We'd like to support multi-contest exports so that only one export is required for any number of contests. Additionally, a single CVR file for all contests instead of a separate CVR file for each contest can make contest configuration simpler, leading to more reliably successful configurations.
What Happens
We have an ES&S CVR with multiple contests and multiple ballot styles. In this ES&S CVR, when a ballot does not have a contest, the rankings for that contests are all blank. This is different from rankings that were not marked on a ballot where the contest was on the ballot, these are marked with the text undervote.
Let's use the DEM DELEGATE TO THE U.S. HOUSE OF REPRESENTATIVES FROM THE DISTRICT OF COLUMBIA contest, whose five rankings are in columns I to M. 44 of the 147 records in the CVR have rankings for this contest. Currently, when configured correctly to look in columns I to M for the contest rankings, RCTab sees 103 rows where there are blanks for all 5 rankings. It reports that Unrecognized candidate "" appears 515 time(s)! 5 blank rankings x 103 ballots = 515 rankings
What we want to happen
- Ballots with all blank ranks for the contest's rankings don't show up in the universe at all, don't contribute to the threshold calculation and don't contribute to the
Number of Undervotes (No Rankings)number
Open Questions
- Must be very sensitive to filtering out ballots that are in the configured CVR. How can we report this out for the user to confirm?
- Separate from this ticket, any other ways we can make configuring the multi-contests ES&S CVR easier? Like a column list with the first 5 rows of data visually shown so you can select which columns your rankings are in vs. currently configuring by explicit column index