12 votes

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:

  1. Direct democracy - everyone votes on every issue. Downside: not everyone has the time and the necessary expertise to vote on every issue.
  2. 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.

13 comments

  1. [6]
    DataWraith
    Link
    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...

    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.

    How to invite to the group - by sending email or a link.

    Why not both? Display the link and put a button there that automatically sends an email, maybe with a textbox for a customized message.

    5 votes
    1. [5]
      lonk
      Link Parent
      To calculate recommendations LinkLonk merges your personalized recommendations (from sources that you liked in the past) with generally popular recommendations (from other users and feeds liked by...

      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.
      I can think of two cases:

      1. To calculate recommendations LinkLonk merges your personalized recommendations (from sources that you liked in the past) with generally popular recommendations (from other users and feeds liked by other users). That latter is largely meant for new users who have not yet established trust connections through their likes. The generally popular recommendations have a very low weight and if you have liked enough sources then you would not see them ranked high. Because of that assumption, I have not implemented logic to filter out generally popular recommendations from sources that you downvoted in the past.
      2. When an article comes from multiple feeds (like this one from 8 feeds) if you downvoted something else from one of the feeds, then you would still see that content from other feeds. The logic is this: if you don't trust one source it means that you pay zero attention to its recommendations. This is to prevent abuse where someone may earn negative reputation and then use that negative reputation to demote good content.

      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.

      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.

      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.

      How to invite to the group - by sending email or a link.

      Why not both? Display the link and put a button there that automatically sends an email, maybe with a textbox for a customized message.

      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.

      2 votes
      1. [4]
        DataWraith
        Link Parent
        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...

        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.

        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.

        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.

        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. :/

        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.

        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.

        1 vote
        1. [3]
          lonk
          Link Parent
          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....

          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.

          Thank you! It was indeed case #1 and it should be fixed now. Details in this comment

          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.

          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.

          2 votes
          1. [2]
            DataWraith
            Link Parent
            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...

            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).

            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.

            1 vote
            1. lonk
              Link Parent
              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...

              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...

              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:

              • When you vote on something explicitly you split 1 token of your trust among all other people who voted the same way on that issue (before you). If 5 people voted like you then each gets 1/5 of the token.
              • Your vote is auto-delegated in the proportion of your trust tokens held by people who voted on different issues. If there are two options A and B and people who voted on A have 2.5 of your tokens and B has 0.5 then your vote is split between A and B like this:
                • A = 2.5/(2.5+0.5) = 5/6
                • B = 0.5/(2.5+0.5) = 1/6.

              As you said, maybe this information should be used as a suggestion, instead of fully automatic delegation. Or maybe both.

              2 votes
  2. [2]
    wcerfgba
    Link
    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...

    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. :)

    3 votes
    1. lonk
      Link Parent
      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...

      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.

  3. [2]
    stu2b50
    Link
    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...

    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.

    2 votes
    1. lonk
      Link Parent
      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...

      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:

      • You delegate your vote to people who voted the same as you but did it before you cast your vote. This prevents people who vote last
      • Being able to change your vote in the future to reallocate who you delegate to. This creates a feedback loop into the future. Maybe this would incentivize experts to vote for options that are good long term? Maybe it would create some skin in the game?
      • Your vote is delegated across all group members, which may lower the concentration of power and therefore reduce the rewards from abusing the system.
      • The algorithm is super simple and has no hyper-parameters to tweak in your advantage (see in this comment)

      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.

  4. [3]
    gco
    Link
    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...

    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!

    1 vote
    1. [2]
      lonk
      Link Parent
      Thanks for the suggestion! What is the main flow in this case? I imagine something like this: Someone creates a group and sends an invitation link to the rest of the group. We expect the...

      Thanks for the suggestion!

      What is the main flow in this case?

      I imagine something like this:

      1. Someone creates a group and sends an invitation link to the rest of the group.
        • We expect the communication channel for this to exist already (some group chat) => the system does not need to send out emails.
        • The invitation link in this case is shared (no individual invitation codes).
      2. When a new member joins they enter a per-group display name so the other members can identify them.
      3. Any group member can create a proposal ("What to play this Friday night") and the initial set of options.
        • Any group member can add new options to an existing proposal.
        • Options from previous proposals should be suggested. If it's a book or a movie, then previously selected options should not be proposed again, but if it's a game or another replayable activity then repeats are ok. Maybe anyone adding a proposal option should be shown all options sorted by popularity and marked whether or not they have been selected in the past (e.g., "selected 4 weeks ago")?'
        • The proposal and each option is a Markdown-formatted text so it can include links and images.
      4. All members can vote and change their vote at any time.
      5. The current results are shown to everyone => no point to hide the current vote distribution. This is unlike other settings where you may want people to express their preference without being affected by the votes of others.
      6. How should the voting be closed?
        • Obviously, it could be closed when everyone has voted.
        • Should it close at a closing time specified at the creation time (e.g., "in 3 days")?
        • Should any member be able to call the vote closed at any time?
      7. When the vote is closed the option that got most votes (including auto-delegated votes) gets selected.
        • Should the group be able to change the decision? For example, the selected board game is missing some pieces.
      8. Notifications. The system notifies members when a new proposal is created and when the decision is made. The users can choose the notification mechanism: email / browser notifications / none.
        • Should the systems send notifications to members who have not yet voted (e.g., 3 hours before the closing time, or maybe at request of any group member)?
        • The user can vote from the email.

      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!

      1. gco
        Link Parent
        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...

        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.

        2 votes