Revenue, stated correctly.

$ 84.6K in attributed revenue

in 23 days, on 25% of the eligible base.

COMPANY
ROLE

Product Designer

EXPERTISE

E-commerce · Mobile

YEAR

2026

Project description

Project description

Project description

The original ask was a better substitution screen. I found that the picking stage was missing from the order journey entirely. The real need was transparency and prevention.

Timeline

Timeline

Live in production on August 31, 2026. This case covers the first 30 days.

Background

About 70% of online grocery orders had at least one item out of stock during picking. Store staff solved this by contacting customers through their personal messaging apps: no audit trail, no measurement, and customers often mistook the messages for fraud.

Reframing the problem

Industry research on retail loss showed that aggressive substitution increases churn. [CONFIRM: cite the research source] The order status flow had no picking stage: an order jumped from “approved” to “on its way,” making the moment where stock-outs happen invisible to the product.

Process

Process

Process

Mapping the service

I built a service blueprint covering customers, store pickers, operations, back-end and payments, with the future state clearly marked as a hypothesis.

Cataloguing the edge cases

I mapped 22 scenarios, including multiple missing items, no eligible substitute and no response from the customer, and wrote them as user stories with acceptance criteria.

A single CTA slot, not two buttons

The footer holds one slot that changes state. With nothing selected it reads "Not this time". The moment an item is added it becomes "Continue".

The customer is never offered "buy" and "leave" side by side. Both states move toward checkout — one with extra items, one without. An upsell placed in a purchase flow earns its place by not competing with the purchase.

Solution

Solution

Solution

One decision, made upfront

At checkout, the customer chooses one of two rules: the store picks a similar item, or the customer chooses. It’s mandatory, because a silent default is what created the messaging-app workaround.

Refund at the moment it matters

Refunding isn’t asked upfront. It’s an action on each missing item, when the customer can see what’s actually missing.

Rules enforced by the system

The 150% cap is applied by the substitution engine before anything reaches the picker or the customer, so no one ever sees an invalid option.

A clear deadline

The decision screen shows a countdown to the cutoff, and the preference is locked once picking starts.

Feedback that trains the engine

After delivery, the customer rates each substitute. Accept or reject on a named item is a clean signal back to the similarity engine.

Results

Results

Results

First 23 days, on 25% of the eligible base

2,827 orders containing an item added from the shelf

R$ 84.574 in attributed revenue (≈ US$ 16.7K)

5,845 cart additions — 2.07 items per order

11,509 people scrolled the shelf — about 81% of the exposed segment

No promotional items in the shelf, so the incremental spend did not come out of margin