# Efficient allocation of mathoms in a Bad-Santa-like game

Suppose you’re at a mathom party and it turns out that some of the mathoms are popular, and multiple people want to claim the same mathoms. How can you fairly decide who gets each mathom, and ensure the allocation isn’t wasteful?

Well, a standard economic answer is to auction them to the highest bidders, but then the mathoms aren’t really gifts any more. And what if the process of allocating the mathoms could itself be enjoyable?

An enjoyable way of allocating gifts so that everyone gives and receives one gift is a game I know by the name of Bad Santa. The variant I played most recently involved everyone sitting in a circle, and the person whose turn it was choosing whether to open a new gift or to “steal” a gift someone else had already opened. If your gift was stolen, you couldn’t immediately replace it, but had to wait until the turn passed clockwise around the circle (skipping anyone who currently possessed a gift) to reach you again; also, to ensure the game eventually ended, no-one was allowed to steal a gift they’d already held earlier in the game. The game ended as soon as the last gift was opened (there being the same number of gifts as players).

This was definitely fun, seeing people with less desirable gifts wondering whether anyone else would do them a favour and steal it from them, and seeing people with more desirable gifts wondering if they’d retain them till the end of the game. But the final allocation of gifts in this game isn’t necessarily Pareto efficient; that is, it might be possible to alter the final allocation in a way that makes some people better off without making anyone worse off.

This was easily observed the last time I played, because at the end of the game people voluntarily swapped gifts with each other, which they wouldn’t have done if they hadn’t thought themselves better off after the swaps. I believe that one of these mutually voluntary swaps even included someone who had, during the game, made some effort to convince people to steal his apparently less desirable gift.

So, can we alter the rules to ensure both fun and an efficient allocation of mathoms? I think so. Here’s my proposal:

When it’s your turn, you get to choose whether to open a new gift or whether to request a previously opened gift that you would like (say, by pointing to it); but if you do the latter, you don’t get to steal it immediately. The person holding that gift then has the same choice — whether to open a new gift or whether to request an already opened gift (in which case the person holding that gift has the same choice, and so on). They probably want to request a gift that they’d prefer to hold, rather than the one they’re already holding; if there isn’t such a gift already open, then they probably want to open a new gift, because in my rules, you are permitted to re-obtain a gift you’ve already held, but only if you’ve opened a new gift since you last held it.

There are two ways this chain of choices can end. One is that someone will request a gift that’s already been requested in the same chain (so two people are simultaneously pointing to it). For example, if it’s Alice’s turn, she might request Bob’s gift; he might request Charles’s gift; he might request Denise’s gift; and she might request Bob’s. In this case, there’s a loop of requests, and everyone in that loop gets they gift they’re requesting (so Bob gives his gift to Denise, who gives hers to Charles, who gives his to Bob). The person whose turn it was still doesn’t have a gift, but they’ll get another chance when the turn passes round the circle back to them again.

The other way the chain of choices can end is that someone will choose to open a new gift, in which case they do so, and everyone else in the chain gets the gift they requested.

In either case, the turn passes to the next person around the circle who doesn’t have a gift yet, until everyone has a gift. But even when everyone has a gift, the game doesn’t end immediately.

From this point on (when everyone has a gift), anyone who thinks there are no gifts left in the game that they’d prefer to the one they already have can declare themselves out of the game, by saying so and putting their gift out of sight, so that other people who might also want that gift don’t get confused. You can declare yourself out of the game at any time between people’s turns, but not during them.

The turn itself keeps going round the circle of people who are still in the game, but skipping no-one, since everyone has a gift. And now the chain of requests can only end by forming a loop, since there aren’t any more gifts to open; when such a loop is formed (which might or might not include the person whose turn it was), everyone in the loop gets the gift they’re requesting, and the turn passes to the next person in the circle (after giving the remaining players a little time to decide whether to declare themselves out of the game).

One more thing is that once everyone has a gift, there are no longer any restrictions on re-obtaining gifts you’ve already held; the game will still end as people declare themselves out of it.

Notice that there’s no incentive to declare yourself out of the game except when you think you’ve got the best gift left in the game. If you think there’s a better gift in the game than the one you hold, and someone requests your gift, you simply request the gift you prefer; that way, if your (perhaps quite desirable) gift is taken from you, you get an even better gift. Nor is there any incentive to stay in the game when you do think you’ve got the best gift left in the game.

If everyone puts a positive (though possibly very small) value on every gift, and everyone declares themselves out of the game when (and only when) the gift they hold is the one they’d most like to have, from among the gifts still in the game, then I believe this game should end in a Pareto efficient allocation of gifts.

What’s more, you still get the fun of wondering whether someone will ever request one of the less desirable gifts, giving the person holding it a chance of getting something better; and you still get the fun of wondering whether someone holding a more desirable gift will be forced to give it up (at least when there are still people without gifts in the game).

The allocation isn’t necessarily fair in the sense of everyone being equally happy with the gift they end up with (how would you even be able to tell?), but it is fair in the sense that the same rules applied to everyone, and everyone had the same chance of trying to get what they wanted. And Pareto efficiency gives you a better chance of being happier with what you end up with, too.

Fun and Pareto efficient — what could be better?