Analityka produktowa (IT)Analityk produktu

Jaką metodą należy oceniać efekt przyczynowo-skutkowy wprowadzenia funkcji wspólnego przeglądania katalogu w czasie rzeczywistym (co-browsing) na konwersję i średni koszyk, jeśli wdrożenie odbywa się stopniowo w kohortach użytkowników, istnieją efekty sieciowe między uczestnikami sesji (kontaminacja między testem a kontrolą), a przyjęcie funkcji koreluje z istniejącymi więzami społecznymi wewnątrz platformy?

Zdaj rozmowy kwalifikacyjne z asystentem AI Hintsage

Odpowiedź na pytanie

Kontekst historyczny. Koncepcja co-browsing przeniknęła z sektora B2B (wsparcie klienta) do handlu społecznościowego (np. funkcje „Zakupy razem” w aplikacjach mobilnych). Tradycyjna analityka długo opierała się na założeniu SUTVA (Stable Unit Treatment Value Assumption), które zakłada niezależność użytkowników. Jednak funkcje społeczne naruszają to założenie, ponieważ interakcja jednego użytkownika wpływa na zachowanie jego powiązań, co sprawia, że klasyczne testy A/B są metodologicznie niepoprawne.

Postawienie problemu. Standardowe porównanie średnich (difference-in-means) daje wypaczoną ocenę z powodu interferencji (wzajemnego zanieczyszczenia): użytkownicy z grupy kontrolnej, zaproszeni przez przyjaciół z grupy testowej, zmieniają swoje zachowanie, tworząc efekt spillover. Samo-selekcja według aktywności społecznej zniekształca rozkład współzmiennych, a etapowa implementacja (staggered adoption) wprowadza temporalne zakłócenia, takie jak sezonowość i efekt nowości, które korelują z czasem włączenia kohort.

Szczegółowe rozwiązanie. Należy zastosować losowanie klastrów (cluster randomized trial) na poziomie sieci powiązań społecznych, wykorzystując algorytmy wykrywania społeczności (Louvain lub Leiden) do tworzenia klastrów z minimalnymi powiązaniami między nimi. W przypadku braku pełnej randomizacji zastosuj różnicę różnic (staggered DiD) z różnokierunkowym wdrożeniem, korygując heterogeniczne efekty metodami Callaway-Sant’Anna lub Sun-Abraham, które poprawnie obsługują ujemne wagi wcześniejszych kohort. Aby wyizolować bezpośredni efekt sieciowy, zastosuj mapowanie ekspozycji (exposure mapping): określ stopień „zarażenia” grupy kontrolnej jako odsetek przyjaciół w teście i uwzględnij to jako współzmienną w regresji, lub użyj 2SLS (dwustopniowy OLS) z zmienną instrumentalną (dostępność funkcji w klastrze geograficznym jako IV dla faktycznego użycia). Do analizy czasu do konwersji nadaje się model Coxa z efektami osłabienia (shared frailty model), uwzględniający klasteryzację ryzyk wewnątrz grup społecznych.

Sytuacja z życia

Opis problemu. Marketplace uruchomił funkcję „Kupuj razem”, która umożliwia dwóm użytkownikom jednoczesne przeglądanie katalogu i edytowanie wspólnego koszyka w czasie rzeczywistym. Pilot dla 10% użytkowników wykazał wzrost konwersji o 8%, ale zespół podejrzewał przeszacowanie: użytkownicy z grupy kontrolnej otrzymywali zaproszenia od przyjaciół z grupy testowej, co tworzyło międzygrupową kontaminację. Co więcej, z funkcji korzystali głównie ci, którzy już mieli nawiązane więzi społeczne (samo-selekcja według zaangażowania).

Opcja 1: Proste porównanie „przed/po” w grupie adaptatorów. Podejście to zakłada porównanie metryk użytkowników, którzy zaczęli korzystać z co-browsing, z ich danymi historycznymi lub z podobnymi użytkownikami bez tej funkcji. Zalety są oczywiste: obliczenia zajmują minuty, łatwo interpretowane przez biznes, nie wymagają skomplikowanej infrastruktury eksperymentalnej. Jednak wady są krytyczne: metoda całkowicie ignoruje sezonowość i efekt dojrzewania oraz cierpi na wypaczenie samo-selekcji, ponieważ użytkownicy społecznie aktywni od początku mają wyższą podstawową konwersję.

Opcja 2: Analiza Intent-to-Treat (ITT) z randomizacją dostępności przycisku. Tutaj losowo przydzielamy możliwość zapraszania przyjaciół różnym kohortom, niezależnie od tego, czy z niej skorzystają, i porównujemy ostateczne metryki. Zalety obejmują zachowanie statystycznej losowości przypisania i możliwość oceny ogólnego efektu polityki uruchomienia, w tym efektów sieciowych. Wady związane są z rozmywaniem efektu z powodu niezgodności: wiele osób uzyska dostęp, ale nie będzie korzystać z funkcji, co wymaga zwiększenia próbki 3-4 razy; ponadto, ITT nie odpowiada na pytanie o efektywność dla rzeczywistych użytkowników (TOT).

Opcja 3: Projekt regresji z nieciągłością (RDD) na podstawie progu liczby przyjaciół. Metoda ta wykorzystuje ostry próg (np. 5 przyjaciół) do aktywacji funkcji, tworząc quasi-eksperyment wokół punktu odcięcia. Zalety polegają na lokalnej losowości przypisania w pobliżu progu oraz braku potrzeby pełnej randomizacji całej publiczności. Jednak istnieją poważne wady: efekt lokalny dotyczy tylko „granicznych” użytkowników, możliwa jest manipulacja (dodawanie fałszywych przyjaciół), a metoda nie rozwiązuje problemu kontaminacji między użytkownikami po różnych stronach progu, jeśli są w powiązaniach.

Wybrane rozwiązanie i uzasadnienie. Wybrano opcję 2 z losowaniem klastrów: analitycy zbudowali sieć powiązań społecznych, zastosowali algorytm Louvaina do wyodrębnienia gęstych społeczności, a dostęp zrandomizowano na poziomie społeczności, a nie użytkownika. To zminimalizowało kontaminację między testem a kontrolą. Do oceny zastosowano model z zmiennymi ekspozycji: dla każdego użytkownika obliczono odsetek przyjaciół w klastrach testowych (intensywność spillover) i uwzględniono jako regresor. To pozwoliło oddzielić bezpośredni efekt funkcji i pośredni wpływ przez dowód społeczny.

Ostateczny wynik. Rzeczywisty bezpośredni efekt (TOT) wyniósł +3.2% do konwersji (zamiast 8% w surowej ocenie). Jednak zidentyfikowano znaczny pozytywny spillover w grupie kontrolnej (+1.8%), spowodowany wpływem społecznym zaproszeń. Ogólny efekt polityki (ITT) wyniósł +2.1%. Bez uwzględnienia efektów sieciowych zespół zaniżyłby wartość funkcji, odrzucając projekt jako „niewystarczająco efektywny”, podczas gdy przy uwzględnieniu spillover funkcja zwracała się po 4 miesiącach.

Co kandydaci często pomijają

1. Dlaczego standardowy test A/B daje wypaczoną ocenę w przypadku funkcji społecznych? Standardowy test zakłada SUTVA: wpływ na jednego użytkownika nie wpływa na innych. W przypadku co-browsing jest to naruszane: użytkownik kontrolny, otrzymując zaproszenie od użytkownika testowego, zmienia swoje zachowanie (spillover), tworząc interferencje bias. Ocena ATE (średni efekt leczenia) staje się ważoną mieszanką efektu bezpośredniego i pośredniego, często dążącą do zera. Rozwiązanie: zastosować losowanie klastrów (randomization at network-cluster level) lub metody inverse probability weighting do korekty na strukturę sieci.

2. Jak statystycznie podzielić efekt bezpośredni, efekt spillover i całkowity efekt? Kandydaci mylą ITT (Intent-to-Treat) i TOT (Treatment-on-Treated): ITT ocenia efekt oferty funkcji dla całej kohorty, w tym tych, którzy z niej nie skorzystali, podczas gdy TOT izoluje efekt dla rzeczywistych użytkowników. Do podziału efektów stosuje się Principal Stratification (pryncypialna stratyfikacja): klasyfikuje się użytkowników według typów zgody (compliers, always-takers) i ocenia CACE (średni efekt przyczynowy dla zgadzających się). Spillover ocenia się przez mapowanie ekspozycji, gdzie intensywność wpływu pośredniego jest wyrażona odsetkiem powiązań w teście. Całkowity efekt jest ważoną sumą efektów bezpośrednich i pośrednich zgodnie z rozkładem ekspozycji.

3. Dlaczego standardowy DiD (różnice w różnicach) jest niepoprawny przy staggered rollout? Przy stopniowym wdrożeniu wcześniejsze kohorty służą jako kontrola dla późniejszych, ale późniejsze nigdy nie służą jako kontrola dla wcześniejszych, co tworzy problem ujemnych wag (negative weighting) przy heterogenicznych efektach. Klasyczny dwuokresowy DiD w takim projekcie daje wypaczone oceny, ponieważ miesza efekty różnych okresów z nieprawidłowymi wagami. Zamiast tego należy użyć Callaway-Sant’Anna lub Sun-Abraham estimatorów, które wykorzystują tylko nigdy nieleczenie lub jeszcze-nie-leczone obserwacje jako kontrolę. Alternatywą jest Synthetic Control Method dla każdej kohorty z osobna, zbudowany na bazie donorskiej nigdy nieleczonych grup.