AI-система upsell-рекомендацій: підвищуємо середній чек

Середній чек упирається в стелю, хоча клієнтська база зростає, а трафік не падає. Ми розробляємо AI-системи upsell-рекомендацій під ключ: розбираємо дані про покупки, налаштовуємо сценарії допродажів і передаємо рішення вашій команді. Замовники отримують зростання середнього чека без зростання витрат на залучення.
Часті запитання

Чому upsell-рекомендації ШІ не дають приросту середнього чека

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

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

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

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

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

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

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

Ефект від впровадження: зростання середнього чека і повторних покупок

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

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

Далі кожну зміну рахуємо на зіставних групах покупців — контрольній і тестовій.

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

Практичний результат зазвичай виглядає так. Частка замовлень із додатковою позицією зростає з 10-15% до 25-30%, середній чек — на 15-20% без зростання знижок.

Повторні покупки зростають завдяки персональним підбіркам і нагадуванням про витратні матеріали, конверсія каталогу — завдяки тому, що рідкісні позиції перестають бути невидимими для покупця.

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

Варіанти upsell-сценаріїв: правила, модель, гібрид

Перші тижні після запуску ШІ-системи upsell-рекомендацій визначають, що показувати: жорсткі правила, модель, що навчається, чи їхню комбінацію. Вибір залежить від ширини каталогу, обсягу історії замовлень і того, як часто змінюється асортимент. Нижче — три режими, між якими обирають на старті.

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

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

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

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

Обмеження ті самі, що в будь-якої моделі рекомендацій: холодний старт і перші тижні роботи, коли вчити ще нема на чому.

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

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

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

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

Що залишається у вас після здачі проєкту

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

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

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

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

Мережа продуктового ритейлу: 180 офлайн-точок та інтернет-магазин, трафік не зростав.

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

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

Порівнювали не з минулим місяцем, а з контрольною групою в 10% трафіку — так ефект відокремлювався від сезонності та промо. Чеки й поведінку збирали з касових логів і веб-вітрини в Google BigQuery.

Метрика До Через 4 місяці
Замовлення з додатковою позицією 11% 34%
Середній чек база +21%
Частка повторних покупок за 90 днів 24% 31%
Ручні правки ранжування 80% видачі 9%

Термін впровадження: що змінили

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

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

Що робити, якщо каталог і ціни змінюються щотижня?

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

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

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

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

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

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

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

Часті технічні питання перед стартом проєкту

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

Чи вистачить наших даних для навчання?

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

Як проходить інтеграція з каталогом?

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

Як відокремити ефект від сезонності?

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

Що з безпекою даних?

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

Скільки чекати запуску і що відбувається після?

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

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

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

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

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

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

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

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

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