Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

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.

Zdarzeniem wyzwalającym jest rozpoczęcie subskrypcji przez nowego klienta. Linia pozioma reprezentuje liczbę dni od rozpoczęcia subskrypcji.

Oś czasu dla nowego klienta.

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ę.

Wynik celu to sytuacja, w której klient dzwoni, aby anulować subskrypcję.

Oś czasu klienta z celem.

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.

Dni od rozpoczęcia subskrypcji do momentu, gdy klient zadzwoni, aby ją anulować. Każda linia reprezentuje innego klienta.

Osie czasu pokazujące liczbę dni przed anulowaniem przez klientów.

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.

Rozkład połączeń w sprawie anulowania w zależności od liczby dni od rozpoczęcia subskrypcji. Subskrypcje są najczęściej anulowane około 90 dni po ich rozpoczęciu przez klienta.

Histogram pokazujący liczbę dni przed anulowaniem przez klientów.

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ę.

Horyzont po 90 dniach od rozpoczęcia subskrypcji

Histogram z zaznaczonym horyzontem 90-dniowym.

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.

Horyzont po 110 dniach od rozpoczęcia subskrypcji

Histogram z zaznaczonym horyzontem 110-dniowym.

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:

  1. Pobieramy status klienta z Salesforce.

  2. Wyodrębniamy status, datę utworzenia klienta i datę anulowania przez klienta:

    Tabela z danymi przykładowymi.

  3. Czyścimy i przekształcamy wyodrębnione dane w kolumnę docelową:

    Tabela z danymi przykładowymi.

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.

Zdarzenie wyzwalające ma miejsce, gdy rejestruje się nowy klient (1), wynikiem celu jest telefon w sprawie anulowania (2), a horyzont celu to 110 dni po rozpoczęciu subskrypcji (3).

Oś czasu przedstawiająca zdarzenie wyzwalające, cel i horyzont celu.

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.

Punkt predykcji (2) jest ustawiony na dzień 80., między zdarzeniem wyzwalającym (1) a horyzontem celu (3).

Oś czasu przedstawiająca punkt predykcji.

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.

Okres akumulacji danych to czas między zdarzeniem wyzwalającym a punktem predykcji.

Oś czasu przedstawiająca okres akumulacji danych między zdarzeniem wyzwalającym a punktem predykcji.

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.

Okres działania to czas między punktem predykcji a horyzontem celu.

Oś czasu przedstawiająca okres akumulacji danych między punktem predykcji a horyzontem.

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:

Rozkład telefonów w sprawie anulowania subskrypcji z okresem akumulacji danych i okresem działania.

Histogram z zaznaczonym punktem predykcji i horyzontem.

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.

Klienci, którzy anulowali subskrypcje przed punktem predykcji, nie zostaną uwzględnieni w danych do uczenia.

Histogram przedstawiający proporcję klientów, którzy odeszli przed punktem predykcji.

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.

Przesunięcie punktu predykcji na dzień 60 skraca okres akumulacji danych, ale daje nam dłuższy okres działania. Wyklucza mniejszą liczbę klientów z danych do uczenia.

Histogram z wcześniejszym punktem predykcji i dłuższym okresem działania.

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.

Kiedy punkt predykcji jest w dniu 0, mamy 0 dni na zebranie danych i możemy korzystać tylko z cech stałych, które są znane w dniu 0. Okres działania to pełne 110 dni.

Histogram z punktem predykcji w dniu 0.

Wynikowy zestaw danych wyglądałby mniej więcej tak:

Dane do uczenia z tylko stałymi cechami

Tabela z danymi przykładowymi.

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.

Punkt predykcji w dniu 60. daje nam 60 dni na zebranie danych i 50 dni na podjęcie działań.

Histogram 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.

Przykładowe dane z cechami zależnymi od okresu

Tabela z danymi przykładowymi.

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.

Dane przykładowe z cechami stałymi (1), cechami zależnymi od okresu (2) i celem (3)

Tabela z danymi przykładowymi.

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!