Anonymizovaná prípadová štúdia — zverejnená so súhlasom klienta.
Východisko
E-shop s elektronikou a domácimi potrebami prevádzkoval 21 400 produktov v 1 180 kategóriách — vrátane podkategórií a značkových vetiev, teda približne 18 produktov na kategóriu. Mesačne spracoval okolo 380 000 vyhľadávaní, čo pri približne 2,2 milióna návštev znamená 17 %. Vyhľadávanie sa podieľalo na 34 % objednávok, a práve preto bol každý percentuálny bod straty pri vyhľadávaní drahý.
Interné vyhľadávanie bežalo na fulltextovom indexe nad názvami a popismi produktov. Bežné dopyty zvládalo dobre — preklepy, jednotné a množné číslo aj základné synonymá. Nestačilo tam, kde zákazník opisuje, čo potrebuje, namiesto toho, aby použil názov z katalógu.
| Ukazovateľ | Pred | Po 8 týždňoch |
|---|---|---|
| Vyhľadávania bez výsledku | 11,0 % | 2,4 % |
| Objednávka z vyhľadávania | 3,5 % | 4,2 % |
| Podiel objednávok s vyhľadávaním | 34 % | 38 % |
| Vhodnosť výsledkov na testovacej sade | 62 % | 89 % |
Prečo pôvodné vyhľadávanie nestačilo
Pri analýze 40 000 dopytov sa ukázali štyri typy problémov, ktoré sa nedajú vyriešiť ladením fulltextového indexu:
- Opis namiesto názvu. Zákazník hľadá „slúchadlá do uší bez kábla", katalóg má „True Wireless Stereo" (bezdrôtové do uší). Fulltextové hľadanie nájde slovo, ktoré v názve je — keď tam nie je, produkt sa vo výsledkoch neobjaví, hoci v katalógu existuje.
- Podmienka v dopyte. „notebook 16 GB RAM do 800 eur" vráti produkty, ktoré tieto slová obsahujú, ale cenu ani parametre nevyhodnotí ako filter. Zákazník dostane zoznam a triedi si ho sám.
- Poradie výsledkov. Pri širokom dopyte („notebook", „televízor") sa na prvé pozície dostali produkty s najpresnejšou zhodou názvu, nie tie, ktoré zákazník hľadá. Vhodný produkt sa ocitol na tretej či štvrtej strane.
- Nulový výsledok bez ďalšieho kroku. Keď dopyt v katalógu zhodu nemal, zobrazila sa stránka s oznamom, že sa nič nenašlo, a bez alternatívy. Zákazník pokračoval inam.
Architektúra a integrácie
Samotné vektorové vyhľadávanie nestačí — chápe význam, ale zaostáva pri konkrétnych parametroch („do 800 eur", „55 palcov"). Preto je riešenie hybridné: lexikálne hľadanie, vektorové hľadanie a obchodné pravidlá sa vyhodnocujú súčasne; výsledok sa potom zoraďuje.
| Vrstva | Technológia | Čo zabezpečuje |
|---|---|---|
| Zdroj produktov | ERP a PIM (správa produktových dát) | názvy, atribúty, ceny, dostupnosť |
| Normalizácia katalógu | interné spracovanie | jednotné názvy, atribúty, synonymá, značky |
| Lexikálny index | OpenSearch | presné zhody, filtre, čísla, parametre |
| Vektorový index | vektorové zápisy + vektorová databáza | význam, synonymá, iný slovník |
| Porozumenie dopytu | AI extrakcia parametrov | „do 800 eur" → filter ceny |
| Zoraďovanie | preusporiadanie + obchodné pravidlá | dostupnosť, marža, sezóna |
| Analytika | interné meranie | dopyty bez výsledku, prekliky, objednávky |
Riešenie krok za krokom
- Audit dopytov. Z 12 mesiacov histórie sme vybrali dopyty bez výsledku, dopyty s odchodom bez prekliku a dopyty s preklikom bez objednávky. Z nich vznikla testovacia sada 1 200 dopytov s očakávaným výsledkom.
- Katalóg do poriadku. Prvý krok patril katalógu: zjednotenie názvov, doplnenie atribútov (výkon, kapacita, rozmer), synonymá a značky. Tento krok je základ — algoritmus nájde len atribút, ktorý v dátach existuje.
- Hybridné hľadanie. Lexikálne výsledky sa spájajú s vektorovými; poradie potom prepočítava preusporiadanie. Dostupnosť a obchodné pravidlá majú posledné slovo: odporúčanie obsahuje len produkty na sklade.
- Porozumenie dopytu. Model rozloží prirodzený dopyt na text a filtre. Pri nejasnom dopyte sa filter nezapne — širší výsledok je lepší než prázdna stránka.
- Keď nič nenájdeme. Pri nulovom výsledku sa zobrazia alternatívy (podobná kategória, iné parametre) a ponuka rozšíriť hľadanie. Prázdna stránka tak zmizla.
- Test dvoch variantov. Štyri týždne bežala polovica návštevníkov na starom a polovica na novom vyhľadávaní. Vyhodnocovali sa dopyty bez výsledku, prekliky a objednávky.
Kvalita a meranie
Kvalitu vyhľadávania treba merať. Tri čísla, ktoré rozhodujú o úspechu projektu:
- Podiel vyhľadávaní bez výsledku — priamo viditeľná strata.
- Vhodnosť výsledkov na testovacej sade — pri každom dopyte zo sady človek označí, či sa očakávaný produkt objavil medzi prvými piatimi výsledkami. Pri každej zmene modelu sa sada rozšíri o nové dopyty z reálnej prevádzky.
- Objednávka z vyhľadávania — jediné číslo, ktoré zaujíma obchod.
Každá zmena modelu alebo zoraďovania prechádza cez testovaciu sadu. Ak vhodnosť klesne, zmenu nenasadíme — aj keď vyzerá lepšie.
Bezpečnosť a súlad
- Osobné údaje. Dopyty ukladáme anonymizovane s uchovávaním 90 dní. Ak sa v dopyte objaví e-mail alebo telefónne číslo — napríklad pri vložení z kopírovaného textu — systém ho pred uložením odstráni. Do modelu ide dopyt bez identifikátorov.
- Trénovanie mimo dát zákazníka. Model sa používa v režime bez uchovávania dát. Vektorové zápisy vznikajú výhradne z textov katalógu — názvov, atribútov a popisov produktov — takže zákaznícke dopyty do nich nevstupujú.
- Katalóg ako jediný zdroj pravdy. Produkty aj ceny pochádzajú výhradne z katalógu. AI pracuje len s atribútmi, ktoré sú v katalógu. Ak parameter chýba, produkt sa podľa neho nedá filtrovať — chýbajúcu hodnotu treba doplniť do katalógu.
- Auditná stopa. Pri každom dopyte je uložené, ktorá verzia modelu a ktorá konfigurácia zoraďovania odpovedala — inak sa zmena výkonu nedá vysvetliť.
Prevádzka a sledovanie
- Preindexovanie pri zmene katalógu — nové produkty sú dostupné do niekoľkých minút namiesto dňa.
- Upozornenia pri náraste dopytov bez výsledku, poklese objednávok alebo zvýšení odozvy nad 400 ms.
- Report raz týždenne: najčastejšie dopyty bez výsledku, najčastejšie preklikané produkty z vyhľadávania a počet ručných úprav pravidiel zoraďovania.
Výsledky
| Oblasť | Zmena | Poznámka |
|---|---|---|
| Dopyty bez výsledku | -78 % | z 11,0 % na 2,4 % |
| Objednávka z vyhľadávania | +20 % | relatívne, z 3,5 % na 4,2 % |
| Podiel objednávok s vyhľadávaním | 34 % → 38 % | vyhľadávanie rástlo spolu s celkovým objemom |
| Priemerná objednávka z vyhľadávania | +6 % | lepšie nájdené doplnky |
| Odozva vyhľadávania | 180 ms | 95 % dopytov odpovie do 180 ms, vrátane preusporiadania |
Čo to znamená v objednávkach. Pri 380 000 vyhľadávaniach mesačne je 3,5 % približne 13 300 objednávok, 4,2 % je 15 960 — o 2 660 objednávok viac každý mesiac, teda 7 objednávok navyše na každých 1 000 vyhľadávaní. Práve preto sa projekt nehodnotí podľa toho, či vyhľadávanie „vyzerá lepšie", ale podľa objednávok.
Limity a riziká
- Málo predávané produkty. Pri položkách, ktoré sa predávajú málo a nemajú vyplnené atribúty, je kvalita nižšia — pomôže doplnenie dát v katalógu.
- Obrázkový vstup. Hľadanie podľa fotografie zostalo mimo rozsahu; je to samostatný projekt s inou ekonomikou.
- Preusporiadanie stojí čas. Pri veľmi širokých dopytoch sa odozva zvyšuje; rieši sa obmedzením počtu nájdených produktov.
- Obchodné pravidlá verzus vhodnosť. Ak pravidlo (napríklad podpora určitej značky) tlačí produkt nahor, vhodnosť klesá. Pravidlá musia byť merateľné a zdôvodnené, inak sa vyhľadávanie vráti k stavu pred projektom.
- Zodpovednosť. Za odporúčanie nesie zodpovednosť obchod; AI zoraďuje výsledky a rozhodnutie zostáva na ňom.
Zavedenie po fázach
- Týždeň 1–2: história dopytov, testovacia sada, zoznam problémov v katalógu.
- Týždeň 3–6: normalizácia katalógu, lexikálny index, prvé meranie vhodnosti.
- Týždeň 7–9: vektorové zápisy, vektorový index, spájanie výsledkov a preusporiadanie.
- Týždeň 10–12: porozumenie dopytu, nulový výsledok, test dvoch variantov a vyhodnotenie.
