CRM Analitiği — RFM Analizi ile Müşteri Segmentasyonu

Merve Tatlıdil
5 min readJun 9, 2021

--

Merhaba, bu hafta yayınlayacağım iki yazımda da CRM uygulamarından bahsedeceğim. Bir şirketin çalışmaları ürünler ve müşteriler arasındadır. Ürünlerini müşterilerine pazarlamalı ve kâr elde etmelidir. CRM, (Customer Relationship Management) şirketlerin olan müşterileriyle veya potansiyel müşteriyle kurdukları ilişkileri etkin ve verimli hâle getirir. Bunu yapabilmek için müşterilerin neye ihtiyaç duyduğunu çok iyi anlamalı ve bu doğrultuda ürünler, kampanyalar çıkarılmalıdır.Müşteri ilişkileri yönetimi, müşteri ile kurulan ilk temastan, satış sonrası hizmetlere kadar müşteri yolculuğunun her aşamasında bilgiye dayalı ve üstün müşteri deneyimleri sağlayarak müşterilerle güçlü, üretken ve sadık ilişkiler kurulmasını destekler.

Müşteri ilişkileri yönetimi iyi yapılan bir firmada, satış ekibi de kendi sürecini daha verimli bir şekilde yönetebilir. Satış ekibi ister iş yerinde ister sahada olsun, ekibi ile program üzerinden gerçek zamanlı olarak iletişimde kalabilir. Anlık olarak müşterinin tüm geçmiş ve güncel verilerini inceleyerek, müşteriye özel bir iletişim çalışması yapabilir. Müşteriyi ikna etme ve satışı gerçekleştirme aşamalarını çok daha hızlı bir şekilde tamamlayabilir. Bunlara ek olarak müşteriye, müşterinin kendisinin de farkında olmadığı ihtiyaçlarının farkına varmasını sağlayarak yeni iş olanakları açabilir ve yeni müşteriler kazandıracak fırsatları yine satış ekibine gösterebilir.

RFM Analizi de müşteri analitiğinde sık sık kullanılan bir yöntemdir. RFM, müşterileri segmentlere ayırmak için geçmişteki satın alma davranışlarını inceler. Bu segmentlere özel stratejiler geliştirilir.

Projede kullanacağımız veri setine burdan ulaşabilirsiniz. Bu gerçek bir veri setidir. İlk olarak iş probleminden bahsedelim.

Bir e- ticaret şirketi müşterilerini segmentlere ayırıp bu segmentler için pazarlama stratejileri geliştirecek. Örneğin şirket için çok kazançlı olan müşterileri elde tutmak için farklı kampanyalar, yeni müşteriler için farklı kampanyalar düzenlenmek istenmektedir.

Kütüphaneleri import edelim ve veri setini kullanmaya başlayalım.Veri setinde iki ayrı sheet var. 2009- 2010 ve 2010–2011 yılları sheeti olarak.Ben 2010–2011 sheetini kullandım.

Şimdi veri setini tanıyalım. Veri setinde 541910 satır, 8 kolon var.

  • InvoiceNo: Fatura Numarası. Eğer bu kod C ile başlıyorsa işlemin iptal edildiğini ifade eder.
  • StockCode: Ürün kodu Her bir ürün için eşsiz numara.
  • Description: Ürün ismi
  • Quantity: Ürün adedi.Faturalardaki ürünlerden kaçar tane satıldığını ifade etmektedir.
  • InvoiceDate : Fatura tarihi
  • UnitPrice : Fatura fiyatı (Sterlin)
  • CustomerID : Eşsiz müşteri numarası
  • Country: Ülke ismi

İstatistiksel rakamlara baktığımızda Quantity’de negatif değer görmememiz gerekir. Price negatif değerleri ise iade olan işlemler olabilir. İade olan işlemlerin faturaları C ile başlıyordu. Bu yüzden C harfini içeren faturaları siliyoruz.

Description ve CustomerID değişkenlerinde null değerler var.Bunlar unique değişkenler olduğu için bu satırları silmeyi tercih ediyoruz.

Veri setinde bir ürünün birim fiyatı ve o üründen kaç tane alındığı bilgisi vardı fakat toplam fiyat yoktu. Bu değişkeni de biz oluşturalım.

Burada dikkat etmemiz gereken bir konu var. Bu veri seti 2011 tarihinde şuanki tarihten uzak. Bu nedenle analizimizi yaparken bir tarih belirliyoruz, analiz yaptığımız gün için. Analiz tarihini belirlerken garanti olması için veri setindeki en son tarihten 2 gün sonrasını analiz tarihi olarak alıyoruz.

RFM ismi ;

  • R = Recency — Son satın alımdan bugüne kadar geçen süre
  • F = Frequency — Toplam satış sayısı
  • M = Monetary — Bugüne kadar olan satın alımların maddi değeri

bu açılımdan gelmektedir.

Burada Recency,Frequency ve Monetary metriklerini hesapladıktan sonra kolonların isimlerini de bu şekilde değiştiriyoruz. Bu metriklerin istatiksel değerlerine bakarsak :

Monetary değeri satın alımların değerini ifade ediyordu bu nedenle monetary > 0 ‘dan büyük olduğu durumları alırız, kazancıımızın olmadığı işlemlerle ilgilenmiyoruz.

RFM metriklerimizi oluşturduk. Aşağıdaki görselde her müşterinin R, F ve M değerlerini görebiliyoruz. Metriklerin değerleri birbirlerinden farklı olduğu için müşterileri birbirleriyle kıyaslamak biraz zor.

Bu nedenle bu metrikleri 1–5 arasına getiriyoruz, böylece daha kolay kıyaslama yapabiliriz.

Recency değeri, müşterinin son satın alımdan bugüne kadar geçen süreydi. Yani son alımdan ne kadar fazla zaman geçtiyse şirketimiz için kötü bir durum.Bu nedenle sıralamamızı 5'ten 1'e doğru azalarak yapıyoruz.

RFM skorunu hesaplarken recency ve frequency değerlerini alıyoruz.

Müşterinin RFM_SCORE değikeninde 41 olması Recency değeri = 4, Frequency değeri = 1 demektir.

x ekseninde R = RECENCY , y ekseninde F = FREQUENCY 1–5 arası değerleri alır. x ve y değerlenin aldığı değerlere göre müşterinin hangi grupta olduğu belirlenir.

Grupları 11, 24 ya da 53 olarak değilde grafikteki gibi isimlendirmek istiyoruz.Bunun için :

Grafikte bulunan grup isimlerini bir sözlük olarak kaydediyoruz ve ‘Segment’ olarak yeni bir kolon oluşturuyoruz. Projemizin son aşamasında bu grupları değerlendirmek için ortalama ve count değerlerini alıyoruz.

Sonuçları yorumlamak için örneğin ; hibernating grubuna bakalım. Bu grup neredeyse kaybetmek üzere olduğumuz uykudaki müşteriler en büyük grubumuz, 1071 tane müşteri var.Bu müşteriler alışverişlerinin üzerinden en çok zaman geçen müşteriler ve alışveriş sıklıkları da düşük.Bu grubun memnuniyetsiz olduğu birşey olmalı. Aldığı üründen, ürün sonrası hizmetten ya da fiyatlardan memnun olmayabilirler.Bunun için bir telefon ya da mail yoluyla bir anket değerlendirmesi yapılabilir diyebiliriz.Anket sonuçlarını baz alarak bu grup kendi içinde segmente edilebilir ve sonuçlara göre kampanya hazırlanabilir.

Bir sonraki projede görüşmek üzere. Sağlıkla kalın!

Teşekkürler :

Proje kodlarına buradan erişebilirsiniz.

--

--

No responses yet