Stosowanie ram strukturalnych: Przykład z odpływem klientów
Ten przykład przeprowadzi Cię krok po kroku przez proces definiowania pytania dotyczącego uczenia maszynowego. Dowiesz się, jak łączyć wiedzę biznesową ze strukturą zdarzenia wyzwalającego, celu, punktu predykcji i cech, aby ustrukturyzować dobrze zdefiniowane pytanie.
Punktem wyjścia jest przypadek biznesowy „Czy klient odejdzie?”. Korzystając ze struktury, sprowadzimy to do czegoś bardziej konkretnego, co można przewidzieć za pomocą algorytmu uczenia maszynowego.
Zdarzenie wyzwalające
Zdarzenie wyzwalające to działanie lub zdarzenie wyzwalające tworzenie nowej predykcji. Nasze zdarzenie wyzwalające identyfikujemy jako „klient rozpoczął subskrypcję”. Widać to w danych, kiedy tworzony jest nowy klient. Chcemy przewidzieć na poziomie klienta, czy odejdzie, dlatego każdy wiersz musi reprezentować jednego klienta.
Wykorzystując swoją wiedzę biznesową i po sprawdzeniu w danych, wiemy, że odpływ jest największy wśród nowych klientów. Dlatego decydujemy się skoncentrować na nowych klientach. Zdarzeniem wyzwalającym jest to, że rejestruje się nowy klient, i o każdym kliencie możemy myśleć jako o indywidualnej osi czasu rozpoczynającej się w dniu rozpoczęcia subskrypcji.
Cel
Celem jest wynik, który próbujemy przewidzieć. Chcemy przewidzieć odpływ klienta, więc wiemy, że naszym ogólnym celem jest „Czy klient odejdzie?”. Aby utworzyć model uczenia maszynowego wysokiej jakości, musimy jednak być bardziej konkretni. Na początek ustalamy, że „odpływ” oznacza, że klient dzwoni do nas, aby anulować subskrypcję.
Następnie decydujemy o ramach czasowych (horyzoncie), w których klient ma zadzwonić w sprawie anulowania subskrypcji. Patrząc na wielu klientów, którzy anulowali subskrypcję, widzimy, że oś czasu nie jest spójna. Niektórzy klienci anulują subskrypcję po 45 dniach, a inni dopiero po 110.
Mamy 90-dniowy bezpłatny okres próbny i wiemy, że wielu klientów rezygnuje w okresie próbnym. W oparciu o ten kontekst biznesowy naszą pierwszą myślą jest użycie horyzontu 90 dni. Na podstawie przewidywań, kto prawdopodobnie zrezygnuje, planujemy dotrzeć do tych klientów z wyprzedzeniem i zaoferować zachęty (takie jak rabaty lub dodatkowe funkcje subskrypcji), aby zachęcić ich do pozostania.
Histogram przedstawiający liczbę dni po rejestracji, po której klienci anulowali subskrypcję, potwierdza naszą intuicję biznesową. Na ilustracji widzimy dane dotyczące wszystkich klientów, którzy odeszli w ciągu ostatnich trzech lat.
Wybór 90-dniowego horyzontu wydaje się dobrym punktem wyjścia. Kiedy jednak narysujemy ten horyzont na naszym histogramie, uświadamiamy sobie, że jest wielu klientów, którzy rezygnują jeszcze przez kilka dni po 90-dniowym okresie próbnym. Powodem może być to, że widzą, że ich karta kredytowa została obciążona, lub otrzymują powiadomienie, że ich metoda płatności została odrzucona kilka dni później i dopiero wtedy dzwonią, aby anulować subskrypcję.
Ponieważ chcemy uwzględnić tych klientów jako „odchodzących” w naszym modelu, uznajemy, że sensowniej będzie przyjąć 110 dni jako nasz horyzont celu. Uwzględniając 110 dni, otrzymujemy większość klientów, których odpływ jest prawdopodobnie związany z bezpłatnym okresem próbnym.
Kiedy już zdefiniowaliśmy swój cel, możemy określić miejsce przechowywania danych i jak należy je wyczyścić, aby zbudować kolumnę celu w zestawie danych. W tym przykładzie wykonujemy następujące czynności:
-
Pobieramy status klienta z Salesforce.
-
Wyodrębniamy status, datę utworzenia klienta i datę anulowania przez klienta:
-
Czyścimy i przekształcamy wyodrębnione dane w kolumnę docelową:
Zdefiniowaliśmy teraz zdarzenie wyzwalające (zarejestrowany nowy klient) i cel (klient zadzwonił, aby anulować subskrypcję w ciągu 110 dni od rejestracji). Są one przedstawione na osi czasu na ilustracji.
Punkt predykcji
Punkt predykcji to wyznaczony czas, w którym przestaje się zbierać dane dotyczące cech i przewiduje się cel dla każdego wiersza. Punkt predykcji może przypadać w dowolnym momencie między zdarzeniem wyzwalającym (dzień rejestracji subskrypcji) a horyzontem celu (dzień 110. po rejestracji). Aby wybrać punkt wyjścia, możemy zastanowić się nad działaniem, które chcemy podjąć.
W naszym przykładzie być może zespół obsługi klienta poprosił o 30 dni na skontaktowanie się z klientami z ofertami mającymi na celu ich utrzymanie, gdy przewiduje się, że klienci odejdą. Oznacza to, że najpóźniej chcielibyśmy dokonać predykcji 30 dni przed horyzontem celu, czyli do dnia 80.
Wybranie dnia 80. jako punktu predykcji dałoby nam 80 dni na zbieranie danych o nowych klientach w miarę ich pojawiania się. Te ramy czasowe między zdarzeniem wyzwalającym a punktem predykcji nazywane są okresem akumulacji danych. Dane zebrane w okresie akumulacji danych są wykorzystywane do generowania cech.
Użycie dnia 80. jako punktu predykcji pozostawia 30-dniowy okres działania, czyli czas między punktem predykcji a horyzontem celu. Są to 30-dniowe ramy czasowe na kontakt z klientami, o które poprosił zespół obsługi klienta.
Oprócz zastanowienia się nad minimalnym okresem wymaganym do podjęcia działań na podstawie predykcji, musimy również spojrzeć na histogram dni do rezygnacji. Stosując punkt predykcji w dniu 80., otrzymalibyśmy:
Patrząc na ten histogram, zdajemy sobie sprawę, że użycie punktu predykcji w dniu 80. nie zapewnia maksymalnej wartości biznesowej. Chociaż dane z 80 dni pomagają zwiększyć dokładność modelu, wiąże się to z dużym zmniejszeniem możliwości działania:
-
Po pierwsze, wielu klientów zrezygnowało już do dnia 80., a więc odeszli w okresie akumulacji danych, zanim jeszcze dokonamy jakichkolwiek predykcji. Oznacza to również, że nie chcielibyśmy uwzględniać ich w naszym zestawie danych do uczenia, ponieważ znalibyśmy wynik przed dokonaniem predykcji.
-
Po drugie, wielu klientów odchodzi między dniem 80. a 90., dlatego zespół ds. obsługi klienta nie miałby pełnych 30 dni na dotarcie do tych klientów.
Przesunięcie punktu predykcji na dzień 60 zapewnia lepszą równowagę między dokładnością a możliwościami działania. Nadal mamy 60 dni na zebranie danych do wykorzystania w cechach w naszym modelu, ale dokonujemy już predykcji na tyle wcześnie, by zespół ds. obsługi klienta miał 30 dni na kontakt z większością klientów, co do których przewidujemy, że odejdą. Skracając okres akumulacji danych, możemy się spodziewać niewielkiego spadku dokładności modelu, ale o wiele bardziej praktycznej predykcji.
Cechy
Po zdefiniowaniu zdarzenia wyzwalającego, celu i punktu predykcji jesteśmy gotowi dodać ostatnią część do naszego zestawu danych: cechy. Cechy to znane atrybuty lub obserwacje dotyczące każdego wiersza danych w zestawie danych do uczenia, z których algorytmy uczenia maszynowego uczą się ogólnych wzorców. Algorytmy następnie wykorzystują te cechy do dokonywania predykcji po przedstawieniu im nowego wiersza danych w zestawie danych do zastosowania.
Cechy można określić jako hipotezy oparte na wiedzy biznesowej o tym, co wpływa na wynik. W naszym przykładzie cechy mogą obejmować na przykład lokalizację klienta, źródło leada, miesiąc rejestracji, liczbę logowań lub liczbę aktywnych użytkowników.
Istnieją dwie kategorie cech:
-
Cechy stałe są najprostsze, ponieważ nie zmieniają się w czasie. W naszym przykładzie stałymi cechami są lokalizacja klienta (podczas rejestracji), źródło leada i miesiąc rejestracji. Stają się one znane, gdy tylko klient się zarejestruje (w momencie wystąpienia zdarzenia wyzwalającego) i bez względu na to, gdzie umieścimy nasz punkt predykcji, będą zarówno znane, jak i stałe.
-
Cechy zależne od okresu są nieco bardziej skomplikowane. Są to cechy zbierane na podstawie informacji uzyskanych między zdarzeniem wyzwalającym a punktem predykcji. Ważne jest, by używać tylko danych, które byłyby znane w danym czasie, w przeciwnym razie model może mieć wyciek danych. (Więcej informacji zawiera temat Wyciek danych).
Prosty model może wykorzystywać tylko informacje znane w dniu 0, czyli tylko cechy stałe. Dałoby to punkt predykcji w dniu 0, jak pokazano na ilustracji.
Wynikowy zestaw danych wyglądałby mniej więcej tak:
Możemy też jednak użyć danych zebranych po rozpoczęciu przez klienta subskrypcji, jak w naszym przykładzie z punktem predykcji w dniu 60.
Teraz możemy wykorzystać informacje zebrane w ciągu pierwszych 60 dni po zarejestrowaniu się klienta, aby dodać do modelu cechy zależne od okresu. Zestaw danych do tego modelu może wyglądać jak w poniższej tabeli — teraz zawiera cechy zależne od okresu Logins First 60 Days i Active Users at 60 days.
Należy zauważyć, że w tym przykładzie cechy odzwierciedlają cały okres akumulacji danych. Mogą być też mniejsze. Na przykład możemy mierzyć logowania przez pierwsze 10 dni lub logowania w dniach 30–60, o ile cechy nie zawierają żadnych informacji wykraczających poza punkt predykcji.
Gromadzenie cech zależnych od okresu może być bardziej skomplikowane, ponieważ wymagają dat i dodatkowego wysiłku polegającego na zadbaniu, by mieściły się w okresie akumulacji danych, aby uniknąć wycieku danych. Mogą one jednak należeć do najcenniejszych cech, ponieważ mogą odzwierciedlać informacje zebrane znacznie bliżej czasu predykcji.
Wynikowe pytanie dotyczące uczenia maszynowego
Zaczęliśmy od prostego przypadku „Czy klient odejdzie?”. Następnie zdefiniowaliśmy zdarzenie wyzwalające jako „Rejestruje się nowy klient”, ponieważ chcieliśmy dokonać predykcji na poziomie indywidualnego klienta.
Zdefiniowaliśmy cel z konkretnym wynikiem — „Klient zadzwonił, aby anulować subskrypcję (tak lub nie)” — i ustawiliśmy horyzont na 110 dni, ponieważ jest to czas, do którego większość naszych klientów korzystających z okresu próbnego anulowała subskrypcję.
Patrząc na histogram pokazujący, w którym dniu po rejestracji klienci dzwonili w celu anulowania subskrypcji w ciągu ostatnich trzech lat, zdecydowaliśmy się przyjąć punkt predykcji 60 dni po rejestracji. Dałoby nam to 60 dni na zebranie informacji (okres akumulacji danych) przed dokonaniem predykcji, ale nadal zapewniłoby zespołowi obsługi klienta czas na podjęcie działań w oparciu o predykcje w celu ograniczenia rezygnacji.
Na koniec zebraliśmy dane o klientach, które byłyby dostępne przed 60 dniem w celu wygenerowania cech.
Wynikowe pytanie uczenia maszynowego brzmi: „Czy po pierwszych 60 dniach aktywności klient zadzwoni, aby anulować subskrypcję do 110. dnia?”
Zestaw danych gotowy do użycia w zautomatyzowanym uczeniu maszynowym wygląda jak w poniższej tabeli. Location, Lead Source, Month Joined i Subscription Amount to cechy stałe, Logins First 60 Days i Active Users at 60 Days to cechy zależne od okresu, a Churned by 110 Days to kolumna celu.