Prototyping group decision making with automatic delegation
Hey folks,
I want to prototype a tool to help groups of people make decisions using a new decision making mechanism.
We have two systems of democratic decision making that have major downsides:
- Direct democracy - everyone votes on every issue. Downside: not everyone has the time and the necessary expertise to vote on every issue.
- Representative democracy - everyone votes who will represent them and the representatives vote on every issue. The downside is the corruption - the representatives may not represent the best interest of those who entrusted them.
The idea I want to explore is a hybrid of the two systems:
- Like in a direct democracy you can vote on every issue.
- If you do not vote on a given issue, then your vote is automatically delegated to people who voted like you in the past.
To test this out I want to build a website [1] where anyone can create a group and invite others to the group. The group members can create proposals and vote on them to make a decision.
For the idea to be tested the group needs to make many decisions over time (ie, not one-off polls like strawpoll.*). Only then can it take advantage of the delegation based on “voted like you in the past”.
The details of the design will depend on the use-case:
- How should the group roles work? Would it be enough to have owner & member roles?
- How to invite to the group - by sending email or a link.
- Should every member be able to propose options or just the creator or the vote?
- Should the voting be closed automatically after some time or by hand?
- Do you delegate implicitly or explicitly - ie, have a vote option to delegate.
- Do you vote for a single option or can you rank options in the order of your preferences?
- Open ballot vs secret ballot?
Some ideas for use-cases:
- Choose the next “team-building” activity at work.
- Make content moderation decisions.
- Which book to read next in a book club. Maybe transfer the list of books and the votes from the previous vote to the next.
- Make and record company decisions by shareholders. In this case you would want to weigh the votes based on share ownership.
I think starting with a specific use-case in mind is a better strategy than trying to build a generic tool.
What do you think? What would you use such a tool for?
[1] - I will likely make it part of my existing project https://linklonk.com/ unless I find an available good-sounding domain name.
I like LinkLonk, but I wouldn't really trust it to vote for me, not even for book club stuff. It keeps showing articles from feeds I consistently downvote, for example.
If the goal is to make a voting system, I'd probably just give the users 'vote credits' ala Quadratic Voting. If someone doesn't care for an issue, they could just hoard their votes for next time or maybe directly give the credits to someone else. It might be nice to have a "suggest me a way to spend my credits given my previous voting behavior"-button though, because the thing about quadratic voting is that it is a bit onerous.
Why not both? Display the link and put a button there that automatically sends an email, maybe with a textbox for a customized message.
To help me understand which case this is, could please comment on LinkLonk under an item that you don't expect to be recommended to you? I am pretty sure it is case #1 and if so I should be able to fix it.
In Quadratic Voting you are able to purchase votes for money, but the price for each additional vote increases quadratically, so you cannot have unlimited power. This may try to solve some issues with voting but it introduces other issues: in such a system the vote is no longer democratic (1 person = 1 vote) and this may make people doubt the legitimacy and fairness of such decision making mechanism.
Your idea to give credits introduces incentives to hoard voting credits and then use them for the issues you really care about. Would that make people even more disinterested in more common trivial issues? In such case could special interest win by making certain issues look like they are not worth your vote?
My goal is to try out the autodelegation idea in a toy project. There are a lot of things to figure out - just like with the bugs in LinkLonk - and it would be good to have some real-life use-case for it. The goal of autodelegation is to cultivate trust in the decision making process, find people who are good at representing the interests of other people and let them use that expertise for good.
Yes, the answer could be both. Or, for some use-cases, it could be that you don't need to manage the group membership at all. What if the group membership is determined by the domain name of your email address? In that case, <anyaddress>@bookclub.com is a member of "bookclub.com" group. Or groups could be managed by an external system - like Patreon supporters, Discord server members or subscribers to a newsletter.
Hm, it's probably not case #2 because the recommended articles tend to come from the same few feeds (e.g. this one), most of them food-related. I must've downvoted them a hundred times or so. I've commented on one of the articles.
Yes, you're right about that. If the system is not trusted, it does not matter how much better it is in a game-theoretic sense. But doesn't that exact same criticism apply to automatic vote delegation?
That said, I've looked into it a bit more after I posted, and quadratic voting, while it would -- in theory -- work better than the current democratic voting systems because it is more robust and more truth-revealing, it apparently doesn't work as well at small, i.e. book-club, scales.
Quadratic voting may have been a bad suggestion. :/
I still think auto-delegation would be a problem though. It'd be fine to suggest who I could delegate my vote to, so I can check out their political views, but I wouldn't want the system to vote/delegate for me automatically. You wouldn't trust Quadratic Voting, and I wouldn't trust auto-delegation -- so, hm. I'm not sure what to make of it.
Except for the auto-delegation though, the idea sounds a lot like Liquid Democracy. Google has a nice write-up on an experiment they did on that, where you could manually delegate your votes to someone else. Their first use case was finding good meal plans for on-campus cafes.
Thank you! It was indeed case #1 and it should be fixed now. Details in this comment
That is why I want to prototype auto-delegation. It is hard to trust based on the description of an idea alone. It could be easier if you are able to try it out.
Auto-delegation would apply only when you don't vote explicitly. When you don't vote in a regular direct democracy your vote is simply ignored. But maybe if it was delegated to people who represented your interest in the past it would be more fair?
I'm interested in auto-delegation as an alternative to representative democracy, where you have to trust people who are going to represent you in the future (sometimes for 4 years). What is the trust in representatives based on? Pre-election promises? Party affiliation? Reputation? Stands on wedge issues? These are not very direct signs. What matters is how they will vote in the future on issues that will affect you. With auto-delegation you build trust in other people who vote the same as you do. The system automatically builds their track record of how well they represent your interest.
There is a lot more to the auto-delegation idea, that I haven't talked about. For example, you could change your vote after the fact. Suppose you initially chose option A, but after a year you now understand that it was a poor choice and that option B would be better. Suppose you change your vote from A to B. It won't, of course, change the outcome of the decision, but it would reassign who you will trust more in future auto-delegated votes - you will trust less people who voted for A and will trust more people who voted for B. This mechanism creates an incentive for people to revisit the past decisions and reevaluate if they were good or bad with the benefit of hindsight. This feedback loop is missing in our current group decision making mechanisms.
I admit that it does sound fascinating on paper, but the delegation algorithm would have to be rock-solid, and even Netflix and Amazon with their army of data scientists screw recommendations up constantly, so I'm a little skeptical whether it is possible at all.
The biggest problem I see is that, even given a perfect algorithm, votes alone will not necessarily reveal people's opinions before they suddenly diverge from mine, especially in orthogonal topics. Maybe the system delegates my vote to Mr. X who happens to agree with me on tax policy or education so far, but will absolutely vote for, say, a ban of end-to-end encryption because he "thinks of the children". Retroactively un-trusting Mr. X isn't going to help once the law is passed.
You could split the votes into multiple shares and delegate them to different people in a PageRank-style system to solve this, but that is even harder to understand than delegating a full vote to a single person...
Contrary to LinkLonk, where a wrong recommendation is easily rectified with a downvote, I'd be pissed if a vote was registered on the "wrong" side of a political issue I cared about. Yes, maybe I should have voted directly in that case, but maybe I couldn't for whatever reason (depression, sheer volume of things to vote on, etc.).
When I abstain from voting currently, at least I don't do extra harm by potentially auto-voting against my interests.
That said, the idea is fascinating, and while I have difficulty believing that it can be done well, it is not impossible that someone can come up with a good system that solves most of these concerns. I'd definitively follow your progress with interest.
I'm actually thinking of delegating the vote to multiple people in proportion to how much trust they have earned from you in your past votes. And it will be a super-simplified version of Personalized PageRank, just like the LinkLonk's algorithm. It should be simple to explain:
As you said, maybe this information should be used as a suggestion, instead of fully automatic delegation. Or maybe both.
Thanks for this interesting post @lonk. A few ideas come to my mind.
First, you might want to look into the experimental economics literature. These researchers often create 'toy' situations where participants set down and play a 'game' to explore real world behaviour around different economic mechanisms. It has a lot of overlap with the kind of prototyping work a user researcher may undertake when designing a new product or service. You may be able to short-circuit building an entire website and instead be able to hold a workshop with a few pieces of paper to work as voting counters, coming up with some example scenarios to vote on, etc. You could also host a workshop virtually over a video call and then coordinate the game using something like Google Jamboard or Google Sheets. Some advantages of running a workshop are: lower startup costs ('cos you don't have to build a complete app) and a richer opportunity to gather qualitative data (because you can ask participants questions face-to-face, before/during/after the workshop).
Second, there are teams working on collective/democratic decision-making software and research that you might want to reach out to about this idea. They may be interested in implementing it as a feature, exploring it through prototyping, or just interested to hear your thoughts. The two that come to my mind are Loomio and mySociety.
Finally, I'm subscribed to the UK Centre for Democracy's UK Democracy Forum mailing list, and some on there have asked me to share a draft whitepaper they've been working on. It's about democratic reform in the UK, and the document outlines some of their ideas around 'participatory representative democracy'. If that sounds interesting to anyone in this thread, and you'd like to give the draft a read and provide feedback, please drop me a DM and I'll send over the whitepaper. This invitation is open to people outside the UK, although be aware that some of the issues discussed are specific to UK constitutional issues and voting systems etc.
OK one more thing... there used to be a website called Advogato which had an interesting trust metric system that may also be of interest given your other project. :)
Thanks for the ideas. To test auto-delegation you need a sequence of decisions to be made by the same group. Only over multiple turns of the game can you cultivate trust in the process and between members of the group. Quite possible that experimental economists do such things all the time, but I find it easier to build a website and invite everyone to use it. As an example, I have tried to pitch LinkLonk without a working site and I found it really difficult. For example, it is easy to dismiss it for being a not sophisticated enough collaborative-filtering algorithm. Or that it will instantly become an echo chamber.
Contacting folks from Loomio and mySociety is a good idea. I've heard of Loomio (tried their demo) but I haven't heard of mySociety.
The Advogato Trust Metric sounds similar to Personalized PageRank (where each walk starts from a set of seed users) and LinkLonk uses a super-simplified version of Personalized PageRank.
I think this is an interesting idea certainly. I think in the end there's going to be issues with the algorithm and how under-parameterized this problem is.
Essentially, this is inverting the typical way representative democracies work. Normally, through the process of voting, an individual in the population is selected that (hopefully) has beliefs and a platform roughly equivalent to the modal citizen in that population.
In this case, rather than selecting an individual from the population, a "virtual" representative is being created by the grouping algorithm from the data of the population's prior votes.
That's an interesting idea, but another way to reframe is, given voting data, can you produce a model to predict the future voting decisions of a population. And in the end, that problem is just way too underparameterized. Any algorithm or model you choose will have quite large false positives rates, and either
everyone just sticks with it and a minority of the inevitably populace learns to game the system to demand outsized influence, or whatever governance body is in charge of the algorithm chosen effectively becomes kingmaker.
I understand your perspective from the machine learning angle. Auto-delegation is a very simple algorithm that is similar to k nearest-neighbours, where the neighbours are people who voted like you in the past decisions and the prediction is how the neighbours have voted on the current issue. It does not attempt to does not attempt predict the outcome of future voting decisions (it relies on the neighbors to vote).
Perhaps it could be more helpful to view it as a system of incentives. Sort of a decision delegation market. From this angle each group member is an active agent that has goals and uses the rules of the auto-delegation mechanism to achieve them.
How good the incentives are will determine how easy it will be to game such a system. A couple of protections from gaming:
There definitely could be ways to game the system but it's hard to think of them in an idea-only format. That's why I want to build the prototype.
I think a good use case for this would be, similar to the book club example, what game to play next. This works both for groups of people that play video games online and board games. I used to have a board games group that used to play weekly and this would have been awesome to help us decide!
Thanks for the suggestion!
What is the main flow in this case?
I imagine something like this:
What would you change about this?
I can see how auto-delegation is a secondary feature to this and the voting tool as described above could be useful without it. I think that's a good thing!
I would only do minor tweaks.
6. I don't think voting should be closed when everyone votes, that is to allow people to change votes. Both the option to set a date and for a member to close the vote are good, you still need a decision after all.
7. Yes, I think it's good to be flexible with the decision. Perhaps giving the option of runner up or random selection. Though I think there would be groups that start using a system like this for the vote but end up just going random every time.
On a different note, I think you should consider Discord as the delivery mechanism. It's what most gaming groups use nowadays for organising.