The Spatula System

This entry was posted by on Sunday, 14 January, 2007 at

My good buddy Ben Gross is researching group dyamics, and asked me if there was a good writeup anywhere of the “Spatula System” that my friends and I have been using to track food credits. We couldn’t find one, so I agreed to briefly blog about how it works.

It all started back in 2000, when I worked in a small office with my friend Karl Fogel — just the two of us. Every day we’d go out to lunch and take turns treating each other. Lunch was always about $10 per person, so on Monday I’d spend $20 for both of us, on Tuesday Karl would spend $20, and we’d keep alternating like that. Eventually it got hard for us to remember whose turn it was to buy lunch each day, so we grabbed a spatula from the office kitchen, and kept it on our desks. Whoever had the spatula on his desk had to buy lunch that day. When we’d return from lunch, we’d simply move the spatula to the other person’s desk.

This worked for a year, but then we got a third person (Mike Pilato) in the office. We started moving the spatula in a circuit around all three desks, and we now spent $30 when it was our turn to treat the group to lunch.

Then we hit a snag.

What happens if somebody doesn’t come to work on a certain day? Does that person simply get away with only spending $20 on lunch? It didn’t seem fair.

So our response was to essentially reinvent the concept of currency. Our currency units were simply called “lunch points”, and each point was worth “about $10”. We started keeping track on a whiteboard of how many imaginary lunch points each person had. We all started at 0 points. If I treated Karl to lunch, then I’d gain 1 lunch point, and Karl would lose a lunch point. My positive currency total (+1) meant that “I was owed a lunch by someone” and Karl’s negative total (-1) meant that “Karl owed a lunch to someone.” If Mike then treated all of us to lunch the next day, he’d gain two lunch points, and Karl and I would each lose a lunch point.

What this currency system gave us was flexibility. It was now perfectly fine for random combinations of people to treat each other to lunch, in any order at all… as long as the points were all tracked. It also allowed us to pass debts around transitively: person A might owe person B a lunch, but person B might owe C a lunch, so in theory then, person A really owes C a lunch. Yikes! Intsead of trying to keep track of these specific debts individually, our currency system automatically allows person B to just ‘drop out’ of the system. Why? Person B starts at 0 points, goes to +1 when he buys lunch for person A, and then loses a point when C buys him a lunch. Voila, person B is back at 0 points, meaning he neither owes — nor is owed — by the community. And there was no need to track who specifically owed who.

So these days, we just keep track of points in a Subversion repository which you can browse. Anytime anyone treats any number of people to food, we check the file. Whotever has the lowest point total (typically negative points) ends up treating the group and gaining a bunch of points back all at once. By following this algorithm, debts tend to get equalized gradually over time. It’s pretty neat. (And of course, running ‘svn log’ gives us a complete history of shifting points!)

To be clear: I don’t think this system is particularly profound. As I already mentioned, we simply reinvented the idea of currency, and found a new appreciation for why it’s such a useful concept. It effectively anonymizes all transactions between people, yet still accurately tracks each person’s contribution to (and reward from) society.

8 Comments to The Spatula System

  1. Karl Fogel says:

    January 14th, 2007 at 10:48 pm

    Apparently this was independently reinvented and implemented in some sort of webby way, as “Buxfer” (I think it’s a nice pun on “Bucks For ” and “Bucks Transfer”). I can’t remember where I read about it, but https://www.buxfer.com/ is up and running. They’re probably all going to get very rich from the idea now :-).

    -Karl

  2. Brian Donovan says:

    January 15th, 2007 at 2:34 am

    Chicago-area restaurants (guessing that you might be in Chicago from the next post) won’t run separate tabs?

  3. Ben Collins-Sussman says:

    January 15th, 2007 at 8:36 am

    Brian: sure, you can maybe ask for two checks… but if you ask for 3 or 4 or 5 checks, you start getting funny looks. That’s just cruel to the waitstaff. The whole point here was to avoiding thinking too hard about payment. Asking for lots of checks is complex, asking everyone to read the tab and deposit money to the pool is complex too. Nothing’s simpler than somebody just treating the group!

    Karl: Yeah, buxfer… hm, I can’t see why it’s really any different than paypal.

  4. Brian Donovan’s Descriptors » Blog Archive » Lunch points says:

    January 15th, 2007 at 12:54 pm

    […] in The Spatula System, Ben Collins-Sussman chronicles the evolution of a system for determining who picks up the check when he and his colleagues have lunch. It gets pretty wacky at the end: So these days, we just keep track of points in a Subversion repository which you can browse. Anytime anyone treats any number of people to food, we check the file. Whotever has the lowest point total (typically negative points) ends up treating the group and gaining a bunch of points back all at once. By following this algorithm, debts tend to get equalized gradually over time. It’s pretty neat. (And of course, running ’svn log’ gives us a complete history of shifting points!) […]

  5. Greg Stein says:

    January 15th, 2007 at 6:55 pm

    Yay! I’m somebody! I’m in THE spatula file!

  6. Andre J. Pluess says:

    January 24th, 2007 at 10:36 am

    Ok, so I throw this out to Ben and his smart computer friends as a variant on this same discussion in hopes of finding a formula for equity:

    My friend Mike and I car pool daily to work at theatres in downtown Chicago. Since we often carry a lot of gear with us, taking the train is a drag – and we’re spoiled and like to drive. Sadly, parking is costly downtown. We get a slight discount from the theatres, but still, we pay 10$ per car to park – which over time, adds up. We were reading about the Spatula system and figuring out how that model might apply to us.

    I know it seems like we should just trade off days. (He pays one day, and I the next… etc…) but it’s gotten more complicated since we must factor in gas… (and we almost always use his car)… and lately, another person has occasionally jumped into the car adding another x factor. If she is in the car on a day when it’s my turn to pay… is it fair to my friend that all of a sudden, I get a cost subsidy on my day to pay?

    Also, some times one of us will only take the trip one way, and not round trip… what does that do to the equation?

    In terms of other miscellaneous data:
    One way trip burns approx .3 gallons of gas – at an average of $2.50/gallon. (We both weigh about the same body weight.)

    ok, if there is any more needed data, let me know. Otherwise, we’re looking for a formula/point tracking system that will allow us to track out cost sharing with maximum fairness. (If it invloves creating a Subversion repository, that’s a bonus!) Thanks. Andre

  7. Karl Fogel says:

    January 26th, 2007 at 5:04 pm

    Andre:

    I think this only looks like a similar problem, but actually it’s not.
    The Spatula System doesn’t help people figure out the *amount*
    of their debt, it only gives them more options for paying back
    (and being paid back) once they already know what the size of
    the debt.

    But what you need is something that will calculate the size of the
    debt in the first place. Totally different problem… And one where
    the overhead of doing accurate calculations may well swamp the
    fundamental costs you were trying to measure in the first place.

    -Karl

  8. engtech says:

    March 2nd, 2007 at 7:40 pm

    I use the same system to split bills between housemates.