Correspondence Regarding Market Basket Substitution
The item was out of stock. A suitable replacement was identified by an algorithm that has never eaten.
Incident Report: Grocery Order Substitution Event, November 2022 Filed by: The Person Who Wanted the Other One Incident Class: Algorithm Confidence Exceeds Mandate
Incident Summary
On the date in question, the subject placed an online grocery order that included a specific yogurt. The yogurt was out of stock at the time of fulfillment. The fulfillment system identified a substitute. The substitute was delivered in place of the original item.
The substitution was technically a yogurt. It was not the yogurt.
Substitution Logic Review
The replacement item shares the following attributes with the original: product category (dairy, cultured), container format (single-serve cup), approximate caloric range, and retail price within 15 percent of the original. By these metrics, the substitution is appropriate.
The original item was selected for reasons not represented in these metrics. The original item is the yogurt the subject's parent kept in the refrigerator during a specific period of the subject's childhood that is unrelated to the dairy category as a concept but very related to this yogurt specifically. The subject buys it every two weeks. The subject does not require it. The subject would not describe themselves as someone for whom yogurt carries emotional weight.
The fulfillment algorithm does not have this information. This is reasonable. The problem is that it proceeded without it.
The Substitution Taxonomy
Three categories of grocery substitution exist in practice. The first is acceptable: generic for name brand when the brand preference is purely habitual. The second is annoying but manageable: one size for another, forcing a usage rate recalculation. The third is what occurred here: a structurally similar item that is functionally identical and experientially wrong.
The substitution logic is optimizing for category membership when the original item was selected for reasons the category cannot capture.
The Governing Rule
Substitution algorithms operate at the level of the item. Preference operates at the level of the item's history. These are different objects with the same name. The algorithm cannot access the history. The algorithm was not designed to access the history. The algorithm is doing exactly what it was designed to do.
This makes the situation harder to argue.
Consequence
The delivered yogurt was consumed. It was fine. It is not in the refrigerator now. The original yogurt is in the next order.
Eventually market basket substitution acquires an unwritten enforcement system that everyone denies creating. The subject has begun adding notes to substitution preferences. The notes explain why items cannot be replaced. The notes are not read. They are stored in a database somewhere as user preference data that influences future substitution decisions in ways that are opaque to the user who wrote them.
Disposition
Case closed. Yogurt consumed. Lesson not available.