Допродаж, у якому немає менеджера: рекомендації в кошику з реальних чеків
Майже половина замовлень - одна позиція, а чверть оформлюється вночі, коли менеджерів немає. Блок рекомендацій у кошику щодня перебудовується з матриці спільних покупок і працює цілодобово без жодної людини в контурі.
- На старті поле рекомендацій було порожнім у 100% каталогу - 0 з 3 562 товарів
- Чотири рекомендації на кожен товар, підібрані з реальних чеків, а не з категорії
- Стабілізація зберігає ще валідні звʼязки: у першому бойовому прогоні збережено 14 247 позицій, замінено 1
- Прогін триває близько 50 секунд і в більшості днів не робить у магазині жодного запису
Майже половина замовлень у магазині складається з однієї позиції. Людина поклала в кошик те, по що прийшла, оформила й пішла. Нагоди запропонувати щось поруч навіть не виникло.
Ще одна цифра пояснює, чому цю нагоду не можна віддати людям: 23,4% замовлень оформлюються між девʼятою вечора і девʼятою ранку, коли менеджерів немає взагалі. А від оформлення до дзвінка минає в середньому більш ніж дві доби - до моменту розмови клієнт уже все вирішив.
Попередній крок цієї ж задачі - AI-підказка допродажу менеджеру - описаний в окремому кейсі; тут наступний крок, де людини в контурі немає взагалі, а працює не LLM, а статистика реальних чеків.
Проблема: блок уже стоїть, але показує випадкове
Блок «Рекомендуємо придбати» в кошику існував і до нас. Коли ми зазирнули в дані, зʼясувалось, що поле товарів-рекомендацій порожнє в усьому каталозі: 0 заповнених карток з 3 562. Блок жив на випадкових сусідах по категорії - на тому, що платформа підставляє, коли їй нічого не дали.
І це найгірший з можливих варіантів. Сусід по категорії до гречки - інша гречка, тобто клієнт бачить рівно те, що вже поклав у кошик.
📦 Поле є, даних немає
- Платформа має поле рекомендацій, але його ніхто ніколи не заповнював
- Заповнити 3 562 картки руками - робота, яку не почне жоден співробітник
- А через місяць її треба робити знову
🌾 Категорія - не комплемент
- Сусід по категорії показує те саме, що вже в кошику
- Потрібні товари, які доповнюють покупку, а не дублюють її
- Видно це тільки з чеків: що люди справді беруть разом
🌙 Менеджер не встигає
- 23,4% замовлень приходять поза робочими годинами
- Від оформлення до дзвінка проходить більш ніж дві доби
- Допродаж голосом має стелю, і вона вже досягнута
Тому задача звучить не як «побудувати рекомендаційну систему», а значно скромніше: наповнити те, що вже стоїть на сайті, і робити це щодня самостійно.
Як автоматизація це вирішує
Щоночі сервіс перечитує історію замовлень, будує матрицю спільних покупок і підбирає по чотири рекомендації на кожен товар. Далі він порівнює результат з тим, що зараз лежить у магазині, і заливає тільки різницю.
Увесь прогін триває близько 50 секунд. У більшості днів він завершується, не зробивши в магазині жодного запису.
Чотири рівні підбору
Ідеальна рекомендація виводиться з реальних чеків. Але історія є не в кожного товару, тому підбір іде згори вниз: якщо перший рівень не дав чотирьох слотів, підключається наступний.
Поверх усіх рівнів діє одне правило: дві рекомендації з однієї категорії клієнт читає як один товар, тому категорії в парі мають бути різні.
Наступний рівень: набір однією кнопкою
З тієї самої матриці виросли сторінки готових наборів. Клієнт додає підбірку товарів у кошик одним натисканням, а CRM отримує звичайні позиції, ніби він поклав їх окремо.
Це вже не рекомендація, а готове рішення для типової потреби. Різниця в тому, що клієнту не треба складати набір самому.
Що це дало бізнесу
Головна зміна проста: блок, який раніше показував випадкових сусідів по категорії, тепер показує те, що люди справді беруть разом. І робить це цілодобово, зокрема в ті 23,4% замовлень, які оформлюються, коли в компанії нікого немає.
Що змінилось у щоденній роботі:
- кожен з 3 562 товарів має чотири рекомендації замість порожнього поля;
- звʼязки перебудовуються щодня без участі людини, прогін займає близько 50 секунд;
- у більшості днів у магазин не йде жодного запису - міняється тільки те, що справді зламалось;
- зʼявились сторінки готових наборів, які клієнт кладе в кошик одним натисканням.
Чесно про межі. Не кожна рекомендація виведена з власних чеків товару: для новинок беруться звʼязки схожої позиції, а для груп на кшталт вітамінів - бестселери категорії, бо комплементів у даних немає в принципі. І сервіс не збирає історію сам: він читає базу сусіднього сервісу, тому якщо той зупиниться, матриця застигне на останньому стані.
Як це влаштовано всередині
Наступний розділ пояснює, як система влаштована. Якщо вас цікавить лише результат, його можна пропустити - нижче є розділ про те, кому це підходить.
Стабілізація: чому не можна перебудовувати все щодня
Перший чесний прогін показав неприємну річ. Без стабілізації система переставляла б рекомендації у 78% каталогу щодня - і не тому, що змінились дані, а тому, що трохи зсунувся рейтинг бестселерів.
Це вбиває дві речі одразу: довіру до блоку і саму можливість щось виміряти. Тому логіку перевернули: система зберігає всі ще валідні слоти й міняє тільки зламані - товар зник, скінчився, став оптовим.
Саме стабілізація зробила щоденний розклад безпечним. Без неї автоматичний прогін щодня трусив би вітрину, і жоден замір нічого б не означав.
Читати чужу базу замість власного ETL
Історію замовлень уже інкрементально збирає сусідній сервіс. Замість того щоб піднімати другий такий самий збирач, ця система читає його базу в режимі тільки на читання.
Ціна рішення названа одразу: якщо сусідній сервіс зупиниться, матриця застигне. Але блок продовжить працювати на попередніх звʼязках, тобто відмова тиха й не ламає вітрину.
Граблі платформи
Тиша як норма
Записується тільки різниця, тому в більшості днів у магазин не йде жодного запису. Повідомлення надсилається лише тоді, коли зміни справді були або сталася помилка.
Плюс раз на тиждень коротке «сервіс живий». Щоденний рапорт про те, що нічого не сталося, перестають читати за два тижні - і разом з ним перестають читати важливе.
Кому це підходить
Магазинам з широким каталогом і повторюваними покупками: продукти, косметика, побутова хімія, зоотовари, витратні матеріали. Тобто всюди, де товари логічно доповнюють одне одного, а замовлення часто складається з однієї позиції.
Ознака, за якою легко перевірити, чи це про вас: відкрийте власний кошик і подивіться, що показує блок рекомендацій. Якщо там лежить те саме, що ви щойно поклали, - так, це про вас.
Найдешевший допродаж - той, що вже стоїть у вашому кошику й показує випадкові товари. Його не треба будувати, його треба наповнити.
Потрібне схоже рішення?
Опишіть задачу - підберу архітектуру під ваш бюджет і дані.