I recently went to a Christmas party where, instead of a gift exchange, there was a donation exchange. Essentially, we each placed a cause’s name into a hat, people draw the names and are asked to donate to the cause. You may donate any amount you wish (including nothing if you are particularly opposed to the cause you drew). Given that this a group of people that have collectively decided to opt for altruism, the honour system should work. As a result, I will be donating to the World Food Program and someone will be donating to Planned Parenthood on my behalf.
Someone at the party suggested that next year they hold a Yankee swap version where, rather than simply draw and donate, people may later “steal” causes by agreeing to donate more than the current donor. However, I thought this might be unfair to those attending who happen to be unemployed or wracking up student debt. I was wondering if there is an algorithmic-game-theory person out there who could come up with a way to deal with this that might meet the following conditions:
- the total amount donated is maximized (or at least the price of anarchy is bounded)
- each person ends up matched to a cause (that is not their own)
- each person can cap their donation according to their means
- one’s cap does not hinder the ability to steal a cause
- the game doesn’t take forever and the rules are simple enough for a smart crowd to understand
I suppose one could hide everything and have causes bid on like Google AdWords, but I think a game of stealing in the spirit of Christmas would be more fun.