Analityka produktowa (IT)Analityk Produktowy / Analityk Danych

Jaką metodą powinno się oceniać efekt przyczynowo-skutkowy całkowitego usunięcia przestarzałego funkcjonalności (legacy feature) na retencję i zaangażowanie użytkowników, gdy wyłączenie odbywa się etapowo w kohortach, istnieje heterogeniczność w wzorcach użycia funkcji między segmentami, a obserwowany spadek aktywności może być spowodowany zarówno negatywnym efektem usunięcia, jak i naturalną utratą nieaktywnych użytkowników?

Zdaj rozmowy kwalifikacyjne z asystentem AI Hintsage

Odpowiedź na pytanie

Historycznie zespoły produktowe koncentrowały się wyłącznie na metrykach wzrostu i wdrażania nowych funkcji, jednak wraz z nasyceniem produktów cyfrowych i narastającym długiem technologicznym, kluczowym stało się uzasadnione usunięcie funkcjonalności (feature deprecation). Problem polega na tym, że użytkownicy, którzy aktywnie korzystali z usuwanej funkcji, systematycznie różnią się od reszty audytorium pod względem zaangażowania i lojalności, co tworzy odchylenie samoselekcji (selection bias), a etapowe wyłączenie w kohortach zniekształca szereg czasowy sezonowością i naturalną utratą.

Aby wyizolować prawdziwy efekt przyczynowy, należy zastosować Difference-in-Differences (DiD) z analizą kohortową lub CausalImpact oparty na Bayesian Structural Time Series, wykorzystując nietknięte kohorty jako sztuczną kontrolę. Kluczowym krokiem jest zbudowanie modelu dopasowywania wyników propensity score matching (PSM) w każdej kohorcie: dla użytkowników, którzy stracili funkcję (treatment), dobierane są pary użytkowników, którzy nigdy z niej nie korzystali (control), ale mają podobny profil aktywności, stażu oraz historię konwersji. Przy wyraźnym progu intensywności korzystania z funkcji (na przykład > 5 użyć miesięcznie) skuteczne jest Regression Discontinuity Design (RDD), pozwalające na porównanie użytkowników bezpośrednio po obu stronach progu wyłączenia.

Ważne jest dodatkowo kontrolować survivorship bias: jeśli funkcja jest usuwana z powodu niskiego użycia, analiza powinna obejmować tylko aktywnych użytkowników w momencie podjęcia decyzji, wykluczając tych, którzy odeszli przed rozpoczęciem obserwacji. Do oceny długofalowego efektu stosuje się staggered DiD z dynamicznymi efektami (badanie wydarzeń), które pozwala śledzić, jak zmienia się retencja trzynastego i siódmego dnia w odniesieniu do momentu wyłączenia, oraz sprawdzać założenie równoległych trendów przez testy placebo w poprzednich okresach.

Sytuacja z życia

W dużym produkcie edtech podjęto decyzję o usunięciu przestarzałego czatu tekstowego z mentorem na rzecz wideokonsultacji, ponieważ czatem korzystało mniej niż 3% użytkowników, a jego wsparcie zajmowało 20% zasobów zespołu. Wydanie planowane było etapowo: najpierw wyłączenie dla nowych użytkowników, następnie dla kohort o niskiej aktywności, a na końcu dla power users. Biznes obawiał się, że usunięcie wywoła falę negatywnych emocji i utratę wartościowych użytkowników, którzy historycznie intensywnie korzystali z czatu do wyjaśniania zadań.

Pierwszym rozważanym wariantem była prosta analiza porównawcza retencji przed i po wyłączeniu dla każdej kohorty. To podejście wyróżniało się szybką wykonalnością i czytelnością dla interesariuszy, jednak cierpiało na krytyczną niesprawność w oddzieleniu efekty usunięcia od naturalnej degradacji kohorty (cohort aging) oraz sezonowych wahań aktywności studentów w okresie letnim, kiedy planowane było ostatnie wyłączenie. Drugim wariantem był klasyczny test A/B z flagą funkcjonalności, ukrywającą czat dla 50% użytkowników, ale odpadł z powodu technicznych trudności w utrzymaniu dwóch wersji UI oraz względów etycznych: nie można było obiecać wsparcia czatu jednemu użytkownikowi i odmawiać innym w przypadku wystąpienia błędów.

Trzecim, wybranym wariantem, była analiza metodą Difference-in-Differences z sztuczną kontrolą. Dla każdej kohorty, która traciła dostęp do czatu, analitycy przy pomocy Propensity Score Matching znajdowali pary z użytkownikami poprzedniej kohorty, którzy nigdy nie otwierali czatu, ale mieli identyczny wzorzec oglądania lekcji, historię oddawania prac domowych oraz geolokację. To pozwoliło na porównanie trajektorii retencji grupy treatment (która straciła czat) i grupy control (która nigdy z niego nie korzystała), izolując czysty efekt utraty funkcjonalności od ogólnych trendów.

Ostateczny wynik pokazał, że w przypadku power users (top 10% według częstotliwości korzystania z czatu) usunięcie rzeczywiście obniżyło 30-dniową retencję o 8%, ale zostało to skompensowane wzrostem konwersji w wideokonsultacje o 15% i poprawą metryk wydajności aplikacji (spadek wskaźnika awarii o 12% dzięki usunięciu kodu legacy). Dla średniego segmentu efekt był statystycznie nieistotny, co pozwoliło biznesowi uzasadnić całkowite wyłączenie funkcji z koncentracją na migracji power users do nowego kanału komunikacji przez spersonalizowane oferty.

Co kandydaci często przeoczają

Jak odróżnić efekt usunięcia funkcji od efektu "ułatwienia" interfejsu (simplification effect), kiedy zmniejszenie obciążenia poznawczego może maskować negatywne skutki utraty funkcjonalności?

Odpowiedź leży w dekompozycji metryk: należy śledzić nie tylko retencję, ale także czas realizacji zadań, wskaźnik błędów i wskaźnik odkrywania funkcji dla pozostającej funkcjonalności. Jeśli po usunięciu czatu metryka time-to-homework-submission maleje (użytkownicy szybciej oddają prace) przy stabilnej retencji, to świadczy o pozytywnym efekcie uproszczenia, kompensującym utratę kanału komunikacyjnego. Dla ilościowej oceny przeprowadzana jest analiza mediacji: ocenia się bezpośredni związek przyczynowy „usunięcie → retencja” oraz pośredni przez „usunięcie → uproszczenie UI → retencja”, co pozwala oddzielić czysty negatyw od strukturalnej poprawy UX.

Jak poprawnie obliczyć moc statystyczną dla testu „nieinferriorytetu” (non-inferiority testing) przy usuwaniu funkcji, gdy celem jest udowodnienie, że szkoda nie przekracza dopuszczalnego progu?

Kandydaci często stosują klasyczne obliczenie mocy dla testu dominacji (superiority testing), co prowadzi do nieuzasadnionych wniosków o „bezpieczeństwie” usunięcia. W przypadku testu nieinferriorytetu, hipoteza zerowa formułowana jest jako „efekt gorszy od progu”, a moc zależy od Marginesu Obojętności (δ), który powinien być wcześniej określony przez biznes (na przykład -2% do retencji). Formuła mocy wymaga podania oczekiwanego prawdziwego efektu (zwykle 0 lub niewielkiego pozytywnego) i wariancji, przy czym przybliżenie do δ wymaga wykładniczo większych próbek. Należy używać specjalistycznych kalkulatorów mocy dla sparowanych proporcji z korekcją na klasteryzację wg kohort, ponieważ użytkownicy w obrębie jednej kohorty korelują z czasem wyłączenia.

Jak uwzględnić efekty sieciowe (spillover effects), gdy usunięcie funkcji przez jednego użytkownika wpływa na zachowanie innych poprzez zerwanie więzi komunikacyjnych?

W produktach społecznościowych lub B2B SaaS usunięcie funkcji przez jednego aktora (na przykład wyłączenie starego API przez administratora) wpływa na doświadczenie końcowych użytkowników (pracowników), tworząc interferencję między treatment a control. Aby wyizolować ten efekt, stosuje się losowanie oparte na klastrach lub analizy przez mapowanie ekspozycji: zamiast indywidualnego statusu treatment używa się proporcji użytkowników w grafie społecznym (zespole, rodzinie), którzy stracili funkcję. Jeśli korelacja między indywidualnym faktem wyłączenia a proporcją wyłączonych w klastrze jest wysoka (>0.8), klasyczny OLS daje zniekształcone oszacowania. Rozwiązaniem jest zastosowanie regresji IV (instrumental variables), gdzie instrumentem jest fakt przynależności do kohorty wyłączenia, a faktyczna strata funkcji jest zmienną endogeniczną lub zastosowanie metod wnioskowania przyczynowego do interferencji, takich jak test losowy Fishera z korekcją na rozmiar klastra.