Ecommerce ops · Production

How Instacart uses machine learning-driven autocomplete to increase basket sizes and search engagement

The problem

Instacart's initial popularity-based autocomplete ranking left significant room for improvement: semantically duplicate suggestions cluttered results, misspelling handling was limited, and new or smaller retailers lacked sufficient search history to generate useful query suggestions.

First attempt

A label-aggregation approach to multi-objective ranking ran into data sparsity problems, and naive removal of misspelled but high-converting queries would have reduced customer ordering of those products.

Workflow diagram · grounded in source
1
User types search prefix
trigger
“Given the user input in the search bar, which we refer as prefix, we need to retrieve all query suggestions that match the prefix”
2
Candidate retrieval from search-log corpus
integration
“We rely on previous customer searches across Instacart to determine a comprehensive set of suggestions that can be used to predict the customer's search query. Our vocabulary consists of 57k words, extracted from 11.3 Million eligible pr…”
3
Rule-based candidate filtering
validation
“we apply a set of rules to filter out candidates, such as: Removing suggestions with bad words and blocklisted terms”
4
Semantic deduplication via embeddings
ai_action
“We tackled semantic deduplication using our Search Embeddings model. The core of semantic deduplication algorithm is the use of pre-trained query embeddings to identify pairs of terms that are semantically similar by looking at the simil…”
5
Engagement-based ML ranking
ai_action
“we first developed a lightweight ranking algorithm modeled as a binary classification problem with a blend of query features such as popularity and prefix-query interaction features”
6
Multi-objective add-to-cart ranking
ai_action
“we created a new training dataset that focuses on all three steps and built a multi-objective model with the ultimate goal of increasing add to carts”
7
Ranked suggestions served to user
output
“the user is typing their intent in the search bar (prefix) and dynamically sees a ranked list of suggestions”
Reported outcome

Successive ML improvements—fuzzy matching, semantic deduplication, catalog augmentation, and multi-objective ranking—yielded a 2.7% increase in autocomplete engagement rate, a 0.3% increase in search conversion rate, an increase in GTV per user, plus earlier gains of +2% items added to cart per search and +1.6% in ad revenue.

Reported metrics
Autocomplete engagement rate (fuzzy match)1%
Converted queries (fuzzy match)0.5%
Autocomplete rate for new users (catalog augmentation)0.8%
Basket sizes (catalog augmentation)0.7%
Show all 9 reported metrics
autocomplete engagement rate (fuzzy match)1%
converted queries (fuzzy match)0.5%
autocomplete rate for new users (catalog augmentation)0.8%
basket sizes (catalog augmentation)0.7%
items added to cart per search (engagement model)+2%
ad revenue (engagement model)+1.6%
autocomplete engagement rate (multi-objective model)+2.7%
search conversion rate (multi-objective model)+0.3%
GTV per user (multi-objective model)increase in GTV (Gross Transaction Value) per user
Reported stack
Search Embeddings model
Source
https://tech.instacart.com/how-instacart-uses-machine-learning-driven-autocomplete-to-help-people-fill-their-carts-9bc56d22bafb
Read source ↗

Frequently asked questions

What did this team achieve with this AI workflow?

Successive ML improvements—fuzzy matching, semantic deduplication, catalog augmentation, and multi-objective ranking—yielded a 2.7% increase in autocomplete engagement rate, a 0.3% increase in search conversion rate,…

What tools did this team use?

Search Embeddings model.

What results were reported?

Autocomplete engagement rate (fuzzy match): 1%; Converted queries (fuzzy match): 0.5%; Autocomplete rate for new users (catalog augmentation): 0.8%; Basket sizes (catalog augmentation): 0.7% (source-reported, not independently verified).

What failed first in this deployment?

A label-aggregation approach to multi-objective ranking ran into data sparsity problems, and naive removal of misspelled but high-converting queries would have reduced customer ordering of those products.

How is this ecommerce ops AI workflow structured?

User types search prefix → Candidate retrieval from search-log corpus → Rule-based candidate filtering → Semantic deduplication via embeddings → Engagement-based ML ranking → Multi-objective add-to-cart ranking → Ranked suggestions served to user.