Algoritmul de cautare in magazinele online

VN:F [1.9.22_1171]
Rating: +5 (from 5 votes)

Am citit azi un articol pe tema asta pe blogul USBmania si mi-am adus aminte si de filmuletul de la testele de usabilitate de pe GPEC 2009. Ce se intampla acolo? Clientul vroia sa cumpere un set de baterii si, cautand dupa cuvantul baterii, primea rezultate absolut nerelevante pentru dorinta sa, respectiv diverse produse care functionau cu baterii. Si mi-am adus aminte de algoritmul pentru cautare in magazinele online pe care l-am gandit candva.

USBmaniaCautare

Situatia este la fel si astazi si, in postul amintit, USBmania spune ca asa e bine, ca e normal asa, dupa o cautare in titlu, descriere si cod, sa primesti asemenea rezultate. Ei bine, imi permit sa-i contrazic. Nu o fac din rautate sau antipatie, magazinul online in cauza imi e foarte simpatic si nu avem nici un fel de concurenta, deci imi doresc sa o duca din ce in ce mai bine. O fac din 2 cauze:

1. pentru ca eu cred la modul absolut ca nici un “ceva” nu e ok pe un site atunci cand rezultatele acelui “ceva” este altul decat utilizatorul se asteapta / isi doreste (este o axioma a ceea ce numim Uability sau UX – User Experience);

2. pentru ca mi-am batut capul, alaturi de alte creiere efervescente, o lunga bucata de timp si am facut mai multe teste pe un magazin cu peste 20.00 de produse (MarketOnline la acea data, pentru a gasi o solutie acestei probleme a cautarii.

Si daca avem 2 cauze, ofer in mod gratuit celor de la USBmania (evident, nu numai lor) si 2 solutii:

1. Solutia simpla: algoritmul va cauta in titlu, descriere si cod, insa in etape.

Se afiseaza produsele unde cuvantul cautat se regaseste in titlu, in cod si in descriere (adica in toate 3, ca sa fie clar). Se pot afisa alfabatic, sau pentru o mai buna UX, in functie de de numarul de repetari in cadrul fiecareia din cele 3 zone de cautare ori, si mai relevant, in functie de pozitionare, cu cat cuvantul cautat se afla mai la inceputul titului, codului sau descrierii, cu atat este mai relevanta. In exemplul cu baterii, “baterie-AA-024” ar fi mai relevanta decat “USB iepuras cu baterii”.

Apoi afisam produse unde cuvantul cautat se regaseste in titlu si cod (2 din 3), apoi in titlu si descriere (tot 2 din 3), apoi in cod si descriere (tot 2 din 3).

In final, afisam produsele unde cuvantul cautat se regaseste numai in titlu (desi asta e semn ca descrierea nu a fost prea corect scrisa).

Nu afisam produse unde cuvantul cautat se regaseste numai in cod sau descriere, ca sa nu producem dezastre precum cel de la GPEC sau cea de mai jos (am aleseMag,e liderul de piata, intrucat se presupune ca are si cea mai buna cautare in site):

USBmaniaCautare2

2. Solutia mai complicata, se cauta in cod, titlu, poze, url, comentarii si ce altceva va mai trece prin minte, apoi se calculeaza un “scoring” dupa un algoritm reprezentativ (care depinde de magazin). Sa zicem: cuvant in titlu in prima jumatate a titlului = 10 puncte, cuvant in titlu in a doua jumatate a titlului = 7 puncte, cuvant in cod = 5 puncte, cuvant in descrirere in prima 10 cuvinte = 3 puncte, in primele 20 = 2 puncte, in restul descrierii = 1 punct, cuvant in denumirea pozei = 2 puncte, cuvant in comentarii = 1 punct, s.a.m.d. Apoi definim un numar minim de puncte pentru a afisa un produs in rezultate, sa zicem 3. Rezultatele cautarii se afiseaza incepand cu produsul care are cel mai mare scoring si pana la cele care au minimul stabilit de puncte. In cazul nostru, un produs care include cuvantul “baterii” in descriere dar nu in primele 10 cuvinte, nu si in titlu, cod, poza sau comentarii, asa cum este cazul rezultatelor din cautarea USBmania de la care am pornit discutia, ar fi avut mai putin 3 de puncte si nu s-ar fi afisat.

Ar mai fi de mentionat ca recomand sa nu se permita cautarea decat dupa cuvinte formate din minim 3 litere, altfel avem aberatii si mai mari, precum cea care urmeaza:

USBmaniaCautare1

VN:F [1.9.22_1171]
Rating: +5 (from 5 votes)


15 Responses to “Algoritmul de cautare in magazinele online”

  1. Alin says:

    Multumesc pentru sfaturi Mugur si ma bucur ca ai abordat problema.

    Dupa ce am scris pe blog despre asta ne-am gandit si ne-am hotarat sa lucram la o imbunatatire – solutia simpla prezentata de tine, ba chiar mai simpla decat atat: ordinea rezultatelor ar fi data de prezenta cuvantului cheie in titlu/tags/descriere/etc si de numarul de aparitii al acestuia.

    In cazul de fata, cautarea ar lista “USB iepuras cu baterii” si “Baterii USB” cu acelasi nivel de relevanta, dupa care ar lista produsele cu keywordul in descriere samd.

    Bineinteles ma gandesc la aceasta abordare doar pentru cazul nostru specific si anume la un numar mic de produse, pana in 300, unde orice cautare nu ar avea mai mult de 5-6 rezultate cu keyword-ul in titlu.

    Pentru un magazin mare o cautare cu un scoring bine pus la punct ar fi cea mai logica solutie, imbunatatita de un dictionar. Spre exemplu pe Amazon sunt permise cautari si de o singura litera, cu rezultate relevante, ajutate de dictionar si sugestii unde e cazul.

  2. adiz says:

    sau se ia lucene care face automat si default tot algoritmul spus de tine mai sus daca stii cum sa-i introduci datele. plus ca returneaza rezultatul cam in 60ms la 60000+ produse …

  3. Ramona says:

    Foarte interesant postul. Magazinele online din romania stau foarte prost la capitolul algoritm de cautare. Pana acum nu am gasit nicaieri pe .ro ceva asemanator amazon..poate la marketonline este un inceput, dar de la o vreme nu s-a mai schimbat nimic

  4. Vladovici Sergiu says:

    eu cred ca s-au facut si la noi cateva schimbari notabile. Cu toate astea nu ne putem commpara inca din punct de vedere al algoritmilor de cautare cu ceea ce este prin afara..acolo este adevarul despre online..mai avem un pic. Rabdare!

  5. Romanu says:

    sincer daca cei care au magazinele online ar incerca sa faca un algoritm de cautare sunt convins ca ar reusii fara mare chin. Cel pe care Mugur incepuse sa-l faca la marketonline mi se pare bun

  6. sorin says:

    Problema cu cautatul in magazinele online si pe site-uri este de multa vreme. Nu cred ca s-a facut un algoritm care sa afiseze informatia corect, dar bine ca se merge spre perfectiune:).

  7. […] pentru sfaturi Mugur Frunzetti si GPEC si lui Florin pentru implementare. Share and […]

  8. john says:

    sa fim seriosi, algorimul de cautare perfect nu exista, insa la unele magazine din .ro e penibil

    • GRUIA says:

      Poate ca algoritmul de cautare perfect (individualizat petru fiecare) u exista nicaieri in lume, insa asa cum ebay, amazon, zappos au putut face un algoritm de cautare decent, nu inteleg de ce in Romania e imposibil

  9. Dionisie Ion says:

    Magazinele online de la noi nu cred ca-si bat capul cu teste si cautari, cu algoritmi sau usability. Cu exceptia catorva magazine mari (emag, garage) nu cred ca a face un algoritm de cautare cat mai profi e important

    • Dana says:

      Si la noi au fost magazine online care au incercat sa faca algoritmi de cautare cat mai profi (ex e marketonline) si mai sunt inca- emag, pcgarage etc. acum nu ne putem compara cu amazon..care exista de pe vremea cand noi nici nu stiam ce-i ala internet

  10. Zaharia Alexandru says:

    algoritmul de cautare pentru magazinele online este cred deja un subiect cunoscut si pentru romania. probabil ca nu se implementeaza de catre toti din motive financiare

    • Mihai says:

      din punctul meu de vedere a avea un algoritm de cautare bine facut este o prioritate…daca ai un buget cat de mic investesti in ce e prioritar

  11. Cernea Dragos says:

    da, este important sa ai un algoritm de cautare beton..si da si eu vad asta ca o prioritate..insa detinatorii de magazine online de la noi ori nu stiu cum..ori nu au aceeasi parere

  12. Octavian says:

    romania a inceput comertul electronic relativ recent (fata de alte tari). curand vom avea si noi magazine online ca in afara, cu algoritm de cautare si toate cele

Leave a Reply to sorin

Anunta-ma cand posteaza cineva comentarii la acest articol.

 

css.php