Segmentacja klientów: analiza RFM

W sieci jest sporo artykułów dotyczących segmentacji klientów, ale są to zazwyczaj posty mało praktyczne (moim zdaniem), które tylko zarysowują temat(przynajmniej tak jest w top 10 w Google). Dodatkowo teksty te skupiają się na segmentacji uwzględniającej aspekty demograficzne, geograficzne, psychograficzne. Właśnie dlatego tutaj opiszę ten temat od innej strony. Chodzi o analizę RFM na podstawie danych sprzedażowych, które można wyciągnąć z CRM.

Po co mi segmentacja klientów?

Segmentacja klientów jest to proces, w którym grupuje się konsumentów, którzy są ze sobą powiązani pewnymi cechami,  mogą to być np. cechy demograficzne, dane sprzedażowe, zainteresowania czy też dane geograficzne itp.

Celem segmentacji jest analiza zachowania klientów oraz prognoza ich przyszłego zachowania, co w konsekwencji pozwala odpowiednie dostosowanie strategii sprzedażowej i marketingowej. Jest wiele sposobów w który można zrealizować taka segmentację, prezentowany tutaj należy do najprostszych, a jednocześnie pozwala przeprowadzić kompletną i wartościową analizę przy użyciu trzech łatwo dostępnych danych. Jest to analiza RFM. Skrót pochodzi pierwszych liter danych których się w niej używa, są to: czas od ostatniego zakupu(recency), częstotliwość (frequency) i  wartość(monetary) .

Założenia segmentacji klientów RFM

  1. Im data ostatniego zakupu odleglejsza, tym mniejsze szanse, że się on powtórzy.
  2. Im większa częstotliwość zakupów w przeszłości, tym większe szanse na to, że dany klient będzie wybierał naszą ofertę w przyszłości
  3. Przyszłe przychody z większym prawdopodobieństwem będą pochodziły od klientów, którzy dokonywali transakcji na większe kwoty, niż od klientów, którzy generowali zakupy o mniejszej wartości.
  4. Zakładamy, że w porównywalnych okresach czasowych zachowania klientów są podobne

Liczymy parametry RFM

Wszystko oczywiście da się zrobić w excelu, ale znacznie szybciej i wydajniej będzie R lub Pythonie. Po czyszczeniu danych i innych niezbędnych krokach można przejść do liczenia poszczególnych parametrów.

Wartość parametru monetary poprzez sumę sprzedaży dla każdego klienta. Parametr recency, czyli ilość dni od ostatniej transakcji (dzisiejsza data – data ostatniej faktury) oraz parametr frequency czyli ilość transakcji w w badanym okresie czasu. Poniżej nazwy klienta zamieniłem na id, żeby nazwa niczego nie sugerowała.

segmentacja klientów - analiza RFM

Ustalenie przedziałów

Kolejnym krokiem jest ustalenie przedziałów dla każdego z tych parametrów, ja korzystam z kwartyli ale można to zrobić ręcznie. Proponuję 4 przedziały dla każdego z parametrów. Może być ich więcej, ale im jest ich więcej tym trudniej będzie analizować segmenty bo będzie ich proporcjonalnie więcej. Na przykład Przy 4 przedziałach dostaniemy 64 kombinacje(które potem będziemy grupować), ale przy pięciu zakresach takich kombinacji będzie już 125. Wracając do przedziałów, chodzi o to żeby w każdym była mniej więcej jednakowa ilość obserwacji. Przykładowe przedziały w analizowanych danych dla niedawności(frequency) przedstawiają się następująco: przedział pierwszy od 1-39 dni, drugi od 40 do 69 dni, trzeci od 70 do 150 dni i czwarty powyżej 150 dni.

Następnie każdemu przedziałowi nadajemy wartość numeryczną od 1 do 4 (lub od 1 do 5 jeżeli przedziałów było 5) przy czym 4 oznacza najlepszy wynik czyli w tym wypadku najświeższą transakcję a 1 najgorszy wynik czyli z przedziału powyżej 102 dni.

Jeszcze raz dla przypomnienia – przykładowo jeżeli transakcja miał miejsce 265 dni temu to przypiszemy jej wynik 1, jeżeli wydarzyła się 40 dni temu to otrzyma wynik 2. Pozostałe dwa parametry też tak oznaczamy, tylko trzeba pamiętać, że w ich wypadku im wyższa wrtość tym wyższy scoring przyznajemy. Takie scoringi ustalamy dla każdego klienta dla każdego z 3 parametrów i zestawiamy je ze sobą(nie sumujemy).

Przykłądowo klient o ID 12346.0 wykonał ostatnią transakcję 348 dni temu więc w polu recency otrzymuje 1, jego częstotliwość zgodnie z przedziałami wyceniamy na 1 i wartość sprzedaży również na 4. Zbiorcza ocena tego klienta to 114. Poniżej w tabeli kilka dodatkowych przykładów:

CustomerID recency frequency monetary RFMRFM Score
18280.0 30010180,6111111
18281.0 203780,82111111
18282.03012178,05411411
18283.0257562094,88444444
18287.0 6570 1837,28 334334

Tak postępujemy z każdym klientem, a wszytko umieszczamy w jednej tabeli, która może wyglądać następująco:

Segmentacja klientów za pomocą analizy RFM

Na powyższym obrazku widać że najgorszym klientem jest klient o ID 12353.0 – ostatnie zamówienie było prawie 8 miesięcy temu, klient dokonywał zakupów na małe kwoty(sumarycznie 89 PLN) i w porównaniu do innych robił to rzadko. Z kolei najlepszy klientem na obrazku jest 12347.0 – ostatnia transakcja 24 dnie temu, wykonał ich 151 na zbiorczą kwotę ponad 3,5k.

Grupowanie scoringów

Mamy wygenerowanych 65 kombinacji scoringowych – ta za dużo żeby były użyteczne. Należy je pogrupować i teraz ilość grup zależy od nas i od danych – może to być 10, może być 7, a może i pięć. Mogłyby to być na przykład takie segmenty: Nowy, Utracony, nieopłacalny, szkoda stracić, superklient, opłacalny.

Klient najlepszy, nazwijmy go np „dojną krową” będzie miał scoring 444, Klient utracony będzie miał scoringi zaczynające się od 1 czyli 111,122, 133, 144 – zakładamy, ze skoro klient nie dokonał transakcji przez ostatnie 150 i więcej dni to już raczej go nie dokona. Nowy klient będzie miał wysoki parametr niedawności i pozostałe parametry od 1 do 3, czyli scoringi: 411, 422, 433, 412, 413, 421, 423. Nieopłacalny będzie miał scoringi: 211, 311, 411.

Jeszcze raz – po co to robić?

Jest to rzeczywiście prosta analiza, którą każdy może wykonać, bo powyższe dane przecież ma. Dzięki niej handlowiec może swój czas poświęcić na najbardziej wartościowych klientów lub najbardziej obiecujących, a nie tam gdzie prawdopodobnie nic z tego nie będzie. Taka segmentacja klientów może też być zaczątkiem do analizy LTV czyli customer life time value.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *