W tym artykule poznasz metodę skutecznych rekomendacji produktowych (tzw. analiza koszykowa). Dzięki zastosowaniu specjalnego algorytmu (Algorytm Apriori), dowiesz się, które produkty sprzedawać w zestawach. Zyskasz informację, jaki produkt rekomendować na stronie innego produktu. Zwiększysz w ten sposób średnią wartość koszyka w swoim sklepie.
Inteligentne rekomendacje produktów – cross-selling
Jedną z metod zwiększania sprzedaży w sklepie internetowym jest rekomendacja powiązanych produktów.
Niestety, najczęstszą implementacją takich rekomendacji jest wyświetlanie produktów z tej samej kategorii. Pod przeglądanym produktem widzimy inne produkty tego typu – np. inne propozycje obuwia pod przeglądanymi przez nas konkretnymi butami.
Związek produktów między sobą nie wynika jednak ze wspólnej kategorii, w której zostały dodane w sklepie. Rekomendowanie innych butów w momencie, gdy klient wrzucił już jedną parę do koszyka, jest bezmyślne. W ten sposób po prostu strzelamy na ślepo na zasadzie “a nuż się uda”. Może klient dorzuci coś jeszcze do koszyka.
Istotą rekomendacji produktowych jest podsunięcie klientowi takiego produktu, którym będzie wyraźnie zainteresowany. A skąd mamy wiedzieć, jaki produkt go zainteresuje? Dzięki statystyce! Z jej pomocą możemy dowiedzieć się bowiem, że większość klientów kupujących produkt A, kupuje również B i C. W takiej sytuacji klientowi, który wrzucił do koszyka A, rekomendujemy również B i C. Najlepiej na poziomie strony koszyka.
W ten sposób klient dokonujący zakupu dostaje informację o tym, że może dokupić inne przedmioty. Dostrzegamy pewien trend zakupowy i ułatwiamy jego zrealizowanie kolejnym klientom.
Dzięki wygodnemu interfejsowi kolejni klienci dodadzą dodatkowe produkty do swojego zamówienia. Wartość koszyka wrośnie. Sklep zarobi więcej. Wszyscy będą zadowoleni :)
W przypadku takiej dosprzedaży można zastosować rabat na dosprzedawany produkt. W ten sposób satysfakcja klienta z zakupu wzrośnie.
Algorytm Apriori w skrócie
Czym jest analiza koszykowa?
Pytanie, jak wyciągnąć z zamówień użyteczne dane dla rekomendacji produktowych? Odpowiedzią jest tak zwana analiza koszykowa. Jest to metoda z zakresu eksploracji danych.
Wydajnym i popularnym algorytmem analizy koszykowej jest Algorytm Apriori. Algorytm ten definiuje sposób, w jaki eksplorujemy dane oraz w jaki sposób oceniamy ich przydatność.
Nie każda korelacja produktów w koszyku klienta znajdzie bowiem zastosowanie dla rekomendacji. Jeśli przypadek zdarzył się 1 raz na 1000, to nie ma sensu wdrażać takiej rekomendacji na poziomie sklepu. To bowiem nie trend, a przypadek.
Przykłady skutecznej implementacji
W sieci możemy znaleźć informację, że analiza koszykowa była wykorzystywana przez Wal-Mart jeszcze w latach 90′. Jest to jedna z największych sieci hipermarketów w Stanach Zjednoczonych. Dzięki analizie koszykowej odkryto silny związek piwa i pieluszek. Nie da się wpaść na coś takiego, tak dziwne korelacje wynikają właśnie z eksploracji danych.
Do rzeczy: piwo i pieluszki dla dzieci były często kupowane w piątki wieczorem przez młodych mężczyzn. Dzięki tej wiedzy analitycy wprowadzili zmiany w sklepie. Po pierwsze umieścili te produkty bliżej siebie. Po drugie zmodyfikowali działania marketingowe. Duży hipermarket stosuje wszelakie promocje i rabaty na produkty. W piątki zdecydowano, że tylko jeden z tych dwóch produktów będzie objęty promocją, skoro i tak w większości przypadków zostaną zakupione oba z nich. W ten sposób sklep zyskał dodatkową sprzedaż oraz zaoszczędził na działaniach marketingowych.
Wiele zasad i metod stosowanych w analizie sklepów tradycyjnych może znaleźć zastosowanie również w e-commerce. Niektóre z nich są wręcz łatwiejsze do realizacji. Nasze sklepy internetowe możemy w łatwy sposób monitorować – kliknięcia, ruch, czas spędzony na stronie. Warto wykorzystać również dane na temat produktów w koszyku by ulepszyć system rekomendacji.
Dobrym przykładem jest tu Amazon. Ponad 20% zamówień generuje on z pomocą różnego rodzaju systemów rekomendacji.
Podstawowe pojęcia
Algorytm Apriori nie wykazuje jedynie relacji między produktami, ale dzięki swojej konstrukcji pozwala odrzucić nieznaczące dane. W tym celu wprowadza dwa ważne pojęcia:
- wsparcie reguły (ang. support) – częstość występowania
- zaufanie (ang. confidence) – pewność reguły
Algorytm umożliwia wyznaczenie minimalnych wartości dla tych dwóch wskaźników. Dzięki temu odrzucamy transakcje, które nie spełniają założeń jakościowych dla rekomendacji.
Działanie tego algorytmu jest iteracyjne. Nie obrabiamy wszystkich danych na raz. Dzięki temu algorytm ten ogranicza liczbę obliczeń na bazie danych.
Pokażę Ci działanie algorytmu w praktyce. Wyjaśnię Ci zastosowanie wsparcia i zaufania jako kluczowych elementów algorytmu Apriori.
Zasada działania Algorytmu Apriori
Początkowe założenia dla przykładu
Posłużmy się uproszczonym przykładem. Załóżmy, że w naszym sklepie mamy cztery produkty: A, B, C, D. Klienci dokonali 7 transakcji, które prezentują się następująco:
- A, B, C, D
- A, B, D
- A, B
- B, C, D
- B, C
- C, D
- B, D
Wykorzystamy Apriori do wyznaczenia relacji między produktami. Jako wsparcie reguły ustalamy wartość 3. Oznacz to, że reguła musi wystąpić 3-krotnie w danej iteracji.
Pierwsza iteracja
Zacznijmy pierwszą iterację. Wyznaczamy, jak często dany produkt pojawił się w zamówieniach:
- A – 3-krotnie
- B – 6-krotnie
- C – 4-krotnie
- D – 5-krotnie
Każdy z tych produktów wystąpił w zamówieniach więcej niż 3-krotnie. Wszystkie produkty spełniają założenia dotyczące wsparcia reguły. Każdy z nich zostanie zatem wykorzystany w kolejnej iteracji.
Druga iteracja
Teraz szukamy powiązań w produktach na podstawie zestawu dwóch produktów. Szukamy, jak często wybrane dwa produkty wystąpiły razem w jednym zamówieniu.
- A, B – 3-krotnie
- A, C – 1-krotnie
- A, D – 2-krotnie
- B, C – 3-krotnie
- B, D – 4-krotnie
- C, D – 3-krotnie
Jak widać, zbiory {A, C} oraz {A, D} nie spełniają założeń wsparcia. Występują rzadziej niż 3-krotnie. Zostają zatem wykluczone z kolejnej iteracji.
Trzecia iteracja
Poszukujemy zatem zbiorów składających się z trzech produktów, które:
- wystąpiły w zamówieniach klientów
- nie zawierają zbiorów {A, C} oraz {A, D} w sobie
Jest to zatem zbiór: {B, C, D}. Występuje on w zamówieniach jedynie 2-krotnie, a więc nie spełnia naszych założeń wsparcia.
Rezultat
Nasze założenia spełniają zbiory produktów:
- A, B – wystąpiły 3-krotnie w zamówieniach
- B, C – również wystąpiły 3-krotnie
- B, D – wystąpiły 4-krotnie
Ten przykład miał za zadanie jedynie zilustrować działanie algorytmu. Przy większości sklepów internetowych obliczenia na danych będą znacznie bardziej skomplikowane, gdyż zwyczajnie będzie ich więcej.
Wsparcie wyrażone w procentach
Warto dodać, że wsparcie określa globalny udział reguły we wszystkich transakcjach. Ustaliliśmy w naszych minimalnych wymaganiach wsparcie jako wartość liczbową: 3. Moglibyśmy jednak ustalić wartość procentową. W takim przypadku:
- A, B mają wsparcie równe w przybliżeniu 42,9% – występują 3-krotnie na 7 transakcji
- B, C mają to samo wsparcie
- B, D mają wsparcie równe w przybliżeniu 57,14% – występują 4-krotnie na 7 transakcji
Wysokie wartości procentowe współczynnika wsparcia wynikają z małej liczby produktów w naszym przykładzie (4 produkty: A, B, C, D).
Jest to bardzo mało prawdopodobne, aby w sklepie z przykładowo 1000 produktów w połowie zamówień występowały zawsze 2 te same produkty.
Ten przykład jest celowo uproszczony. Należy to uwzględnić przy zastosowaniu algorytmu w swoim sklepie. Minimalną wartość wsparcia należy ustalić indywidualnie dla sklepu, branży itd.
Końcowe wnioski
Pozostaje jeszcze kwestia zaufania. Określa ono występowanie danej reguły do wszystkich tych, gdzie występował zbiór początkowy.
Jak to obliczyć?
{A, B} wystąpiły 3-krotnie w zamówieniach. Zbiorem początkowym jest A. Ten produkt wystąpił w zamówieniach również 3-krotnie. Zaufanie wynosi zatem 100%.
Zróbmy jednak odbicie lustrzane tej pary. {B, A} wystąpiły w zamówienia 3-krotnie. Tutaj nic się nie zmieniło – para jest taka sama. Zmienia się jednak zbiór początkowy. Jest to B. Ten produkt wystąpił aż w 6 transakcjach. To daje nam zaufanie na poziomie 50%. Produkt A wystąpił bowiem tylko w połowie transakcji, w których występował produkt B.
- A i B mają zaufanie 100%
- B i A mają zaufanie 50%.
- B i C mają zaufanie 50%
- C i B mają zaufanie 75%
- B i D mają zaufanie 66,7%
- D i B mają zaufanie 80%
Z naszego uproszczonego przykładu (4 produkty, 7 transakcji) wynikają następujące rekomendacje:
- A -> B
- B -> D
- C -> B
- D -> B
gdzie pierwszy produkt to ten dodany do koszyka, a drugi to produkt rekomendowany.
Podsumowanie
Analiza koszykowa to bardzo skuteczna metoda dla systemu rekomendacji produktowych. Nie wyobrażam sobie jednak ręcznej obróbki danych według powyższego algorytmu. Zwłaszcza przy większych sklepach.
Skuteczna analiza koszykowa wymaga wygodnej implementacji. Algorytm Apriori powinien działać na zasadzie programu, a nie ręcznej obróbki danych.
W sieci istnieje implementacja Algorytmu Apriori w języku Python.
Jak jednak domyślasz się po zrzucie ekranu, wymaga ona zdolności programistycznych do jej wykorzystania.