Range (Score) Voting Overview

Range or Score Voting is another form of preferential ballot.

  • There are a fixed number of Rankings available, usually 5, 10 or 100.

  • Voters (typically) may rate choices equally.

  • Voters rate their best choice highest, the inverse of Ranked Choice.

Range Voting is usually resolved by using the ratings assigned by the voters as a score. By fixing the number of available rankings it resolves Borda Count's weighting problem. Condorcet can resolve Range Voting, but the ability to rank choices equally increases the possibility of ties. When resolving by IRV it is necessary to split the vote for equally ranked choices.

Reading Range Ballots

See Vote::Count::ReadBallots

Range Methods


Score is a method provided by Vote::Count::Score that will score the ballots based on the scores provided by the voters.

STAR (Score Then Automatic Runoff)

Creates a runoff between the top 2 choices. Implemented in Vote::Count::Method::STAR.


Vote::Count::Matrix supports Range Ballots. Choices scored equally are not counted in pairings between the equal choices.


Vote::Count::IRV supports Range Ballots. Equal Scores are split. The split votes are tabulated with Rational Number Math to protect against rounding errors.

Tie Breakers

Precedence, Approval, all and none currently support Range Ballots.



John Karr (BRAINBUZ)


Copyright 2019-2021 by John Karr (BRAINBUZ)


This module is released under the GNU Public License Version 3. See license file for details. For more information on this license visit


This software is provided as is, per the terms of the GNU Public License. Professional support and customisation services are available from the author.