Problem: uniwersalne rekomendacje produktowe przez brak autoryzacji endpointu
W trakcie prac nad sekcją rekomendacji okazało się, że system zwracał każdemu użytkownikowi (zarówno zalogowanemu, jak i anonimowemu) identyczny zestaw polecanych produktów. Problem wynikał z braku autoryzacji po stronie API - endpoint rekomendacji nie rozpoznawał, kim jest klient (brak tokenu/identyfikatora użytkownika), więc zwracał najpopularniejsze produkty globalnie.
Analiza i rozwiązanie
Zaimplementowałem wymuszanie autoryzacji przy zapytaniu do endpointu rekomendacji. Po zmianach każdy request do API jest identyfikowany - jeśli użytkownik jest zalogowany, przekazywany jest jego token, jeśli anonimowy - generowany tymczasowy identyfikator sesji dla potrzeb śledzenia preferencji. Zmiana ta oczywiście dotyczyła jedynie klientów którzy wyrazili zgodę na przechowywanie ciasteczek.
Dzięki temu system rekomendacji (w oparciu o Rekombee) jest w stanie zwracać personalizowane produkty - zarówno dla powracających klientów jak i nowych użytkowników.
Wynik
Po wdrożeniu zmiany sekcja rekomendacji zaczęła wyświetlać faktycznie dopasowane produkty, co przełożyło się na wzrost CTR / konwersji do akcji zakupu na poziomie 1400% z 0.2% do 2.8% biorąc pod uwagę dwa tygodnie przed i po wdrożeniu zmiany.