(Note: Although this will contain a reference to a thing that is happening in Google I have no inside knowledge here and have not talked to the team at all. I know literally no more about this than is present in the linked article)
A couple of days ago I saw a link to this article about how Google ventures are making decisions that avoid the group think of brain storming.
It’s a good system, and well thought out. Basically everyone proposes a couple options and then everyone votes on all the options. I should like this, right? I like voting.
And I mostly do like this. From a psychology and meeting design point of view it’s very well thought out.
Of course, from a voting theory point of view… Well they’re using first past the post.
That’s not to single them out. If you’re doing things by hand, basically everyone uses first past the post. The tallying process is really easy. Some people will use approval voting (same as FPTP, but you can vote for multiple things), which is a big step up, but can we do better?
When we chose our kittens’ names we voted on the sets of names we had using Majority Judgement. This worked really well, and we were rather happy with the end result (our kittens are named Sinister and Dexter), but it’s relatively easy to tally Majority Judgement by hand when you only have three voters. For a larger meeting that’s not going to work so well.
Or is it?
There’s a variant on Majority Judgement that it turns out is quite easy to do by hand. It’s called Majority Gauge. In result it differs from Majority Judgement only in that it can occasionally tie when Majority Judgement would determine a clear winner. This should happen rarely enough that you can just not worry about it and resolve ties however you otherwise would have.
It works as follows:
Everyone casts their vote. A vote consists of assigning a grade from a fixed list of grades. e.g. “Hate / Indifferent / Like”. You can use as many as you want, but to keep this simple for hand tallying you probably want three (it doesn’t get much more complicated with more, but the actual process of counting things up gets more annoying).
For each candidate you count how many votes of each grade each candidate got. Here’s a made up example based on our kitten name choices with three grades and five voters (we actually had 5 grades and 3 voters):
Name | Hate | Indifferent | Like |
---|---|---|---|
Sinister and Dexter | 0 | 2 | 3 |
Gin and Tonic | 2 | 1 | 2 |
Lorem and Ipsum | 0 | 3 | 2 |
Kappa and Lambda | 2 | 2 | 1 |
Terror and Erebus | 0 | 5 | 0 |
The grade is calculated as follows: First you calculate a threshold. This is half the number of voters, rounded down. In this case that’s 2. You now want to find the lowest score that’s supported by at least that many people.
To do this you count from the worst score to the highest, adding up as you go until you exceed the threshold. You then stop and give the candidate that grade. So for the above example, “Gin and Tonic” and “Kappa and Lambda” get a grade of “Hate”, while “Sinister and Dexter”, “Lorem and Ipsum” and “Terror and Erebus” each get a grade of “Indifferent”.
Now every option which didn’t get the top grade gets out. A lot of the time this will leave you with only one option. In this case we get three (in our actual kitten voting we had two, but I needed to fiddle with this to make it a good example).
For each of these candidates we now mark it positive or negative. It’s positive if it has strictly more votes better than its grade than less than its grade. For this example, “Sinister and Dexter” and “Lorem and Ipsum” are both positive, whileas “Terror and Erebus” is negative (because ties are resolved in favour of negative).
This has two effects: Firstly, if any are positive then all the negative ones drop out of the race. Again, if this leaves you with only one option left you stop whether you’re done.
It also matters because it decides how the final round is conducted. There are two options:
If the candidates remaining are positive ones, the final round is counted by counting up the number of votes each candidate got that was greater than their grade. The highest scorer wins. So “Sinister and Dexter” get a score of 2 and “Gin and Tonic” gets a score of 1, leaving our kittens named “Sinister and Dexter”. They’re so relieved.
If on the other hand all remaining candidates are negative, you reverse this. Instead you count up how many votes they got which were lower than their grade, and the candidate with the fewest votes wins.
(In both these cases, if the scores are tied then so is the election).
And that’s pretty much it. It’s a bit fiddly, and you probably wouldn’t want to actually run it without some notes on how to do so until you’d done it a few times, but it should be entirely doable by hand.
Obviously I think this is a good idea, but I don’t have a lot of practical evidence. It would be interesting to see meetings adopt more nuanced voting systems and whether this actually improves the decisions made.
it looks like what the world really needs is an Android voting app, sporting the 400 most popular voting systems!
Then you could spend the time you now spend tallying votes trying to get everyone set up and connected to the right election, and if there’s any time left you can spend it on the proof that you’re not actually storing everyone’s vote history.
I actually have a slightly stalled project with some friends to do more or less this.
It’s a web app rather than an android one, but it works pretty well on the phone.