E-commerce

Behavioural design

Onboarding

Data driven

Conversion

Personalised Shopping

Helping shoppers build a full basket faster, with tailored filters, smart ranking and well timed nudges.

+9pp

increase in order conversion

+11pp

more users reached minimum spend

-23%

reduction in time to build a basket

COMPANY

ROLE

PLATFORMS

Ocado Technology

Product Designer

Web, iOS, Android

Context

Ocado Technology builds a B2B2C grocery e-commerce platform used by retailers worldwide under their own brand.

Features have to scale across partners while meeting the needs of their shoppers on web, iOS and Android.

First-time shoppers arrive motivated, but many never complete their first order.

The biggest drop-off happens after users start building their basket.

Problem

Building a complete basket is slow and takes effort. Users add their first items quickly, then slow down:

  • Progress slows as decisions accumulate

  • Too many options increase cognitive load

  • Many users abandon before reaching minimum spend

Objective: increase first-time conversion by reducing the effort to build a complete basket.

Objective

Increase first-time shopper conversion by reducing the effort required to build a complete basket.

My role

  • Led end-to-end design of the basket-building system, from research to launch

  • Refined the problem framing: shifted focus from “personalisation” to basket-building friction

  • Translated research and data into a clear product strategy

  • Designed the core experience: onboarding, filters, nudges and discovery

  • Prioritised interventions by their impact on conversion

  • Took part in discovery for the next phase: AI and machine learning personalisation that learns from shopper behaviour

Discovery

What we learned

First-time shoppers don't struggle to find products. They struggle to build a complete basket efficiently.

Users start quickly, but slow down as decisions accumulate, leading many to drop off before reaching minimum spend.

Key insight

Conversion doesn’t fail at the start. It fails when users try to go from a few items to a complete shop.

Supporting evidence

User research (interviews & usability tests): Users feel overwhelmed and struggle to decide what to add next

Funnel data
Largest drop-off happens after the first item is added

Behavioural data
Clear friction zone between 5 and 25 minutes

Filters analysis
Low usage, but significantly higher conversion when applied

Approach

Cross-functional alignment

Personalisation touched many different areas in the platform: search, browse, merchandising, recipes and promotions. Each area was owned by a different team.

To align these, I facilitated a cross-functional workshop with:

  • Product managers from all different domains

  • Merchandising and tagging teams

  • Data and engineering leads

Workshop outcomes

  • Defined where personalisation should happen first

  • Aligned on filters and tags as the core system enabler

  • Surfaced constraints, like inconsistent tagging and cookie limits

  • Prioritised high-impact use cases across domains

  • Established a shared roadmap for rollout

This alignment was critical to move from isolated features to a coherent system across the journey.

We designed a basket-building acceleration system that intervenes at the moments where users struggle.

Principles:

  1. Act early → First 1 to 3 minutes are critical

  2. Reduce choice → Narrow options to relevant products

  3. Guide continuation → Help users move from “1 item” to “complete basket”

  4. Balance control → Allow users to override personalisation

Solution

Basket-building acceleration system

We introduced targeted interventions to help users move from a few items to a complete basket, reducing effort where they get stuck.

  1. Capture intent: Onboarding quiz

    A short quiz collects preferences, started by a nudge when users hesitate.

  1. Reduce choice: Pre-applied filters

    Selected preferences become filters that stay active across the whole platform.

  1. Speed up discovery: Personalised ranking

    Relevant products appear first.

  1. Drive continuation: Contextual nudges

    Well-timed prompts ask for preferences in context.

  1. Finish the basket: "Complete your shop"

    Suggests missing items to reach minimum spend.

Two types of nudges

  1. Hesitation nudge

Detects when users get stuck and invites them to personalise. It opens the onboarding flow so they see products tailored to them. (Small effort)

  1. Behavioural nudge

Reacts to what's in the basket with one targeted question. If the user agrees, one filter is pre-selected, for example vegetarian only. They can change it anytime in preferences. (Medium effort)

How the hesitation nudge works

We defined the trigger logic with the data analysts, based on where the funnel showed users slowing down.

Condition

Rule

Basket progress

Hesitation signal

Action

User has added at least 3 products

User stays in the catalogue for more than 5 seconds without adding a product

Show a nudge inviting them to personalise their shop

Why after the 3rd product: by then, users have shown real intent to shop. Asking earlier would feel like a barrier. Asking at the moment they hesitate makes personalisation feel like help, not a form.

Key product decisions

  • Focus on early and mid journey, where drop-off was highest

  • Use filters as the main intent signal, since the data showed they drive conversion

  • Trigger nudges by behaviour.

  • Keep onboarding light and optional. It's offered when users need help, not forced at the start.

  • Only filter on what users confirm. The system asks before it filters.

Impact

Funnel performance

Metric

Before

After

Impact

Order conversion

Reach min spend

Time to min spend

39%

53%

10.7 min

45 to 48%

61 to 64%

~8 min

+6–9 pp

+8–11 pp

-23%

Unexpected finding

Built for first-time shoppers. Used most by returning ones.

  • First-time shoppers were still exploring and rarely set preferences.

  • Returning shoppers knew what they wanted and set preferences once.

  • Conversion grew across all orders, not only first ones.

The feature became a retention tool, not only an acquisition tool.

Learnings

1. Solved the real bottleneck

Focused on basket-building, not product search

2. Reduced cognitive load

Filters and ranking simplified decisions

3. Intervened at the right moment

Nudges targeted behavioural drop-offs

4. Balanced automation and control

Users could override preferences, building trust

Next steps: AI and machine learning personalisation (discovery)

Rules worked, but they relied on users setting preferences. We explored how AI and machine learning could learn from behaviour instead:

  • Smarter triggers: predict when each user needs help, instead of using fixed rules

  • Better questions: ask the right thing at the right moment

  • Continuous learning: every answer and override trains the model

The key question: should the model act on what it infers? A wrong filter hides products users never know they missed.

Signal

What the system does

User declared it

Model infers it, high confidence

Model infers it, low confidence

Apply filter, easy to remove

Ask first, then pre-select

Rank only, hide nothing

Dietary needs are never inferred. The system always asks.

Next step: test all three and track filter removals as the signal that the model is wrong.

The key question: should the model act on what it infers? A wrong filter hides products users never know they missed.

Signal

What the system does

User declared it

Model infers it, high confidence

Model infers it, low confidence

Apply filter, easy to remove

Ask first, then pre-select

Rank only, hide nothing

Dietary needs are never inferred. The system always asks.

Next step: test all three and track filter removals as the signal that the model is wrong.

Reflection

We designed for the first order, but the value showed up in repeat orders. Personalisation works when it's right, visible and easy to undo.

AI and machine learning can make it smarter, but only if users stay in control.

E-commerce

Behavioural design

Onboarding

Data driven

Conversion

Personalised Shopping

Helping shoppers build a full basket faster, with tailored filters, smart ranking and well timed nudges.

+9pp

increase in order conversion

+11pp

more users reached minimum spend

-23%

reduction in time to build a basket

COMPANY

ROLE

PLATFORMS

Ocado Technology

Product Designer

Web, iOS, Android

Context

Ocado Technology builds a B2B2C grocery e-commerce platform used by retailers worldwide under their own brand.

Features have to scale across partners while meeting the needs of their shoppers on web, iOS and Android.

First-time shoppers arrive motivated, but many never complete their first order.

The biggest drop-off happens after users start building their basket.

Problem

Building a complete basket is slow and takes effort. Users add their first items quickly, then slow down:

  • Progress slows as decisions accumulate

  • Too many options increase cognitive load

  • Many users abandon before reaching minimum spend

Objective: increase first-time conversion by reducing the effort to build a complete basket.

Objective

Increase first-time shopper conversion by reducing the effort required to build a complete basket.

My role

  • Led end-to-end design of the basket-building system, from research to launch

  • Refined the problem framing: shifted focus from “personalisation” to basket-building friction

  • Translated research and data into a clear product strategy

  • Designed the core experience: onboarding, filters, nudges and discovery

  • Prioritised interventions by their impact on conversion

  • Took part in discovery for the next phase: AI and machine learning personalisation that learns from shopper behaviour

Discovery

What we learned

First-time shoppers don't struggle to find products. They struggle to build a complete basket efficiently.

Users start quickly, but slow down as decisions accumulate, leading many to drop off before reaching minimum spend.

Key insight

Conversion doesn’t fail at the start. It fails when users try to go from a few items to a complete shop.

Supporting evidence

User research (interviews & usability tests): Users feel overwhelmed and struggle to decide what to add next

Funnel data
Largest drop-off happens after the first item is added

Behavioural data
Clear friction zone between 5 and 25 minutes

Filters analysis
Low usage, but significantly higher conversion when applied

Approach

Cross-functional alignment

Personalisation touched many different areas in the platform: search, browse, merchandising, recipes and promotions. Each area was owned by a different team.

To align these, I facilitated a cross-functional workshop with:

  • Product managers from all different domains

  • Merchandising and tagging teams

  • Data and engineering leads

Workshop outcomes

  • Defined where personalisation should happen first

  • Aligned on filters and tags as the core system enabler

  • Surfaced constraints, like inconsistent tagging and cookie limits

  • Prioritised high-impact use cases across domains

  • Established a shared roadmap for rollout

This alignment was critical to move from isolated features to a coherent system across the journey.

We designed a basket-building acceleration system that intervenes at the moments where users struggle.

Principles:

  1. Act early → First 1 to 3 minutes are critical

  2. Reduce choice → Narrow options to relevant products

  3. Guide continuation → Help users move from “1 item” to “complete basket”

  4. Balance control → Allow users to override personalisation

Solution

Basket-building acceleration system

We introduced targeted interventions to help users move from a few items to a complete basket, reducing effort where they get stuck.

  1. Capture intent: Onboarding quiz

    A short quiz collects preferences, started by a nudge when users hesitate.

  1. Reduce choice: Pre-applied filters

    Selected preferences become filters that stay active across the whole platform.

  1. Speed up discovery: Personalised ranking

    Relevant products appear first.

  1. Drive continuation: Contextual nudges

    Well-timed prompts ask for preferences in context.

Help complete the basket:
“Complete your shop”

Two types of nudges

  1. Hesitation nudge

Detects when users get stuck and invites them to personalise. It opens the onboarding flow so they see products tailored to them. (Small effort)

  1. Behavioural nudge

Reacts to what's in the basket with one targeted question. If the user agrees, one filter is pre-selected, for example vegetarian only. They can change it anytime in preferences. (Medium effort)

How the hesitation nudge works

We defined the trigger logic with the data analysts, based on where the funnel showed users slowing down.

Condition

Rule

Basket progress

Hesitation signal

Action

User has added at least 3 products

User stays in the catalogue for more than 5 seconds without adding a product

Show a nudge inviting them to personalise their shop

Why after the 3rd product: by then, users have shown real intent to shop. Asking earlier would feel like a barrier. Asking at the moment they hesitate makes personalisation feel like help, not a form.

Key product decisions

  • Focus on early and mid journey, where drop-off was highest

  • Use filters as the main intent signal, since the data showed they drive conversion

  • Trigger nudges by behaviour.

  • Keep onboarding light and optional. It's offered when users need help, not forced at the start.

  • Only filter on what users confirm. The system asks before it filters.

Impact

Funnel performance

Metric

Before

After

Impact

Order conversion

Reach min spend

Time to min spend

39%

53%

10.7 min

45 to 48%

61 to 64%

~8 min

+6–9 pp

+8–11 pp

-23%

Unexpected finding

Built for first-time shoppers. Used most by returning ones.

  • First-time shoppers were still exploring and rarely set preferences.

  • Returning shoppers knew what they wanted and set preferences once.

  • Conversion grew across all orders, not only first ones.

The feature became a retention tool, not only an acquisition tool.

Learnings

1. Solved the real bottleneck

Focused on basket-building, not product search

2. Reduced cognitive load

Filters and ranking simplified decisions

3. Intervened at the right moment

Nudges targeted behavioural drop-offs

4. Balanced automation and control

Users could override preferences, building trust

Next steps: AI and machine learning personalisation (discovery)

Rules worked, but they relied on users setting preferences. We explored how AI and machine learning could learn from behaviour instead:

  • Smarter triggers: predict when each user needs help, instead of using fixed rules

  • Better questions: ask the right thing at the right moment

  • Continuous learning: every answer and override trains the model

The key question: should the model act on what it infers? A wrong filter hides products users never know they missed.

Signal

What the system does

User declared it


Model infers it, high confidence

Model infers it, low confidence

Apply filter, easy to remove

Ask first, then pre-select

Rank only, hide nothing

Dietary needs are never inferred. The system always asks.

Next step: test all three and track filter removals as the signal that the model is wrong.

Reflection

We designed for the first order, but the value showed up in repeat orders. Personalisation works when it's right, visible and easy to undo.

AI and machine learning can make it smarter, but only if users stay in control.