Monday night is chore night at the Biesel household, and that usually means a rush hour trip to the grocery store to pick up the week’s supply of ingredients.
It often happens, as I’m waiting in line at the checkout, that the person behind me is purchasing a smaller load of groceries than I am.
When that happens, I usually let them pass me in line, since it’ll make very little difference to me and save them a lot of time.
But I never feel completely at ease with this decision. Is this a rule I should adopt in general? What happens if I have an exceptionally large load and I keep having to let people pass me, taking ages to reach the checkout myself? It feels unfair to have to keep waiting if I’ve been there a long time and keep being delayed by people who’ve only just arrived.
I also try to take into account the tiny, spread-out effect my actions have on broader society by imagining “What if everybody followed this rule?” In order to avoid catastrophically long wait times, I imagine people would shop more frequently with smaller loads, which ultimately means more of the fixed time costs of grocery shopping—travel to and from the store, navigating the aisles, even the physical act of paying—making this time-saving strategy ultimately self-defeating.
So “always” doesn’t feel like a good answer to the question of when I should let a shopper with a smaller load pass me. To see what makes a better rule, I’ll start by unpacking that feeling of unfairness at letting someone pass me who only just got there when I’ve already been waiting a while.
We can use a chart similar to the one from Tug of Cooperation to classify possible actions according to whether they make the two wait times longer or shorter: an action that makes the longer wait time shorter is somewhere in one of the top two pie wedges, and an action that improves the shorter wait time is somewhere in the two right-hand quadrants.
In that earlier post, I argued that rather than acting in their own interests, people should act in favor of total well-being, in order to avoid prisoner’s dilemma situations where everyone ends up worse off than they started. Letting the light shopper cut in front of me falls into that category, so that rule says I should let them pass.
But the do-what’s-better-for-the-total rule made sense in that scenario as the most general rule that treats everyone symmetrically and keeps everyone out of the bottom-left danger zone. Here, there’s an asymmetry built in: one axis represents how short the shorter wait time is, and the other the longer wait time. Consistently making the shorter waits shorter and the longer times longer will never average out to shorter wait times for everyone, and just seems plain unfair to whoever gets stuck waiting forever.
The metric that to me best captures this notion of fairness, as well as the intent of the first-come, first-served system, is to measure not the total wait time but the difference in wait times. Actions that decrease this difference make the waiting times “fairer,” and letting someone cut in line is “unfair” because it increases the difference in wait times.
To me, this isn’t a great metric—surely a metric should at least say it’s bad when everyone’s worse off and good when everyone’s better off?—but it seems to capture what’s wrong with one person continuing to benefit at another’s expense.
So here are our two competing metrics: the “decrease the total” rule says it’s good to let the lighter shopper pass, and the “decrease the difference” rule says it isn’t.
Does that mean it’s okay whatever we choose, since either way we can rationalize it with a rule? Not so fast—if we sometimes act in favor of fairness, and other times in favor of efficiency, then the net result can be both unfair and inefficient.
No, we must literally draw a line somewhere and stick to the actions that lie on one side of it—but where should we draw that line?
This time we don’t have any symmetry to help us; any line is justifiable as long as I stick to it. But to me the simplest solution is to draw the line horizontally, and measure the goodness of my grocery-store line decision by what it does to the longer wait time.According to this metric, should I let the light shopper pass me? I should if doing so decreases the maximum amount of time either of us will have to wait in line. That depends not just on how much we’re purchasing, but also on when we each arrive at the checkout lane. To see how the choice depends on our arrival times, I’ll use diagrams like this one, measuring my progress through the checkout horizontally and the passage of time vertically:

When we add a second shopper, who can only move from “waiting in line” to “checking out” when I’m done, we get to compare the longer (red) and shorter (blue) wait times to how long those wait times would be if we switched places:
In this scenario, where the light shopper arrived soon after I did, the longer (red) wait time is shorter if we switch, so according to the minimize-the-longest-wait rule I should go ahead and let them pass me. But if they came much later, the longer wait time gets even longer:
Then if I want to keep long wait times from getting longer, it’s okay for me not to let a late-coming light shopper cut in line. So perhaps my readiness to let someone pass if they arrive right after me, but reluctance to do so when I’ve already been waiting a while, means that this rule is the one that best captures my inner sense of right and wrong.
(I even worked out the exact threshold at which the rule says letting them pass goes from worth it to not worth it: it’s when the difference in our arrival times exceeds the difference in how long it will take us to check out. So if I want to implement this rule precisely, as soon as I get in line I could imagine starting to unload my groceries, and when someone gets in line behind me I could check whether they have more stuff in their cart than I have left to unload in my imagination. Or, you know, I could read my book and not worry about it that hard.)
In Conclusion
- We have multiple competing senses of what’s good and bad.
- For example, the desires for fairness and efficiency pull in different directions. Going with fairness sometimes and efficiency other times can mean you get neither.
- Doing what’s best for the one who’s worse off—whoever that is—is one way to compromise between those two desires and stay consistent.
- More generally, if you sense that one rule should apply sometimes and a different rule should apply at other times, maybe an in-between rule will better capture your instincts and clarify where you should transition from one to the other.
Thanks for reading!
That was really fun! I wasn’t sure in the begging whether the time to actually check out counted towards the wait time, so had to read it twice, but then it all made sense.
The rule at the end is very nice, but maybe I will add in some scaling factor for `How much of a hurry I’m in’…
LikeLike
*begging -> beginning
LikeLike
I’m so glad you enjoyed it! Sorry about the confusion. I wasn’t sure at first whether to include the actual checkout time either—in the end, I decided to exclude the checkout time as well as time spent shopping, considering that those times are fixed for each shopper as part of the errand itself, whereas waiting in line serves no intrinsic purpose. Unless you’re mulling over a math problem, or you brought a book. Then it’s okay.
However, I did also calculate the stick-or-switch threshold if you include the checkout time with the wait time, and the answer is: Never! If the goal is to minimize the maximum amount of total time someone spends in the checkout lane, you should never let someone pass you. (Fun exercise: prove this!) This was another clue that minimizing the maximum wait+checkout time wasn’t capturing my inner of right and wrong, so I kept searching.
Sure. And maybe that’s the real reason I wouldn’t want to wave an indefinite number of people past me in line—I have places to be, and the longer I have to wait, the more in a hurry I am! So you could even return to a kind of “minimize the total” rule where the wait times are weighted by how in-a-hurry you each are. And since how hurried you are is correlated with how long you’ve had to wait, you could weight the wait times by the wait times themselves! (In other words, instead of minimizing
, try minimizing
, or
for general k. In the limit as
, you recover the rule minimizing the maximum.)
LikeLiked by 1 person
`In the limit as k\to\infty, you recover the rule minimizing the maximum.’
OK, that’s unreasonably cool!
LikeLike
This isn’t great! I’ve thought something similar about whether or not to let a car turn in from the of me in traffic. Would it be a similar metric?
LikeLike
Thanks! That does seem like a similar problem. On the road, I tend to default to whatever the usual right-of-way conventions are, though, both because I’m never entirely sure what’s a guideline and what’s a legal requirement, and also just not to be confusing. I often wish for more nuanced communication possibilities than honking!
LikeLike