Skip to content

Expose Rounding Parameters for STV Suite #365

Description

@EdouardHeitzmann

Most real-world STV rulesets specify how ballot weights should be rounded specifically. Most places (certainly Portland, Minneapolis, Eastpointe, and Albany CA) round the transfer values directly to the nearest 4 significant digits (although some round and some truncate). Some places (certainly those same 4 places) also re-round ballot weights after applying the new transfer values (usually rounding down), also to the nearest 4 sig figs. It would be good to expose these rounding parameters for Votekit's STV suite.

This is a pretty good first issue for anyone wanting to get familiar with Votekit's STV suite. You'd wanna look at the _update_because_winner method of NumpySTVInner. Some good tests for this Issue would be to replicate the round-by-round tabulations exactly for either of the 4 aforementioned municipalities; note that Albany already has a profile in Votekit's Test Suite; and I think there's a Portland D3 profile in there as well that should be useable as-is. You can look at the harvard dataverse for Eastpointe and Minnepolis elections (or just ask me),

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