AI-персоналізація пошуку в e-commerce: ранжування та конверсія

Клієнти йдуть, коли пошук не розуміє, що вони шукають: каталог великий, а видача однакова для всіх. Ми розробляємо персоналізацію пошуку в e-commerce під ключ — від даних до ранжування. Результат — зростання частки замовлень з пошуку та менше порожніх видач.
Часті запитання

Чому персоналізація пошуку в e-commerce втрачає конверсію

Значна частина покупців приходить до магазину не через каталог, а через рядок пошуку. Персоналізація пошуку в e-commerce — це не «розумні підказки», а керування порядком видачі під конкретний запит, профіль покупця та стан складу. Коли цей шар налаштований слабко, втрати виникають раніше, ніж людина дійде до кошика.

Перша причина — нерелевантна видача. Лексичний збіг за словами не розрізняє сенс: за запитом «кросівки для бігу по асфальту» в топ потрапляють моделі з шипами для ґрунту, а потрібна амортизація не враховується. Покупець гортає два-три екрани, не знаходить і йде — при цьому товар є в наявності.

Друга — порожні результати пошуку. Найконверсійніші запити довгі: «сукня міді в смужку на бретелях». Чим більше уточнень, тим рідше лексичний матч знаходить хоч щось, і людина впирається в порожній екран на найгарячішій ділянці попиту, де вона вже знає, чого хоче.

Третя — розрізнені сигнали. Кліки, додавання в кошик, повернення, історія замовлень, залишки та маржинальність лежать у різних системах і не зводяться в єдину ознаку.

Типовий стек на кшталт Elasticsearch закриває повнотекстовий пошук, але шар персоналізації будується поверх нього окремо.

Підсумок — втрата конверсії видна у звітах на етапі оплати, а визріває раніше, на якості ранжування: покупець іде в каталог або до конкурентів. Далі розбираємо, як це закривається — де ставити переранжування, як збирати сигнали і як вимірювати ефект на живому трафіку.

Що змінюється після впровадження: ефекти у вимірюваних величинах

Персоналізація пошуку вимірюється не «розумністю» моделі, а зміною воронки. Метрики знімаємо на тому самому трафіку до і після впровадження — інакше зростання пояснюється акцією або сезоном, а не ранжуванням.

Частка замовлень з видачі

Вважаємо, яка частина оформлених замовлень почалася зі сторінки пошуку, а не з каталогу чи банера. Нових і тих, хто повернувся, розводимо окремо: у других ранжування піднімає товари з історії переглядів, і приріст там помітніший.

Час до релевантної відповіді

Відгук тримаємо за рахунок кешу представлень запитів і передрозрахунку частих формулювань, переранжування вкладаємо в той самий бюджет часу. Пошуковий шар на Elasticsearch віддає базову видачу, поверх якої працює ранжувальник — покупець не чекає, поки модель дорахує.

Стійкість на сезонних піках

Перед розпродажем модель перенавчаємо на свіжих даних: торішні вподобання швидко розходяться з поточними. Окремо перевіряємо поведінку видачі при кратному зростанні навантаження — деградація має бути плавною, без провалів у релевантності.

Клас помилок, який зникає

Раніше порожні запити, одруки та надто загальні формулювання призводили до видачі «не те» або до порожньої сторінки. Тепер такі запити добудовуються і отримують осмислений набір товарів, а частка порожніх видач і повторних уточнень падає — це видно за логами, а не за відчуттями.

Способи персоналізації: що підходить і чого бракує

Способи персоналізації розрізняються не рушієм, а джерелом сигналу: правило, написане людиною, статистика за власними запитами й замовленнями або їх комбінація. Що підійде — залежить від обсягу трафіку, однорідності каталогу та наявності історії пошуку.

На практиці чиста схема трапляється рідко: майже завжди це гібрид, де правила задають каркас, а модель доучує ранжування на реальних переходах. Тому пріоритет шарів і розбір конфліктів фіксують заздалегідь, а не за фактом просівшої видачі.

Варіант Коли підходить Обмеження
Ручні правила сортування Невеликий каталог, вузька ніша, асортимент змінюється рідко Не масштабується: правила конфліктують між собою, перегляд після кожної закупівлі — вручну
Готові фільтри та шаблонні блоки Каталог наповнений, історії запитів і замовлень поки немає Однакова видача для всіх: не враховує частотність, регіон і поведінку, не витягує близькі за змістом запити
Навчання на власних даних Є потік запитів, кліки, замовлення та розмітка релевантності Потрібен обсяг для збіжності та контур перенавчання; на рідкісних запитах працює гірше за правила
Гібридна схема Каталог зростає, асортимент неоднорідний, є і правила, і дані Складніша в підтримці: пріоритети шарів, узгодженість ознак, логування рішень

Крайні випадки, які ламають схему

Холодний старт: новий товар або рідкісний запит без кліків модель не підніме, поки не набереться статистика. До цього працює резервний шар — правило, товарна ознака на кшталт наявності та строку поставки або словник синонімів.

Конфлікт правила й моделі вирішують явно. Якщо правило піднімає акційний товар, а модель опускає його через низьку клікабельність, без шару пріоритетів і логування ви не розберете, чому змінилася видача і конверсія в категорії.

Етапи впровадження: від аудиту даних до передачі рішень

Впровадження розбиваємо на етапи з перевірюваним результатом на кожному — зміни у видачі не перетворюються на довгий експеримент. Нижче — послідовність робіт і критерії, за якими етап вважається закритим.

  1. Аудит даних. Логи запитів, частка запитів без результату, повнота атрибутів каталогу, розмітка подій. На шумних даних модель ранжування вчиться передбачати кліки, а не покупки.
  2. Схема сигналів. Фіксуємо, що доступно в момент запиту: поточна сесія, історія покупок, наявність, ціна, бренд. Окремо — ознаки, що оновлюються в реальному часі, і ті, що перераховуються раз на добу.
  3. Налаштування ранжування. Базовий порядок видачі залишається опорою, поверх — переранжування верхньої частини списку, обробка одруків і синонімів, обмеження за наявністю.
  4. Перевірка гіпотез. Правило перевіряємо на частці трафіку: частка запитів із кліком по товару, додавання в кошик, переходи в оформлення. Розкатка поступова, з вимикачем на кожне правило.
  5. Передача проєкту. Конфігурації, схема сигналів, метрики та регламент правок залишаються вашій команді — розвиток не потребує постійного підрядника.

Критерії готовності на кожному етапі

  • Аудит — карта даних і список проблем з оцінкою впливу на видачу.
  • Схема сигналів — узгоджено джерела, ознаки та частоту оновлення.
  • Ранжування — правила відтворювані: є конфігурація і тестовий стенд.
  • Гіпотези — приріст підтверджено на контрольній групі, рішення зафіксовано.
  • Передача — ваші інженери самі правлять правила і читають звітність.

Що залишається у вас: конфігурації, схеми та регламенти

Усе, що ми налаштовуємо, залишається у вашому контурі — не в закритому кабінеті підрядника. Артефакти передаємо у вигляді, придатному для читання, правок і передачі іншому інженеру, щоб персоналізація пошуку не залежала від конкретних людей.

  • Конфігурації ранжування — ваги сигналів, правила бусту й згасання, порядок застосування фільтрів, ліміти на персоналізацію для нових користувачів.
  • Схема сигналів — які події збираються, з яких систем, із якою затримкою потрапляють у ранжування і як пов'язуються з карткою товару.
  • Політики доступу — ролі в команді, кому доступні вивантаження запитів та історії користувачів, строки зберігання, порядок обробки чутливих даних.
  • Документація — методика оцінювання якості видачі, розбір відомих обмежень моделі, журнал змін з обґрунтуванням кожного.
  • Регламент оновлення — періодичність перезбирання індексів, порядок викатки нової версії, умови та процедура відкату до попередньої.
  • Дашборди якості — конверсія пошуку, частка порожніх видач, частка запитів без відповідного результату, розподіл позицій кліків.

Підтримка власними силами

Ваші інженери змінюють ваги й додають сигнали, не зазираючи в код: конфігурації винесено окремо, зміни проходять перевірку на тіньовому трафіку і викочуються без зупинки пошуку.

Типові правки — підняти вагу наявності товару, обмежити персоналізацію для холодних користувачів, перевизначити правила для категорії — описано покроково, з очікуваним ефектом на метрики та точками відкату.

Що відбувається після передачі

Перші тижні залишаємося на зв'язку: розбираємо інциденти, відповідаємо на питання щодо схеми сигналів, допомагаємо з нестандартними правками. Далі робота йде за регламентом оновлення — вам не потрібно повертатися до нас за кожною ітерацією ранжування.

Кейс: зростання частки замовлень після перебудови ранжування

Інтернет-магазин з асортиментом близько мільйона позицій: пошук — друга за часткою точка входу після каталогу, але порядок видачі тримався на текстовій релевантності та загальній популярності.

Поведінка та історія покупця на видачу не впливали, а рідкісні формулювання й одруки віддавали порожній екран: частка замовлень із пошуку — 7%, частка порожніх запитів — 18%.

Ранжування перебудували поверх Elasticsearch: базова видача залишилася, поверх неї рахуємо поведінкові сигнали — кліки, додавання в кошик, повернення в категорію, — історію замовлень і контекст поточної сесії.

Порожні запити закрили словником синонімів, виправленням одруків і підстановкою найближчої категорії: замість нульового результату покупець бачить споріднені товари з позначкою «схожі».

Метрики до і після

За шість тижнів спостереження частка замовлень з видачі зросла з 7% до 12%, частка порожніх запитів упала з 18% до 6%, конверсія видачі — у 1,6 раза. Піднялася й глибина сесії: частка запитів, після яких покупець не переформульовує умову, зросла з 61% до 79%.

Порівнювали не «до і після» на око: два вікна рівної довжини плюс контрольна група, де ранжування не чіпали — у ній частка замовлень за той самий період додала частки відсотка.

Частина приросту пояснюється сезонним попитом, тому підсумок фіксували за парами тижнів і окремо дивилися категорії з різною сезонністю.

Що робити, якщо каталог уже підключено до готового рушія?

Готовий рушій уже віддає видачу й тримає навантаження — міняти його цілком не обов'язково. Розвилка в іншому: доучити платформу на вашій поведінці, замінити підхід власною логікою ранжування або зібрати гібрид. Вибір диктує не смак, а доступ до даних і ціна помилки на живому трафіку.

Варіант Коли підходить Обмеження
Доучування платформи Каталог і запити стабільні, накопичено історію переходів і замовлень Модель учиться на тому, що вже показували: новинки та рідкісні запити залишаються в кінці видачі
Заміна підходу Рушій не віддає потрібні сигнали, потрібні власні ознаки та власні ваги Довгий цикл: власний індекс, власні правила, виведення на трафік лише після порівняння якості
Гібридна схема Потрібен приріст швидко і при цьому контроль над ранжуванням Складніша експлуатація: два контури, потрібна синхронізація та єдина точка відмови

Чому частіше беруть гібрид

Базовий пошук залишається на рушії — він відповідає за повноту й швидкість відгуку, а шар персоналізації пошуку переранжовує верх видачі за історією конкретного покупця.

Збереження історії при цьому не переривається: накопичені сигнали продовжують працювати, поки нові доучуються на свіжих даних.

Переведення без простою робимо частками. Спочатку тіньовий режим, де нова логіка рахує видачу, але не показується покупцеві, потім частка трафіку, далі повне переведення. Відкат — тим самим перемикачем, без повторного розгортання і втрати накопиченої історії.

Технічні питання: дані, холодний старт, відкат

Сумніви щодо персоналізації пошуку в e-commerce зводяться до п'яти: чи вистачить даних, що робити до накопичення історії замовлень, як поводиться ранжування в сезон, що відбувається із застарілими картками і чи можна відкотити зміни. Нижче — короткі відповіді без обіцянок «само запрацює».

Який обсяг даних потрібен, щоб ранжування працювало?

Модель учиться на подіях: покази, кліки, кошик, покупки. Якщо збір іде не за всіма каналами, спочатку зводимо їх у єдину схему й перевіряємо повноту — інакше ранжування відтворює шум у даних, а не попит.

Магазин без історії замовлень — що робити?

Холодний старт закриваємо правилами й ознаками контенту: збіг запиту з назвою та атрибутами, популярність категорії, поведінка схожих сесій. Модель підключаємо поступово, у міру накопичення подій.

Як видача поводиться в сезон?

Попит зміщується за тижні, тому модель перенавчаємо на ковзному вікні, а сезонні ознаки тримаємо окремо й оновлюємо частіше. Без цього пошук продає те, що купували минулого сезону.

Що з картками, яких уже немає в каталозі?

Зняті позиції прибираємо з індексу та з навчальної вибірки за розкладом: залишкова популярність інакше піднімає їх у видачі й дає порожні переходи. Новим карткам ознаки рахуємо за атрибутами.

Чи можна відкотити зміни ранжування?

Так. Версії моделі та набір правил зберігаємо окремо, перемикання — у конфігурації, без правки коду. Якщо метрики видачі погіршуються, повертаємо попередню версію за хвилини.

Обговоримо задачу: що потрібно від вас для старту

Щоб повернутися з оцінкою та планом робіт, а не із загальними словами, нам потрібні ввідні за кількома напрямами. Частину пунктів уточнюємо на першій розмові з вашими інженерами — перелічуємо, що зазвичай запитуємо.

  • Дані: знеособлене вивантаження пошукових запитів, показів, кліків і додавань у кошик за період, якого вистачить на навчання ранжування, плюс опис полів і довідник товарів.
  • Цільові метрики: що вважаємо результатом — частка переходів у картку, частка запитів із порожньою видачею, глибина перегляду; поточні значення потрібні як точка відліку.
  • Точки інтеграції: де викликається пошук — сайт, застосунок, внутрішні сервіси; вимоги до часу відповіді та поведінки видачі, коли частина сервісів недоступна.
  • Обмеження: правила показу товарів, промо-пріоритети, вимоги до знеособлення даних і те, що змінювати у видачі не можна.
  • Технічний контур: доступи для розгортання та відкатів, стенди, регламент випуску змін і навантажувальних перевірок.
  • Строки етапів: бажана дата ввімкнення персоналізації та вікна, коли допустимо поетапно відкривати її на частку відвідувачів.

Опишіть задачу у зручному вигляді — повернемося з оцінкою, планом робіт і строками етапів. Якщо частини ввідних поки немає, це не блокує старт: зберемо їх разом на технічній зустрічі й одразу визначимо, який обсяг даних закриває перший етап.

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1374
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142