Analityka produktowa (IT)Analityk Produktu / Analityk Danych

Jaką metodą należy oceniać przyczynowo-skutkowy efekt wdrożenia systemu ML automatycznego zastępowania brakujących produktów w koszyku na satysfakcję klientów i częstość zwrotów, jeśli wdrożenie odbywa się stopniowo w magazynach, jakość zastępstw różni się w zależności od kategorii produktów, a użytkownicy wykazują heterogeniczną reakcję na automatyczne zastąpienia?

Zdaj rozmowy kwalifikacyjne z asystentem AI Hintsage

Odpowiedź na pytanie

Kontekst historyczny. W klasycznym handlu internetowym brak towaru w zamówieniu (out-of-stock) tradycyjnie był rozwiązywany poprzez anulowanie pozycji lub ręczny telefon do menedżera, co krytycznie obniżało konwersję i satysfakcję. Wraz z rozwojem systemów rekomendacji ML możliwe stało się oferowanie zastępstw w czasie rzeczywistym na podstawie semantycznej bliskości, parytetu cenowego i historii zastępstw. Jednak proste porównanie zamówień z zastępstwami i bez nich daje zniekształconą ocenę, ponieważ sam fakt istnienia zastąpienia koreluje z początkowym niedoborem towaru, a użytkownicy, którzy zgadzają się na automatyczne zastępstwa, systematycznie różnią się od tych, którzy je odrzucają.

Postawienie problemu. Kluczowa trudność polega na endogeniczności samo-selekcji: lojalni użytkownicy częściej pozwalają na automatyczne zastępstwa, a losowy niedobór uderza w próbkę nierównomiernie w kategoriach (szybko psujące się vs technika). Ponadto wdrożenie odbywa się na poziomie magazynów, co wyklucza klasyczne A/B-testowanie na poziomie użytkowników z powodu kontaminacji przez wspólny inwentarz. Należy izolować czysty efekt jakości ML-zastąpienia od podstawowego negatywu braku towaru i uwzględnić heterogeniczność według kategorii.

Szczegółowe rozwiązanie. Optymalnym podejściem jest kombinacja Difference-in-Differences (DiD) na poziomie magazynów i Causal Forest do oceny heterogeniczności efektu. Dla magazynów wprowadzających ML-zastąpienia (treatment) dobierana jest grupa kontrolna przez Synthetic Control Method, używając magazynów bez automatycznych zastąpienia z podobną strukturą popytu i sezonowością. Dla użytkowników wewnątrz magazynów treatment stosuje się Propensity Score Matching, aby dopasować tych, którzy przyjmują i odrzucają zastąpienia na podstawie cech historycznych (częstotliwość zamówień, średni koszyk, preferencje kategoryjne). Efekt oceniany jest jako Conditional Average Treatment Effect (CATE) z podziałem na kategorie zastępowania (wysoka/średnia/niska), co pozwala oddzielić efekt technologiczny od selektywnego.

Sytuacja z życia

Firma „ProduktPlus” wdrażała system inteligentnych zastępstw dla brakujących pozycji w zamówieniach online. Problem polegał na tym, że 15% zamówień zawierało pozycje out-of-stock, co prowadziło do odpływu użytkowników. Analitycy musieli zmierzyć, czy faktycznie ML-zastąpienia zmniejszają negatywny efekt niedoboru, czy po prostu maskują problemy zakupu.

Pierwsza opcja — klasyczne A/B-testowanie według użytkowników z podziałem na grupę „automatyczne zastąpienie włączone” i „wyłączone”. Zalety: prosta interpretacja i bezpośrednia porównywalność metryk konwersji. Wady: nie jest możliwe w praktyce, ponieważ jeden magazyn obsługuje obie grupy, a jeśli towar się skończy, nie można go „zwrócić” dla grupy kontrolnej, co prowadzi do zapaści logistycznej i kontaminacji.

Druga opcja — porównanie „przed i po” w tych samych magazynach bez grupy kontrolnej. Zalety: prostota obliczeń i brak potrzeby synchronizacji z innymi magazynami. Wady: sezonowość popytu na produkty i zmiany w matrycy asortymentu zniekształcają wyniki, nie można oddzielić efektu funkcji od ogólnego wzrostu bazy.

Trzecia opcja — quasi-eksperymentalny design Difference-in-Differences z wykorzystaniem miejskich mikromagazynów jako jednostek randomizacji, gdzie magazyny treatment otrzymywały model ML, a kontrolne pozostawały przy ręcznym zatwierdzaniu. Zalety: eliminuje systematyczne trendy i sezonowość, pozwala na uzyskanie statystycznie istotnych wniosków. Wady: wymaga surowego założenia o równoległych trendach i wystarczającej liczby jednorodnych magazynów do budowy syntetycznej kontroli.

Wybrane rozwiązanie: zespół wybrał trzecią opcję z dodatkowym zastosowaniem Causal Forest do segmentacji użytkowników według skłonności do akceptowania zastąpień. Pozwoliło to na izolację efektu dla „konserwatywów” i „wczesnych naśladowców” oddzielnie, korygując wcześniejszą historię zamówień przez Propensity Score Matching.

Ostateczny wynik: udało się ustalić, że ML-zastąpienia zwiększają retention o 12% tylko dla kategorii o wysokiej zastępowalności (nabiał, artykuły spożywcze), ale obniżają satysfakcję o 8% dla produktów niszowych (piwo rzemieślnicze, organiczne), gdzie zastąpienia są postrzegane jako natarczywe. Firma ograniczyła automatyczne zastąpienia do kategorii o wysokiej korelacji preferencji, co doprowadziło do wzrostu NPS o 0.4 punkta i obniżenia kosztów operacyjnych związanych z ręcznym przeregulowaniem o 23%.

Co kandydaci często pomijają


Jak rozróżnić efekt samej technologii automatycznych zastąpień od efektu jakości konkretnego modelu ML i uniknąć błędu przetrwania (survivorship bias)?

Odpowiedź. Kandydaci często mieszają efekt technologiczny (możliwość zastąpienia jako taka) z jakościowym (dokładność doboru analogii). Aby je rozdzielić, należy zbudować funkcję dawki-odpowiedzi (dose-response function), gdzie „dawką” jest prawdopodobieństwo istotności zastąpienia według metryki modelu (NDCG@1). Używając Fuzzy Regression Discontinuity wokół progu acceptance rate modelu (np. zastąpienia z confidence > 0.8 vs 0.6), można izolować czysty efekt jakości od efektu istnienia funkcji. Ważne jest, aby wziąć pod uwagę survivorship bias: użytkownicy, którzy otrzymali złe zastąpienia w pierwszym zamówieniu, mogą na zawsze wyłączyć tę funkcję, co zniekształca próbkę na rzecz udanych przypadków. W celu korekty stosuje się model selekcji Heckmana, modelujący równanie selekcji (prawdopodobieństwo pozostania w próbce po pierwszym doświadczeniu) oraz równanie wyniku (satysfakcja) wspólnie.


Jak uwzględnić międzykategorialne zanieczyszczenie (spillover), gdy nieudane zastąpienie w jednej kategorii wpływa na postrzeganie całego zamówienia i anulowanie innych pozycji?

Odpowiedź. Standardowe podejście ocenia efekt kategorii w izolacji, ignorując negatywne spillover na koszyk. Aby uwzględnić efekty międzykategorialne, należy modelować zamówienie jako system wzajemnie zależnych produktów, używając Graph Causal Models lub Structural Equation Modeling (SEM). Konkretnie: buduje się graf zależności kategorii (na przykład, zastąpienie jogurtu wpływa na postrzeganie musli), a efekt ocenia się przez Total Treatment Effect z kontrolą kowariatu sąsiednich pozycji. Alternatywnie stosuje się Mediacja Analiza, gdzie mediatorem jest „flaga rozczarowania” (usunięcie innych towarów z koszyka po pokazaniu zastąpienia). To pozwala zdekomponować ogólny efekt na bezpośredni (w kategorii) i pośredni (przez zmianę koszyka), unikając przeszacowania korzyści z zastąpienia.


Jak poprawnie interpretować wyniki, jeśli model ML wykazuje dynamiczne uczenie się (learning effects), a jakość zastąpień poprawia się z czasem, tworząc trend czasowy w grupie treatment?

Odpowiedź. Początkujący analitycy ignorują non-stationarity efektu, zakładając stały ATE w całym horyzoncie obserwacji. Przy dynamicznym uczeniu się modelu efekt „dziś” systematycznie różni się od efektu „miesiąc temu”, naruszając założenie Stable Unit Treatment Value Assumption (SUTVA) o czasowej stabilności. Rozwiązaniem jest zastosowanie Time-Varying Coefficient Models lub Bayesian Structural Time Series (BSTS) z modelowaniem trendu efektu jako zmiennej latentnej. W ramach DiD należy włączyć interakcję czasu i treatment (projekt badania zdarzeń), sprawdzając hipotezę o równoległych trendach dla każdego czasowego przekroju. Jeśli efekt rośnie, ważne jest, aby rozróżnić krzywą uczenia samego modelu (ulepszanie algorytmu) od adaptacji użytkownika (przyzwyczajenie użytkowników do funkcji), stosując różne kohorty użytkowników i kohorty wersji modelu do dekompozycji.