AI-powered search personalization in e-commerce: ranking and conversion

Customers leave when search does not understand what they are looking for: the catalog is large, but results are the same for everyone. We build turnkey search personalization for e-commerce — from data to ranking. The result is a higher share of orders from search and fewer empty result pages.
Frequently Asked Questions

Why search personalization in e-commerce loses conversion

A significant share of shoppers enter the store not through the catalog but through the search bar. Search personalization in e-commerce is not “smart suggestions” but management of result order for a specific query, shopper profile, and warehouse state. When this layer is poorly configured, losses occur before the person reaches the cart.

The first reason is irrelevant results. Lexical word matching does not distinguish meaning: for the query “running shoes for asphalt,” models with trail spikes appear at the top, and the required cushioning is not taken into account.

The shopper scrolls two or three screens, doesn’t find anything, and leaves — even though the item is in stock.

The second is empty search results.

The most conversion-driving queries are long: “striped midi dress with straps.” The more refinements, the less often lexical matching finds anything, and the person hits an empty screen at the hottest point of demand, where they already know what they want.

The third is fragmented signals. Clicks, add-to-cart events, returns, order history, stock, and margin live in different systems and are not combined into a single feature.

A typical stack such as Elasticsearch covers full-text search, but the personalization layer is built on top of it separately.

The result: conversion loss is visible in reports at the payment stage, but it matures earlier, in ranking quality: the shopper goes to the catalog or to competitors.

Below we break down how this is addressed — where to apply reranking, how to collect signals, and how to measure the effect on live traffic.

What changes after implementation: effects in measurable terms

Search personalization is measured not by the model’s “smartness” but by the change in the funnel. We capture metrics on the same traffic before and after implementation — otherwise growth is explained by a promotion or season, not by ranking.

Share of orders from search results

We calculate what share of completed orders started from the search page, not from the catalog or a banner. We separate new and returning visitors: for the latter, ranking lifts items from view history, and the increase there is more noticeable.

Time to relevant answer

We keep response time low through a cache of query representations and precomputation of frequent formulations, and fit reranking into the same latency budget.

The search layer on Elasticsearch returns baseline results, with the ranker working on top — the shopper doesn’t wait for the model to finish computing.

Resilience during seasonal peaks

Before a sale, we retrain the model on fresh data: last year’s preferences quickly diverge from current ones. We separately test result behavior under a multiple increase in load — degradation should be gradual, without drops in relevance.

Error class that goes away

Previously, empty queries, typos, and overly general formulations led to “wrong” results or an empty page.

Now such queries are expanded and receive a meaningful set of products, and the share of empty result pages and repeat refinements falls — visible in logs, not in gut feeling.

Personalization methods: what fits and what is missing

Personalization methods differ not by engine but by signal source: a human-written rule, statistics on your own queries and orders, or a combination. What fits depends on traffic volume, catalog homogeneity, and the availability of search history.

In practice, a pure scheme is rare: it is almost always a hybrid, where rules provide the framework and the model further trains ranking on real clicks. Therefore layer priorities and conflict resolution are fixed in advance, not after results decline.

Option When it fits Limitations
Manual sorting rules Small catalog, narrow niche, assortment changes rarely Doesn’t scale: rules conflict with each other, revision after each purchase is manual
Ready-made filters and template blocks Catalog is filled, but no query/order history yet Same results for everyone: doesn’t account for frequency, region, or behavior, and doesn’t handle semantically close queries
Training on your own data There is a stream of queries, clicks, orders, and relevance labels Requires sufficient volume for convergence and a retraining loop; performs worse than rules on rare queries
Hybrid scheme Catalog is growing, assortment is heterogeneous, and both rules and data are available Harder to maintain: layer priorities, feature consistency, decision logging

Edge cases that break the scheme

Cold start: the model won’t lift a new item or rare query without clicks until statistics accumulate. Until then, a fallback layer works — a rule, a product feature such as availability and lead time, or a synonym dictionary.

Rule-model conflicts are resolved explicitly. If a rule lifts a promoted item while the model lowers it due to low click-through rate, without a priority layer and logging you won’t understand why results and category conversion changed.

Implementation stages: from data audit to decision handover

We break implementation into stages with a verifiable result at each — changes in results don’t turn into a long experiment. Below is the sequence of work and the criteria by which a stage is considered complete.

  1. Data audit. Query logs, share of zero-result queries, completeness of catalog attributes, event tracking. On noisy data, the ranking model learns to predict clicks rather than purchases.
  2. Signal schema. We fix what is available at query time: current session, purchase history, availability, price, brand. Separately — features updated in real time and those recalculated once a day.
  3. Ranking setup. The baseline result order remains the foundation, with reranking of the top of the list, typo and synonym handling, and availability constraints on top.
  4. Hypothesis testing. We test a rule on a share of traffic: share of queries with an item click, add-to-cart events, transitions to checkout. Rollout is gradual, with a kill switch for each rule.
  5. Project handover. Configurations, signal schema, metrics, and change policy remain with your team — ongoing development doesn’t require a permanent contractor.

Readiness criteria at each stage

  • Audit — a data map and a list of issues with an assessment of impact on results.
  • Signal schema — sources, features, and update frequency are agreed upon.
  • Ranking — rules are reproducible: configuration and test bench exist.
  • Hypotheses — uplift is confirmed on a control group, the decision is recorded.
  • Handover — your engineers edit rules and read reporting themselves.

What remains with you: configurations, schemas, and policies

Everything we configure remains in your environment — not in a contractor’s closed dashboard. We hand over artifacts in a form suitable for reading, editing, and transfer to another engineer, so that search personalization doesn’t depend on specific people.

  • Ranking configurations — signal weights, boost and decay rules, order of filter application, personalization limits for new users.
  • Signal schema — which events are collected, from which systems, with what delay they reach ranking, and how they are linked to the product card.
  • Access policies — team roles, who can access query exports and user history, retention periods, and the procedure for processing sensitive data.
  • Documentation — methodology for evaluating result quality, review of known model limitations, changelog with justification for each change.
  • Update policy — frequency of index rebuilds, procedure for rolling out a new version, conditions and procedure for rolling back to the previous one.
  • Quality dashboards — search conversion, share of empty results, share of queries without a suitable result, click position distribution.

Support on your own

Your engineers change weights and add signals without digging into code: configurations are kept separate, changes are tested on shadow traffic, and rolled out without stopping search.

Typical edits — increase the weight of item availability, limit personalization for cold users, override rules for a category — are described step by step, with the expected effect on metrics and rollback points.

What happens after handover

For the first weeks we stay in touch: we analyze incidents, answer questions about the signal schema, and help with custom changes. After that, work proceeds according to the update policy — you don’t need to come back to us for every ranking iteration.

Case study: order share growth after a ranking overhaul

An online store with an assortment of about one million SKUs: search was the second-largest entry point by share after the catalog, but result order relied on text relevance and general popularity.

Shopper behavior and history did not affect results, and rare formulations and typos returned an empty screen: share of orders from search — 7%, share of zero-result queries — 18%.

Ranking was rebuilt on top of Elasticsearch: baseline results remained, and on top of them we compute behavioral signals — clicks, add-to-cart events, returns to category — order history, and current session context.

Zero-result queries were closed with a synonym dictionary, typo correction, and substitution of the nearest category: instead of a zero result, the shopper sees related products labeled “similar.”

Metrics before and after

Over six weeks of observation, the share of orders from search results grew from 7% to 12%, the share of zero-result queries fell from 18% to 6%, and search result conversion increased 1.6x.

Session depth also rose: the share of queries after which the shopper does not reformulate the condition grew from 61% to 79%.

We did not compare “before and after” by eye: two equal-length windows plus a control group where ranking was untouched — in it, the share of orders added fractions of a percent over the same period.

Part of the increase is explained by seasonal demand, so the result was recorded by pairs of weeks and categories with different seasonality were reviewed separately.

What to do if the catalog is already connected to an off-the-shelf engine?

An off-the-shelf engine already returns results and handles load — you don’t have to replace it entirely. The fork is different: fine-tune the platform on your behavior, replace the approach with your own ranking logic, or build a hybrid. The choice is dictated not by taste but by access to data and the cost of error on live traffic.

Option When it fits Limitations
Platform fine-tuning Catalog and queries are stable, history of clicks and orders has accumulated Model learns from what has already been shown: new items and rare queries remain at the end of results
Approach replacement Engine doesn’t expose the needed signals, you need your own features and weights Long cycle: your own index, your own rules, traffic launch only after quality comparison
Hybrid scheme Need fast growth while retaining control over ranking More complex operations: two loops, synchronization required, and a single point of failure

Why hybrid is more often chosen

Base search remains on the engine — it is responsible for completeness and response speed, while the search personalization layer reranks the top of the results based on a specific shopper’s history.

History collection is not interrupted: accumulated signals continue to work while new ones are trained on fresh data.

Migration without downtime is done in increments. First shadow mode, where the new logic computes results but is not shown to the shopper, then a share of traffic, then full migration. Rollback — with the same switch, without redeployment or loss of accumulated history.

Technical questions: data, cold start, rollback

Concerns about search personalization in e-commerce boil down to five: whether there is enough data, what to do before order history accumulates, how ranking behaves in season, what happens to outdated product cards, and whether changes can be rolled back. Below are short answers without promises that “it will work by itself.”

How much data is needed for ranking to work?

The model learns on events: impressions, clicks, cart, purchases. If collection does not cover all channels, we first unify them into a single schema and check completeness — otherwise ranking reproduces noise in the data, not demand.

A store without order history — what to do?

We close cold start with rules and content features: query match with title and attributes, category popularity, behavior of similar sessions. We connect the model gradually as events accumulate.

How do results behave in season?

Demand shifts within weeks, so we retrain the model on a sliding window, and keep seasonal features separate and update them more often. Without this, search sells what was bought last season.

What about product cards that are no longer in the catalog?

We remove discontinued positions from the index and from the training set on a schedule: residual popularity otherwise lifts them in results and creates empty clicks. For new product cards, we compute features by attributes.

Can ranking changes be rolled back?

Yes. We store model versions and the rule set separately, switching is done in configuration, without code edits. If result metrics worsen, we return the previous version in minutes.

Let's discuss the task: what we need from you to start

To come back with an estimate and work plan, not general words, we need inputs in several areas. Some items are clarified in the first conversation with your engineers — we list what we usually request.

  • Data: anonymized export of search queries, impressions, clicks, and add-to-cart events for a period sufficient for ranking training, plus field descriptions and a product catalog.
  • Target metrics: what we consider the result — click-through rate to product page, share of zero-result queries, view depth; current values are needed as a baseline.
  • Integration points: where search is invoked — website, app, internal services; requirements for response time and result behavior when some services are unavailable.
  • Constraints: product display rules, promo priorities, data anonymization requirements, and what cannot be changed in results.
  • Technical environment: access for deployments and rollbacks, staging environments, change release and load testing policy.
  • Stage timelines: desired date for enabling personalization and windows when it can be gradually opened to a share of visitors.

Describe the task in a format convenient for you — we will come back with an estimate, work plan, and stage timelines.

If some inputs are not available yet, this doesn’t block the start: we’ll gather them together in a technical meeting and immediately determine what data volume covers the first stage.

AI Development Areas

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1393
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1368
  • B2B Advance company logo design
    B2B Advance company logo design
    815
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1139
  • AIDER company logo development
    AIDER company logo development
    1057
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1152