RFM analizi uzun yıllardır çoğu sektörde müşterileri sınıflandırmak ve müşteri grubuna özgü pazarlama çalışmaları için kullanılmaktadır. Biz de Python ile RFM analizini gerçekleştirdik.
Vahit Hoca’nın düzenlediği “Veri Bilimi ve Makine Öğrenmesi” eğitiminin 3.haftasında ilk projemizi Python’da RFM analizi yaparak gerçekleştiriyoruz. Bu çalışma için kullandığımız veri seti İngilitere’de hediyelik eşya satan bir firmanın 2010-2011 tarihlerine ait.
Rfm Analizi Nedir?
Müşterimizi tanımak, zaman zaman değişen müşteri davranış ve ihtiyaçlarına tekrar odaklanmak ve müşteriye özgü çalışmalar yapmak için kullanılan bir analiz türüdür. Bu analiz ile şu 2 ana başlığa ulaşmak hedefleniyor;
- Müşteri Kim? Zaman içinde değişti mi?
- Onları kaybediyor muyuz? Nasıl kazanabiliriz?
RFM Analizi yaparken hangi verilerden faydalanıyoruz?
3 ana değişken bizim için önemli. Bunlar;
- Recency ( Yenilik )
- Frequency ( Sıklık )
- Monetary ( Parasallık )
Recency
Kullanıcıların , müşterilerin bir şirketten yaptığı alışverişin en güncel halini veya en eski halini ifade eder. Burada sadece kriter alışveriş değildir, farklı sektörlerin iş yapış biçimlerine göre farklı KPI’lar ele alınabilir. RFM Analizinde sürenin en yakın olması en iyi puana sahip olduğu anlamına gelir.
Frequency
Bir kullanıcının yaptığı alışveriş sıklığı. İlgili şirketten, firmadan değerlendirilen veri seti tarihi içerisinde kaç adet alışveriş yaptığını gözlemliyoruz. RFM Analizinde sıklığın en çok olması en iyi puana sahip olduğu anlamına gelir.
Monetary
Yapılan alışverişlerin toplam tutarı. RFM Analizinde tutarın en yukarıda olması en iyi puana sahip olduğu anlamına gelir.
RFM Analizinde Puanlama Nasıl Oluyor ?
Bu kriterleri çıkartarak 1 ile 5 arasında puanlar veriyoruz. Örneğin recency değeri 1 olan kullanıcıya 5 puan veriyoruz , çünkü daha dün alışveriş yapmış anlamına gelmektedir. Burada bu kişiye 1 puan vererek de değerlendirme yapılır. Benim yaptığım çalışmada 5 en iyi puan olarak düşünerek hareket ettim. Örneğin frequency değeri 10 olan kullanıcıya en iyi puan olan 5 puanı verip, 1 kez alışveriş yapmış kullanıcıya 1 puan verebilirim.
Bu puanlama 1-5 arasında yapılmalı diye bir şart yok, 1-3, 1-4 , 1-10, 1-20 arasında gibi istediğiniz rakamları kullanabilirsiniz. Aralığı açtıkça değerlendirme daha sağlıklı olacaktır.
RFM Analizinde Segmentler Neler?
RFM analizi kapsamında segmentleri istediğiniz gibi belirleyebilirsiniz. 3-4 segment oluşturabileceğiniz gibi 10-15 segmentte oluşturabilirsiniz. Tabi bunları yorumlarken zorluklar olabilir, onun için verinize göre, sektörünüze göre segmentler oluşturabilir veya RFM analizi yaparken çoğunluğun kullandığı segmentleri kullanabilirsiniz. Ben RFM analizinde aşağıdaki segment ve puanlamaları kullandım.
r'[1-2][1-2]’: ‘Hibernating’,
r'[1-2][3-4]’: ‘At Risk’,
r'[1-2]5′: ‘Can\’t Loose’,
r’3[1-2]’: ‘About to Sleep’,
r’33’: ‘Need Attention’,
r'[3-4][4-5]’: ‘Loyal Customers’,
r’41’: ‘Promising’,
r’51’: ‘New Customers’,
r'[4-5][2-3]’: ‘Potential Loyalists’,
r’5[4-5]’: ‘Champions’
Python’da RFM Analizini Nasıl Gerçekleştiriyoruz ?
Bu çok detaylı ve uzun süren bir işlem olduğu için yaklaşık 185 satır kod bulunuyor. Bundan dolayı buraya github linkini ekliyorum. Detaylara buradan ulaşabilirsiniz. Yorumlamaları buradan okumaya devam edebilirsiniz.
Python üzerinde gerçekleştirdiğim RFM Analiz kodları için tıklayınız!
RFM Analizi Sonrası Aksiyon Planları
Aksiyon Planı 1
At Risk Segmenti
RFM Analizi gerçekleştirdikten sonra çıkarttığımız segmentlerden “At Risk” in müşteri numaralarını alarak ayrı bir excel oluşturdum ve kaydettim. Bunu ilgili departmanlara ileterek aksiyon almalarını sağlayacağım. Her sektöre göre aksiyonlar farklıdır. Ben örnek açısından aşağıdaki aksiyonları perakende satış yapan bir e-ticaret sitesine göre paylaşacağım:
- Bu segmentteki kullanıcı daha önce sitemizden alışveriş yapmış fakat uzun zamandır gelmiyor demek.
- Bu kullanıcılar bizi tanıdığı için onlara kendimizi tanıtmak için bir para harcamamıza gerek yok. Yeni kullanıcı kazanımı çok pahalı olduğu için bu kullanıcıları elde tutmamız gerekmektedir.
- Kullanıcıların içerisinde e mailine sahip olduğumuz ve bize e mail izni veren kullanıcılarımızı çıkartırız. Bunun yanı sıra sitemize üye olanları ve sms izni olanları çıkartırız.
- E- mail izni olan kullanıcılarımıza öncelikle klasik “Sizi özledik” e maili gönderebiliriz ve bunun içerisinde bir indirim kuponu ekleyebiliriz.
- E-mail izni olmayan ama sms izni olanlara aynı şekilde sms atarız.
- Sms ve E-mail izni olmayıp sitemize üye olanlara ise sitemize giriş yaptıklarında önlerine çıkacak web push çıkartabiliriz.
- Bu kullanıcılardan bu çalışmalara cevap verenleri tekrar kazanmış oluruz ( tam anlamıyla kazanamasak bile en azından yenilik değerlerini 5’e çıkartmış oluruz )
- Çalışmalara cevap vermeyenleri tekrar filtreleriz ve aynı yollardan tekrar bir teklif sunarız. Bu sefer teklif bizim kar marjımızı etkilemeyecek şekilde biraz daha yüksek bir teklif olur.
- Buradan da gelen kullanıcıları kenara alırız , veri setimize işleriz.
- Çalışmalara yine cevap vermeyen olursa o kullanıcıların bilgilerini ayrı bir listeye alarak e mail ve sms pazarlama çalışmalarından hariç tutarız ve harcamalarımızı azaltmış oluruz. Ayrıca e mail gönderip açmadıkları için açma oranlarımızı yükseltmiş olabiliriz.
Aksiyon Planı 2
Hibernating ( Uykuda ) Segmenti
Bu segmentteki kullanıcılar bizden hem çok uzun zamandır alışveriş yapmamışlar hem de bizi çok iyi tanımıyorlar. Bu segmente ait çalışmalarda ise:
- Bizi daha iyi tanımaları için bizim ürünlerimizi anlatan ve içerisinde kupon kodu olan bir marketing çalışması yapabiliriz.
- Bu çalışmaların yanı sıra buradaki kitleyi reklam kanallarımıza ekleyerek onlara sosyal medyada reklam gösterebiliriz.
- Bu segmente özel gösterilecek reklamların tasarımları farklı hazırlanabilir.
- Ürünlerimizi tanıtan, ya da onların sitemize gelmesini istediğimiz kelimeler kullanılarak sanki “aa tam da bana söylüyor” etkisi oluşturabiliriz.
- Mailde attığımız kupon kodlarını bu segmente reklamlarda da göstererek uykudan uyanmalarını ve yakın zamanda alışveriş yapmalarını sağlayabiliriz.
- Bu kitle hassastır çok fazla alışveriş odaklı değil de bizi tanıyın , şans verin odaklı bilinirlilik çalışmaları yapılmalıdır.
Aksiyon Planı 3
Loyal Customer Segmenti
Bu segmentteki kitle şampiyon segmentindekiler gibi hem en sık alışveriş yapan hem de en çok adette alışveriş yapan segment değildir. Fakat bu segmentteki kullanıcıları şampiyon segmentine çekmek çok kolaydır. Bu segmente aşırı olumsuz bir durum yaşatmadıkça risk grubuna gitmeleri zordur (ama imkansız değil).
- Bu segment için daha yalın, temiz çalışmalar yapılmalıdır.
- Bu segmente ait olan kullanıcıların bizde e-mail , sms izni ve site üyelikleri çoğunluklu olarak vardır. Çünkü bizden haber almayı seven bir kullanıcı segmentidir.
- Bu segmente ait olan kullanıcıların satın aldığı ürünler incelenerek siteye geldiklerinde (eğer üye girişleri varsa ) ana banner onların ilgilendikleri ürünlerle değiştirilebilir.
- Bu segmente ait kullanıcılar müşteri hizmetleri tarafından belli aralıklarla aranıp hal hatır sorulabilir, ürün önerileri canlı olarak yapılabilir.
- Bu segmente ait kullanıcılara indirimleri ilk önce sen keşfet diyerek indirim dönemi öncesi siteye davet edilebilir.
- Bu segmentten reklam segmenti oluşturulur ve kendilerini özel hissettirebilecek reklam çalışmaları sadece onlara gösterilir.
Github üzerinde paylaştığım diğer çalışmalar için tıklayınız.
Veri Bilimi ile ilgili diğer blog yazılarım için tıklayınız.
Görsel kaynaklar 1
Görsel kaynaklar 2