Perakende sektöründe, farklı hipermarket zincirleri olağanüstü büyük miktarda veri üretmektedir. Bu veriler mağazalar genelinde günlük olarak oluşur. Bu kapsamlı müşteri işlem veritabanının, kârlı stratejiler tasarlamak için analiz edilmesi gerekir.
Tüm müşterilerin ihtiyaçları farklıdır. Müşteri tabanı ve işlem sayısı arttıkça, her bir müşterinin gereksinimlerini anlamak kolay değildir. Potansiyel müşterileri belirlemek, pazarlama kampanyasını iyileştirerek nihayetinde satışları artırabilir. Segmentasyon, bu müşterileri çeşitli segmentler halinde gruplamakta daha iyi bir rol oynayabilir.
Müşteri Segmentasyonu Nedir?
Müşteri segmentasyonu, müşterileri ortak özelliklere göre gruplara veya kümelere ayırma yöntemidir. Pazar araştırmacısı, B2C modelinde müşterileri; meslek, cinsiyet, yaş, konum ve medeni durum gibi çeşitli demografik özelliklere göre segmentlere ayırabilir. Sosyo-psikolojik özellikler olarak sosyal sınıf, yaşam tarzı ve kişilik özellikleri ile harcama, tüketim alışkanlıkları, ürün/hizmet kullanımı ve daha önce satın alınan ürünler gibi davranışsal özellikler de kullanılabilir. B2B modelinde ise şirket büyüklüğü, sektör türü ve konum gibi çeşitli şirket özellikleri kullanılır.
Müşteri Segmentasyonuna Neden İhtiyaç Var?
En potansiyelli müşterileri belirlemeye yardımcı olur.
Yöneticilerin hedef kitleyle daha kolay iletişim kurmasına yardımcı olur.
Ayrıca hedeflenen segmente iletişim için en iyi mecranın seçilmesine yardımcı olur.
Hizmet kalitesini, sadakati ve elde tutmayı artırır.
Segmentlerin ihtiyaçlarını daha iyi anlayarak müşteri ilişkilerini geliştirir.
Üst satış ve çapraz satış için fırsatlar sunar.
Yöneticilerin hedef müşteriler için daha fazla ürün almalarını teşvik edecek özel teklifler tasarlamasına yardımcı olur.
Şirketlerin rakiplerinden bir adım önde kalmasına yardımcı olur.
Müşterilerin ilgi duyabileceği yeni ürünlerin belirlenmesine de yardımcı olur.
Segmentasyon Türleri
RFM Analizi ile Müşteri Segmentasyonu
RFM (Recency, Frequency, Monetary) analizi, müşterileri segmentlere ayıran davranış temelli bir yaklaşımdır. Müşterileri önceki satın alma işlemlerine göre gruplar. Bir müşteri ne kadar yakın zamanda, ne sıklıkla ve ne kadar tutarda satın aldı? RFM, daha iyi hizmet sunma amacıyla müşterileri çeşitli gruplara ayırır. Yöneticilerin daha kârlı iş yapmak için potansiyel müşterileri belirlemesine yardımcı olur. Yüksek harcama yapan bir müşteri segmenti vardır, peki ya sadece bir kez mi satın aldılar ya da en son ne zaman satın aldılar? Ürünümüzü sık sık satın alıyorlar mı? Ayrıca, kişiselleştirilmiş hizmet için etkili bir promosyon kampanyası yürütmelerine yardımcı olur.
Recency (R): Son zamanlarda kim satın aldı? Son satın almadan bu yana geçen gün sayısı (daha az recency daha iyidir)
Frequency (F): Kim sık sık satın aldı? Toplam satın alma sayısı anlamına gelir (yüksek frequency)
Monetary Value (M): Kimlerin satın alma tutarı yüksek? Müşterinin harcadığı toplam para anlamına gelir (yüksek monetary value)
Burada, üç değişkenin (Recency, Frequency ve Monetary) her biri dört eşit gruptan oluşur ve bu da 64 (4x4x4) farklı müşteri segmenti oluşturur.
RFM (Recency, Frequency, Monetary) adımları:
Her müşteri için Recency, Frequency, Monetary değerlerini hesaplayın.
Çeyreklikleri kullanarak RFM tablosuna segment kutu değerlerini ekleyin.
Müşteri RFM skorunu artan sırada sıralayın.
1. Her müşteri için Recency, Frequency, Monetary değerlerini hesaplayın.
2. Çeyreklikleri kullanarak RFM tablosuna segment kutu değerlerini ekleyin.
3. Tüm skorları tek bir sütunda (RFM_Score) birleştirin.
Python ile RFM Kullanarak Potansiyel Müşteri Segmentlerini Belirleyin
Gerekli Kütüphanelerin İçe Aktarılması
#import modulesimport pandas as pd # for dataframesimport matplotlib.pyplot as plt # for plotting graphsimport seaborn as sns # for plotting graphsimport datetime as dt
Altyapı:
Veri Kümesini Yükleme
Önce pandas read CSV fonksiyonunu kullanarak gerekli İK veri setini yükleyelim. Veriyi bu bağlantıdan indirebilirsiniz.
data = pd.read_excel("Online_Retail.xlsx")Altyapı:
Bazen dağınık bir veri kümesi elde edersiniz. Analizinizi çarpıtacak yinelenen kayıtlarla uğraşmanız gerekebilir. python içinde, pandas tekrar eden veya mükerrer kayıtları düşüren drop_duplicates() fonksiyonunu sunar.
#Top ten country's customer
filtered_data.Country.value_counts()[:10].plot(kind='bar')Altyapı:
<matplotlib.axes._subplots.AxesSubplot at 0x7fd81725dfd0>Altyapı:
Verilen veri kümesinde, müşterilerin çoğunun "United Kingdom"dan olduğunu görebilirsiniz. Bu nedenle Birleşik Krallık müşterileri için veriyi filtreleyebilirsiniz.
pandas içindeki describe() fonksiyonu, çeşitli özet istatistikleri elde etmede kullanışlıdır. Bu fonksiyon, sayım, ortalama, standart sapma, minimum ve maksimum değerler ile verinin çeyrekliklerini döndürür.
Burada, bazı müşterilerin negatif miktarda sipariş verdiğini gözlemleyebilirsiniz; bu mümkün değildir. Bu nedenle, Quantity değerini sıfırdan büyük olacak şekilde filtrelemeniz gerekir.
Burada, RFM analizi için gerekli sütunları filtreleyebilirsiniz. Yalnızca beş sütuna ihtiyacınız var: CustomerID, InvoiceDate, InvoiceNo, Quantity ve UnitPrice. CustomerID müşterilerinizi benzersiz olarak tanımlar, InvoiceDate satın almanın yakınlığını (recency) hesaplamanıza yardımcı olur, InvoiceNo ise yapılan işlem sayısını (frequency) saymanıza yardımcı olur. Her işlemde satın alınan Quantity ve müşterinin satın aldığı her birimin UnitPrice değeri, toplam satın alma tutarını hesaplamanıza yardımcı olur.
En düşük recency, en yüksek frequency ve monetary tutarlarına sahip müşteriler en iyi müşteriler olarak kabul edilir.
qcut(), çeyreklik temelli ayrıştırma fonksiyonudur. qcut, veriyi örnek çeyrekliklerine göre kutulara yerleştirir. Örneğin, 4 çeyreklik için 1000 değer, her müşteri için çeyreklik üyeliğini belirten kategorik bir nesne üretir.
# Filter out Top/Best cusotmers
rfm[rfm['RFM_Score']=='111'].sort_values('monetary', ascending=False).head()Altyapı:
monetary
frequency
recency
r_quartile
f_quartile
m_quartile
RFM_Score
CustomerID
16754.0
372
2002.4
2
1
1
1
111
12346.0
325
77183.6
1
1
1
1
111
15749.0
235
44534.3
10
1
1
1
111
16698.0
226
1998.0
5
1
1
1
111
13135.0
196
3096.0
1
1
1
1
111
Sonuç
Tebrikler, bu eğitimin sonuna geldiniz!
Bu eğitimde Müşteri Segmentasyonu hakkında birçok ayrıntıyı ele aldınız. Müşteri segmentasyonunun ne olduğunu, müşteri segmentasyonuna neden ihtiyaç duyulduğunu, segmentasyon türlerini, RFM analizini ve Python’da sıfırdan RFM uygulamasını öğrendiniz. Ayrıca pandas’ın yinelenenleri ele alma, groupby ve örnek çeyrekliklere dayalı kutular için qcut() gibi bazı temel kavramlarını da gördünüz.
Umarız artık kendi veri kümelerinizi analiz etmek için konu modellemeden yararlanabilirsiniz. Bu eğitimi okuduğunuz için teşekkürler!
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Perakende sektöründe, farklı hipermarket zincirleri olağanüstü büyük miktarda veri üretmektedir. Bu veriler mağazalar genelinde günlük olarak oluşur. Bu kapsamlı müşteri işlem veritabanının, kârlı stratejiler tasarlamak için analiz edilmesi gerekir.
Tüm müşterilerin ihtiyaçları farklıdır. Müşteri tabanı ve işlem sayısı arttıkça, her bir müşterinin gereksinimlerini anlamak kolay değildir. Potansiyel müşterileri belirlemek, pazarlama kampanyasını iyileştirerek nihayetinde satışları artırabilir. Segmentasyon, bu müşterileri çeşitli segmentler halinde gruplamakta daha iyi bir rol oynayabilir.
Müşteri Segmentasyonu Nedir?
Müşteri segmentasyonu, müşterileri ortak özelliklere göre gruplara veya kümelere ayırma yöntemidir. Pazar araştırmacısı, B2C modelinde müşterileri; meslek, cinsiyet, yaş, konum ve medeni durum gibi çeşitli demografik özelliklere göre segmentlere ayırabilir. Sosyo-psikolojik özellikler olarak sosyal sınıf, yaşam tarzı ve kişilik özellikleri ile harcama, tüketim alışkanlıkları, ürün/hizmet kullanımı ve daha önce satın alınan ürünler gibi davranışsal özellikler de kullanılabilir. B2B modelinde ise şirket büyüklüğü, sektör türü ve konum gibi çeşitli şirket özellikleri kullanılır.
Müşteri Segmentasyonuna Neden İhtiyaç Var?
Segmentasyon Türleri
RFM Analizi ile Müşteri Segmentasyonu
RFM (Recency, Frequency, Monetary) analizi, müşterileri segmentlere ayıran davranış temelli bir yaklaşımdır. Müşterileri önceki satın alma işlemlerine göre gruplar. Bir müşteri ne kadar yakın zamanda, ne sıklıkla ve ne kadar tutarda satın aldı? RFM, daha iyi hizmet sunma amacıyla müşterileri çeşitli gruplara ayırır. Yöneticilerin daha kârlı iş yapmak için potansiyel müşterileri belirlemesine yardımcı olur. Yüksek harcama yapan bir müşteri segmenti vardır, peki ya sadece bir kez mi satın aldılar ya da en son ne zaman satın aldılar? Ürünümüzü sık sık satın alıyorlar mı? Ayrıca, kişiselleştirilmiş hizmet için etkili bir promosyon kampanyası yürütmelerine yardımcı olur.
Burada, üç değişkenin (Recency, Frequency ve Monetary) her biri dört eşit gruptan oluşur ve bu da 64 (4x4x4) farklı müşteri segmenti oluşturur.
RFM (Recency, Frequency, Monetary) adımları:
1. Her müşteri için Recency, Frequency, Monetary değerlerini hesaplayın.
2. Çeyreklikleri kullanarak RFM tablosuna segment kutu değerlerini ekleyin.
3. Tüm skorları tek bir sütunda (RFM_Score) birleştirin.
Python ile RFM Kullanarak Potansiyel Müşteri Segmentlerini Belirleyin
Gerekli Kütüphanelerin İçe Aktarılması
Veri Kümesini Yükleme
Önce pandas read CSV fonksiyonunu kullanarak gerekli İK veri setini yükleyelim. Veriyi bu bağlantıdan indirebilirsiniz.
Yinelenenlerin Kaldırılması
Bazen dağınık bir veri kümesi elde edersiniz. Analizinizi çarpıtacak yinelenen kayıtlarla uğraşmanız gerekebilir. python içinde, pandas tekrar eden veya mükerrer kayıtları düşüren drop_duplicates() fonksiyonunu sunar.
Hadi Veri İçgörülerine Geçelim
Verilen veri kümesinde, müşterilerin çoğunun "United Kingdom"dan olduğunu görebilirsiniz. Bu nedenle Birleşik Krallık müşterileri için veriyi filtreleyebilirsiniz.
pandas içindeki describe() fonksiyonu, çeşitli özet istatistikleri elde etmede kullanışlıdır. Bu fonksiyon, sayım, ortalama, standart sapma, minimum ve maksimum değerler ile verinin çeyrekliklerini döndürür.
Burada, bazı müşterilerin negatif miktarda sipariş verdiğini gözlemleyebilirsiniz; bu mümkün değildir. Bu nedenle, Quantity değerini sıfırdan büyük olacak şekilde filtrelemeniz gerekir.
Gerekli Sütunları Filtreleyin
Burada, RFM analizi için gerekli sütunları filtreleyebilirsiniz. Yalnızca beş sütuna ihtiyacınız var: CustomerID, InvoiceDate, InvoiceNo, Quantity ve UnitPrice. CustomerID müşterilerinizi benzersiz olarak tanımlar, InvoiceDate satın almanın yakınlığını (recency) hesaplamanıza yardımcı olur, InvoiceNo ise yapılan işlem sayısını (frequency) saymanıza yardımcı olur. Her işlemde satın alınan Quantity ve müşterinin satın aldığı her birimin UnitPrice değeri, toplam satın alma tutarını hesaplamanıza yardımcı olur.
RFM Analizi
Burada aşağıdaki işlemleri gerçekleştireceksiniz:
RFM Değerlerinin Çeyrekliklerinin Hesaplanması
En düşük recency, en yüksek frequency ve monetary tutarlarına sahip müşteriler en iyi müşteriler olarak kabul edilir.
qcut(), çeyreklik temelli ayrıştırma fonksiyonudur. qcut, veriyi örnek çeyrekliklerine göre kutulara yerleştirir. Örneğin, 4 çeyreklik için 1000 değer, her müşteri için çeyreklik üyeliğini belirten kategorik bir nesne üretir.
RFM Sonuçlarının Yorumlanması
Üç çeyrekliği (r_quartile, f_quartile, m_quartile) tek bir sütunda birleştirin; bu sıralama, müşterileri iyi gruplamanıza yardımcı olacaktır.
Sonuç
Tebrikler, bu eğitimin sonuna geldiniz!
Bu eğitimde Müşteri Segmentasyonu hakkında birçok ayrıntıyı ele aldınız. Müşteri segmentasyonunun ne olduğunu, müşteri segmentasyonuna neden ihtiyaç duyulduğunu, segmentasyon türlerini, RFM analizini ve Python’da sıfırdan RFM uygulamasını öğrendiniz. Ayrıca pandas’ın yinelenenleri ele alma, groupby ve örnek çeyrekliklere dayalı kutular için qcut() gibi bazı temel kavramlarını da gördünüz.
Umarız artık kendi veri kümelerinizi analiz etmek için konu modellemeden yararlanabilirsiniz. Bu eğitimi okuduğunuz için teşekkürler!
Daha fazla Python öğrenmek isterseniz, DataCamp’in ücretsiz Intro to Python for Data Science kursunu alın.