Customer Churn Analysis

maj 29, 2021
admin

Brief Overview of Customer Churn Analysis and Prediction with Decision Tree Classifier.

Customer Churn jest jednym z najważniejszych i najtrudniejszych problemów dla firm, takich jak firmy kart kredytowych, dostawców usług kablowych, SASS i firm telekomunikacyjnych na całym świecie. Mimo, że nie jest to najbardziej przyjemne do oglądania, wskaźniki rezygnacji klientów mogą pomóc firmom poprawić utrzymanie klientów.

Customer Churn Photo by freestocks on Unsplash

Możemy sklasyfikować odpływ klientów (znany również jako customer attrition) poprzez pogrupowanie ich w różne kategorie. Spowolnienie kontraktowe, które dotyczy firm takich jak firmy kablowe i dostawcy usług SAAS, to sytuacja, w której klienci decydują się nie kontynuować wygasających umów. Dobrowolny Churn, z drugiej strony, jest wtedy, gdy klient decyduje się zrezygnować z istniejącej usługi, co może mieć zastosowanie dla firm takich jak telefony komórkowe prepaid i dostawców subskrypcji strumieniowych. Zdarza się również, że konsumenci opuszczają potencjalny zakup bez finalizowania transakcji. Takie przypadki możemy zakwalifikować jako rezygnację bezumowną, która ma zastosowanie w przypadku firm, które opierają się na punktach sprzedaży detalicznej, sklepach internetowych lub usługach pożyczkowych online. I wreszcie, nie jest mimowolny odpływ, na przykład, gdy klient nie może zapłacić rachunek karty kredytowej i nie pozostaje już z firmą karty kredytowej.

Powody odpływu klienta może się różnić i wymagałoby wiedzy domeny w celu określenia prawidłowo, jednak niektóre wspólne są; brak korzystania z produktu, słaba obsługa i lepsza cena gdzieś indziej. Niezależnie od powodów, które mogą być specyficzne dla różnych branż, jedna rzecz odnosi się do każdej domeny jest to, że pozyskanie nowych klientów kosztuje więcej niż utrzymanie istniejących. Ma to bezpośredni wpływ na koszty operacyjne i budżety marketingowe w firmie.

Photo by rupixen.com on Unsplash

Ze względu na istotne znaczenie zjawiska rezygnacji klientów w przedsiębiorstwie, zainteresowane strony inwestują więcej czasu i wysiłku w poznanie przyczyn tego zjawiska w swoich organizacjach, w jaki sposób mogą dokładnie przewidzieć typ istniejących klientów, którzy mogą przestać robić z nimi interesy oraz co mogą zrobić, aby zminimalizować rezygnację klientów.

Najlepszym sposobem na uniknięcie odpływu klientów jest poznanie swoich klientów, a najlepszym sposobem na poznanie klienta są dane historyczne i dane dotyczące nowych klientów.

W tym artykule, przejdziemy przez niektóre dane konsumenckie i zobaczymy jak możemy wykorzystać wgląd w dane i modelowanie predykcyjne w celu poprawy utrzymania klientów. W naszej analizie użyjemy Pythona i różnych algorytmów uczenia maszynowego do przewidywania.

Nasz pierwszy zestaw danych klienta pochodzi od firmy obsługującej karty kredytowe, gdzie jesteśmy w stanie przejrzeć atrybuty klienta takie jak płeć, wiek, staż, saldo, liczba produktów, na które są zapisani, ich szacowane wynagrodzenie i czy przerwali subskrypcję czy nie.

Widzimy nasz zbiór danych, ale chcemy również upewnić się, że dane są czyste, więc jako część procesu czyszczenia, patrzymy na brakujące wartości i typy danych.

Gdy spojrzymy na spostrzeżenia statystyczne, widzimy, że średni wiek naszych klientów to 39 lat, średni miesiąc, w którym klient jest członkiem to 5, a szacowana średnia pensja to 100K.

Gdy spojrzymy na płeć i rozkład geograficzny szacowanego wynagrodzenia, zobaczymy, że szacowane średnie wynagrodzenie klientów płci męskiej jest wyższe niż kobiet we Francji i Hiszpanii, jednak w Niemczech szacowane średnie wynagrodzenie klientów płci żeńskiej jest wyższe.

Gdy przyjrzymy się zależności między wiekiem a punktacją kredytową, zależność liniowa jest bardzo słaba, aby jednoznacznie określić korelację.

W oparciu o naszą podstawową analizę eksploracyjną, możemy zdefiniować ważne atrybuty klienta, które mogą dać nam najlepszy wgląd w celu przewidzenia typu klientów, którzy mogą się wycofać. Możemy kontynuować tę analizę, aby odpowiedzieć na kilka podstawowych pytań, takich jak: „Czy niższe szacowane wynagrodzenie zwiększa rezygnację?”. Lub „Czy niższy Credit Score zwiększa rezygnację?” i tak dalej. Możemy grupować i podsumowywać zbiór danych na różne sposoby, aby uzyskać więcej informacji na temat atrybutów klienta. Zajmiemy się tym w następnym zbiorze danych. Na razie, zacznijmy myśleć o przewidywaniu, którzy klienci będą rezygnować.

W tym przypadku, możemy oznaczyć naszą zmienną docelową (odpowiedź), którą jest rezygnacja. Oznacza to, że możemy stworzyć model klasyfikacyjny i zastosować różne algorytmy, takie jak Drzewo decyzyjne, Las losowy, Regresja logistyczna lub Wektory wspierające. Jeśli chodzi o modele uczenia maszynowego, szukamy dwóch głównych warunków; 1- Normalna dystrybucja zestawu cech, 2- Ta sama skala zestawu cech.

W tym zbiorze danych, możemy wybrać ocenę kredytową, geografię, płeć, wiek, staż i szacowane wynagrodzenie atrybuty jako zestaw cech i churn jako zmienna docelowa.

Musimy upewnić się, że zaktualizowaliśmy zmienne kategoryczne do zmiennych numerycznych, ponieważ techniki uczenia maszynowego, które zastosujemy, wymagają, aby wszystkie atrybuty klientów były numeryczne.

Możemy dalej losowo podzielić nasz zbiór danych na treningowy i testowy w celu dopasowania naszego modelu do treningowego zbioru danych i przetestowania przewidywań z testowym zbiorem danych. Idea polega na trenowaniu modelu na zbiorze treningowym i testowaniu predykcji na zbiorze testowym. Jeśli nie użyjemy zbiorów danych treningowych i testowych, a zamiast tego użyjemy całego zbioru danych, algorytm będzie dokonywał dokładnych przewidywań tylko z naszym zbiorem danych i zawiedzie z każdym nowym zbiorem danych, który zostanie mu podany.

W tym zbiorze danych, użyjmy DecisionTreeClassifier i RandomForestClassifier do stworzenia naszego modelu i przewidywań, a następnie oceńmy je oba, aby zobaczyć, który z nich jest lepszy.

Based on the metrics evaluations, podczas gdy 73% przewidywań byłoby dokładnych w przypadku modelu Decision Classifier, 82% przewidywań byłoby dokładnych w przypadku modelu RandomForestClassifier. Wolelibyśmy użyć Random Forest w tym przypadku.

Gdy spojrzymy na rozkład klientów, którzy rezygnują vs nie rezygnują, widzimy, że dane są bezstronne. Oznacza to, że nie możemy polegać tylko na wynikach metryki dokładności dla modeli predykcji. Spójrzmy na drugi zestaw danych klienta, aby zobaczyć, czy możemy zrobić lepszą analizę i modele predykcji.

Tym razem patrzymy na firmę telekomunikacyjną i jej istniejące atrybuty klientów, takie jak ich aktualny plan, opłaty, lokalizacja w kategoriach stanu, ilość połączeń z obsługą klienta, długość konta i churn.

W zbiorze danych nie ma brakujących danych, a typy danych są poprawne. Przyjrzyjmy się wartościom kategorycznym i ich unikalnym wartościom.

Spoglądając na stan i współczynnik rezygnacji widzimy, że Kalifornia i New Jersey są na pierwszym miejscu wśród stanów o najwyższym współczynniku rezygnacji.

Widzimy również, że wskaźnik rezygnacji jest wyższy w przypadku klientów korzystających z planu międzynarodowego i niższy w przypadku klientów korzystających z planu poczty głosowej.

Więcej klientów zostaje w firmie niż ją opuszcza. Jeśli pamiętasz wcześniejszą analizę z firmą kart kredytowych, oznacza to nierównowagę w danych i ma wpływ na rozwój modelu predykcyjnego. (Jednym z ważnych aspektów, o którym nie wspomnieliśmy wcześniej, jest to, że nie mamy żadnego zastosowania dla unikalnych identyfikatorów, takich jak numer telefonu, identyfikator klienta lub numer konta do wyboru cech.)

Zła obsługa klienta jest jednym z dobrze znanych powodów rezygnacji klienta. W naszym przypadku widzimy silną pozytywną liniową zależność z ilością połączeń z obsługą klienta i wskaźnikiem rezygnacji.

Mając ten zestaw danych, opracujmy wiele różnych modeli i oceńmy je, aby zobaczyć, który z nich będzie najlepiej pasował do rozwiązania naszego problemu biznesowego, jakim jest rezygnacja klienta.

Podobnie jak w przypadku wcześniejszego zestawu danych o klientach kart kredytowych, musimy wykonać wstępne przetwarzanie i zaktualizować zmienne kategoryczne do zmiennych numerycznych w celu utworzenia naszego modelu.

Teraz jesteśmy gotowi do podzielenia zbioru danych na trening/test i stworzenia naszych modeli. Zacznijmy od Random Forest.

Nasz wynik dokładności dla stworzonego przez nas modelu Random Forest do przewidywania churn klientów firmy telekomunikacyjnej wynosi 0.89. Powinniśmy jednak przeanalizować to dalej, ponieważ dane są bezstronne. Możemy przejrzeć dodatkowe metryki oceny, takie jak macierz walidacji krzyżowej, która da nam ilość prawdziwych pozytywów, fałszywych pozytywów, prawdziwych i fałszywych negatywów, precyzję, przywołanie i wynik f1. Możemy również zobaczyć, co możemy zrobić, aby poprawić model, patrząc na to, które cechy najbardziej przyczyniają się do predykcji.

Model przewiduje 560 Prawdziwych Negatywów, 13 Fałszywych Pozytywów, 54 Fałszywe Negatywy, 40 Prawdziwych Pozytywów.

Kiedy oceniamy model za pomocą klasyfikatora Random Forest, widzimy, że:

Precision score is 0.729

Recall score wynosi 0.372

Krzywa roc jest następująca:

AUC score (obszar pod krzywą roc) wynosi 0.83, a f1 score wynosi 0,49.

Dowiedzieliśmy się również, że aby uzyskać najlepsze wyniki z modelu, musimy ustawić estymator n na 30. (Obecnie nasz model używa 100)

Możemy dalej przyjrzeć się ważności cech, aby zobaczyć, które cechy mają największy wpływ na predykcję.

Najlepiej na podstawie ważności cech możemy zdecydowanie usunąć stan z naszego modelu.

Stwórzmy kolejny model przy użyciu Support Vector Machine.

Gdy utworzymy model i spojrzymy na dokładność, już widzimy, że wynik dokładności dla Support Vector Machine jest niższy niż Random Forest Classification.

Gdy tworzymy model i patrzymy na dokładność, już widzimy, że wynik dokładności dla Support Vector Machine jest niższy niż Random Forest Classification.

Model przewiduje 567 Prawdziwych Negatywów, 6 Fałszywych Pozytywów, 83 Fałszywe Negatywy, 11 Prawdziwych Pozytywów. Nawet jeśli liczba Fałszywych Pozytywów nieznacznie spadła, Prawdziwych Pozytywów jest znacznie mniej w porównaniu do RandomForestClassifier.

Zarówno wynik precyzji (0.647) jak i wynik recall (0.11) są znacznie niższe niż w przypadku Random Classifier. Obszar pod krzywą roc (auc) wynosi 0,83, co jest takie samo jak w przypadku klasyfikatora Random Forest. Najlepszą opcją dla stopnia Support Vector Machine jest 1. (który jest obecnie ustawiony jako domyślna wartość 3).

Based on the two predictive models we created the first one we created with Random Forest Classifier would be a better choice. Możemy również dostroić ten model i poprawić go poprzez aktualizację n_estimator i usunięcie zmiennej stanu z zestawu cech dla lepszego przewidywania.

Dzięki istniejącemu wglądowi konsumentów poprzez dane, firmy mogą przewidzieć możliwe potrzeby i problemy klientów, zdefiniować odpowiednie strategie i rozwiązania wobec nich, spełnić ich oczekiwania i utrzymać ich biznes. W oparciu o analizę predykcyjną i modelowanie, firmy mogą skupić swoją uwagę na ukierunkowanym podejściu, segmentując klientów i oferując im zindywidualizowane rozwiązania. Analizowanie jak i kiedy następuje rezygnacja klienta z usług pozwoli firmie wymyślić bardziej prewencyjne środki.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.