Different uses for voting
need different types of voting.
Ballot options for funding projects

Fair-Share Tools

Loring Allocation Rule
When choosing a policy a group can say "Yes." to only one version. When budgeting departments we often say to each group, “Yes; but you will get less than you requested.” When funding projects we must say “Yes!” to several and "No." to others, ideally letting each voter try to affect each budget level. Each kind of legislation needs a different kind of voting tool.

You can download free software for project selection and budgeting.  All of the programs are open source so users can expand them or add new features.  Some are written in the widely-known Microsoft Excel language and are available in two forms: spreadsheets that run quickly, and macro modules similar to other computer languages. Others are written in the very clear Python language. The newest is written in Java.

Simulation:  This simulation of Fair Share Voting lets users play with election data and see its results all on a "neighborhood map."  The Excel file tallies 24 voters and 16 project proposals.  Version 4.0, May 2016, FairShareSim.xls 541K.  It tallies Movable Money Votes based on voting cards.  The workshop on movable votes uses cards as a physical analogy.  It helps voters understand the logic and welcome a computer's help with a large tally.

The voting simulation pictured below maps the locations and color choices of voters and proposed projects.  Winning projects get circled; losers get X'ed.  Notice that the voters who chose low-cost yellow flowers had enough money to fund four of their proposals.  Any interest group can win its fair share; they don't have to be geographic neighbors.

You might like to see another way to chart vote transfers in the election simulation for Single Transferable Vote.

A map of 4 neighborhoods.
Neighborhood garden clubs vote for favorites. d

I) Upper east-side neighbors want $30 red roses. a II) Lower east-side neighbors want $15 sunflowers. a III) Lower west-side neighbors want $20 evergreens. a IV) Upper west-side neighbors want $60 passion flowers. a Neighborhood garden clubs vote for favorites. a

For the first simple illustration above, the factions were separate.
But if they mix together, as they often do, each faction still wins its fair share.

A map of 4 neighborhoods.

Ballots for Fair Share Voting

Ballots for “advanced” Movable Money Voting show how it apportions funds among your top-ranked items.  An integral graph shows your offers to each favorite as: votes (shown by the height of a column) times your cost per vote (shown by the width of the column).

It's designed to teach the ballot calculations of MMV.  So it shows more than a voter needs to see.  For example, you can change a project's “keep value.” Setting it to zero “eliminates” or “suspends” that project and moves money and votes to lower choices.

The Excel versions have macros to sort proposals by rank, title or cost, and to allow unlimited undo and redo even after sorting.  You can see the numbers change back and forth while you change your choices.
      Project Ballot in XL spreadsheet   version 1.6, July 2006
      Project Ballot in XL macros           version 1.4, July 2003
      Project Ballot at Google                version 1.5, July 2007
      Project Ballot in Open Office         version 1.5, July 2006

[Programmers: The spreadsheet runs faster and may be easier to walk thru each calculation. The modular program in Excel's macro language is more like common programming languages.]

A picture of the ballot, narrowed for small screens.

A picture of the full interactive ballot.

Newer Tools for Fair Share Voting

OpenMMV:  Robert Tupelo-Schneck invented the best method for Fair Share Voting. It is based on the Meek or Warren methods of Single Transferable Votes for Proportional Representation. The first phase of this software project began with a grant from FairVote. The prototype was written in OCaml; the first version throughly tested and used in practice was written in Python, compatible with OpenSTV. The current version is written in Java and controlled by command line input, not menus. You may view and download the Python version at code.google.com/p/openmmv. A recent ballot is here.

Old Tools for Fair Share Tallies

A lower-resolution version of the participatory budgeting tool may work better on older computers.  Version 2.0, June 2006, 66K.  There is also an older simulation of Fair Share Voting based on the advanced ballot method. Version 1.2, August 2004, 133K.

FSV Tally tallies Fair Share Voting on simple spreadsheets. The ballots use ranks only (grades or scores must be converted) and use linear utility functions only (not curves or self scored). The 30 ballots are relatively easy to understand and quick to tally. This "proof-of- concept" program is set up for 30 voters and 16 projects.
      Fair Share Tally       P_30_S13.zip, November 2000; 861K.

PolyFund.zip is a more complex workbook to tally the Loring Allocation Rule for Condorcet winners and fair-share winners.  It uses macro versions of the ballot and tally so it can tally MMV (with delayed or immediate collection of contributions) for hundreds of voters and dozens of items. But because Excel is interpreted, it is very slow.
      PolyFund.zip, version 0.5, December 2000;  125K.

Each of those Excel programs was compressed with WinZip, an excellent shareware program.

Programs that tally STV (Choice Voting) can tally a Fair Share Voting decision -- if each proposal has the same cost.  For example, any STV program can help a group choose 3 boxes of ice cream from a dozen flavors, or 3 pizzas, or...  The selection is fair if all choices have the same cost.  Meek's version of STV is best for this task, but it is not essential.

If the items vary in cost, the program must be adapt to charge supporters different costs (weights) for different projects (candidates) after they win.  The quota of supporters required to become a winner may be equal for all projects or may vary with their costs.

Fund.pdf explained advanced MMV in an Acrobat document.

More Downloads

Accurate Democracy This page downloads concise print versions in several formats. They are easier to study than the screen version.   2008-03-08.
Voting simulations: PoliticalPoliticalSimSim TM is a simulation game that demonstrates voting rules.   1999-03-10.   1500K
Election software: PolyVote TM tallies many voting rules.  Its controls are simpler than PoliticalPoliticalSimSim's because PolyVote cannot run games, demonstrations, or research.  It is "open source" so users can correct errors and add features.   1998-04-20.   400K

Web Pages

p_intro.htm This page introduces the merits of Fair Share Voting.  a_workshop.htm introduces the mechanics of Fair Share Voting.

NextLoring Allocation Rule

español Chinese

Search Accurate Democracy