Skip to content

ES&S Multiple Contests with different ballot styles #981

@yezr

Description

@yezr

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

Image

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions