Research / / 6 min read

A failure taxonomy for machine-mediated shopping

Deepanshu Pal

Seven classes of failure a shopping agent can meet in a store. The taxonomy is versioned and open.

Banner illustration for: A failure taxonomy for machine-mediated shopping

Why a shared vocabulary

When a shopping agent fails in a store, three groups need to talk about it: the store, the people building the agent and the researchers measuring both. Without shared words, each tells a different story about the same failure.

A store owner sees a lost sale. An agent builder sees a bug in the agent. A researcher sees a data point. All three are describing the same event, and none of them can compare notes unless the failure has a name they all use.

We publish this taxonomy so any team can apply it to its own traces.

The seven classes

Seven classes of failure a shopping agent can meet in a store. They describe what went wrong in the store-agent interaction, not who was at fault.

Filter the classes by the step of the shop where the agent was working. A class can appear in more than one step.

Showing 7 of 7 classes

CodeFailure class
F1

Unresolvable element

The agent could not locate or interact with a required page element.

E.g. A price rendered as an image. A button that only appears on hover.

F2

Variant ambiguity

The agent could not tell which variant to choose from the signals it had.

E.g. Size and color selectors that do not expose machine-readable state.

F3

Cart state loss

Items were added to the cart but were missing at checkout.

E.g. Session expiry or a redirect that dropped the cart.

F4

Payment wall

The agent reached payment but could not go on, because the step needed a human-scale interaction.

E.g. A CAPTCHA. A 3D Secure modal with no programmatic path.

F5

Dynamic content race

A price, availability status or form field changed between the agent reading it and acting on it.

E.g. The agent acts on a value that is no longer true.

F6

Navigation dead end

The agent reached a page or state with no way forward toward the task, and no error was shown.

E.g. A page that neither advances nor fails.

F7

Data inconsistency

Structured data disagreed with the rendered page, so the agent acted on incorrect information.

E.g. A feed, schema.org markup or meta tags that differ from what the page shows.

Telling the classes apart

Some failures look alike. Three pairs cause most of the confusion when tagging a trace.

F1 and F6. In F1 the agent can see the page but cannot act on a specific element. In F6 the page offers no way forward at all, and it shows no error. If one element is the problem, tag F1. If the whole page is a dead end, tag F6.

F2 and F7. Both end with the agent choosing wrongly. In F2 the page does not give the agent enough signal to choose. In F7 the page gives conflicting signals, such as a feed that says one thing and the rendered page another. Missing signal is F2. Wrong or conflicting signal is F7.

F3 and F5. In F3 the cart changes state, so an item goes missing. In F5 the agent acts on a value that has since changed. If the store lost what the agent had done, tag F3. If the agent acted on something that was no longer true, tag F5.

A single failure can carry more than one code. Tag all that apply, and keep the one that happened first as the primary.

How the codes are used

Each failure in a trace can be tagged with one or more taxonomy codes. The codes can appear in a scorecard and in the raw trace. A store can use them to decide what to fix first.

Here is how that reads in practice. This is an illustration of the method, not a measured result.

StepIllustrative trace, not a real store
01

Find

The agent finds the product page and reads the title and price.

02

Choose

The size selector does not expose which sizes are in stock. The agent picks one and goes on.

Tag F2 Variant ambiguity

03

Cart

The item is added. At checkout the cart is empty after a redirect.

Tag F3 Cart state loss

Two codes on one run tell the store where to look first: the earliest failure in the trace, since later steps may not have been reached cleanly.

What the taxonomy does not cover

The taxonomy describes failures in the store-agent interaction. It does not describe agent quality in general, such as whether the agent chose a good product, and it does not describe the shopper's preferences. It also does not rank the classes by how common or costly they are. We do not publish frequencies here, because a ranking needs a measured sample and this page does not claim one.

Versioning

The taxonomy is versioned and open. It will be extended as new failure modes are observed, and additions will be announced as minor version increments. A class is only added when a failure cannot be described by the existing seven.

The next read / Writing

Agent readiness is not a vibe.

A store does not feel agent-ready. It scores agent-ready.

Read the article