I was thinking recently about the problem of scheduling a group outing (e.g. for a meal). Using something like Doodle you can all vote on a day, and the day with the most votes wins. It’s basically Approval Voting or, if you allow the “if needs be”, option, range voting.
But this runs into a problem I’ve pointed out with voting on group meals before: If you do it often, you consistently make the same sort of choices over and over again, excluding the same people each time. If the group is mostly fine with Wednesday or Thursdays but has a slight Thursday preference, if I can never do Thursdays then I’m out of luck.
As in the previous lunch post, random ballot solves this: It gives you proportional representation of interests over time.
But while this worked reasonably well for lunch places, it doesn’t work so well for scheduling: Typical scheduling problems have any given person being genuinely indifferent between four or five options. Why force them to express a strict preference for one of those options, especially when it may be that some of those days work much better for some people than others?
So for scheduling it seems like approval voting is in fact very well suited. But is there a system that combines the benefits of both?
There is! It’s in fact an extremely direct hybrid of the two, but weirdly not one I’ve seen before.
- Everyone casts a vote as in approval voting. That is, they specify a list of acceptable options.
- When tallying, you pick a random voter and restrict the set of possible winners to the ones on their ballot.
- Amongst that restricted set, votes are tallied as per normal approval voting, picking the one that the largest number of people approve of.
And that’s all there is to it. It satisfies the proportionality criterion that any voting block will on average get an acceptable answer at least in proportion to the size of the bloc (they may get it much more than that, but that’s intrinsic to the problem: e.g. the set of people who are happy with every answer will get an acceptable answer 100% of the time), while still being broadly majoritarian because of the approval voting component.
You can also add a threshold if you like. Because each person votes for multiple options, doing so is much simpler than in normal random ballot, and much more reasonable, so you could quite easily decide to e.g. exclude any options from the schedule that fewer than half of the people can go to (or even more complicated criterion like e.g. it being at least some fixed fraction of the approval winning outcome). The result is that you only end up excluding people who really can’t make any day that most other people in the group can. Which is fair enough really, though a bit unfortunate.
Is this applicable to non-scheduling problems? I don’t know. It might be! I think it adds a strong centrist bias to random ballot, which can be both good and bad.
The properties of scheduling which matter here are I think:
- Every voter typically has many acceptable options
- It’s something done often enough that the randomness tends to balance out
- It’s something where despite that consensus is probably more important than true proportionality.
It also has the nice property that experimenting with voting systems for scheduling is rather low impact. I’d want to do a more formal analysis of this before proposing it for anything more serious, but I suspect it might still have some nice properties that make it worth considering.
When you said “hybrid system”, my mind instantly leapt to “use the alias method to randomly select an option weighted by number of approvals”, but that has the undesirable property that it will occasionally select a time that only a few people can attend.