rfm-analizi
Müəllif: Alpay Abbaszadə /Tarix: 2022-01-31 /Oxunma Sayı: 1274

RFM Analizi

RFM  ANALİZİ

Bu yazıda RFM analizini basit bir anlatımla açıklamaya çalışacağım. Olayın kodlama kısmına değinmeyeceğim. RFM temelde zaten basit bir uygulama olmasına rağmen çoğu kişinin anlamakta zorluk çektiği bir müşteri segmentasyon analizidir.

 Recency — Yenilik (R) — Son satın alımdan bugüne kadar geçen süre
Frequency — Sıklık (F) — Toplam satın alım sayısı
Monetary — Parasallık (M) — Tüm satın alımların parasal toplamı

RFM analizinde öncelikle her müşteri için ayrı ayrı olarak R, F ve M değerleri hesaplanır ve sonda bunlar birleştirilerek RFM skoru oluşturulur. Bu skor üzerinden bir segmentasyon işlemi yapılır. Bu işlemlerin nasıl ilerlediğini anlamak için şimdi basit bir uygulama yapalım. Rastgele olarak bir veri seti oluşturalım. Diyelimki bir e ticaret sitesinden alış veriş yapan müşterileri segmentlere ayırarak onlara belirli kampanyalar teklif etmek istiyoruz. Veri setimizi hesaplamalar el ile yapılacağı için 12 müşteriden oluşturalım. R değerlerini oluşturmak için müşterinin en son alışveriş yaptığı günden bu güne kadar ne kadar zaman geçtiğini bulmamız lazım. Örneğin İD numarası 5 olan müşterimiz en son 25 ocak 2022 tarihinde alış veriş yapmış olsun. O zaman bu müşterimiz için

R skoru = (Güncel tarih) – (Son alışveriş tarihi)

Bu işlemi 12 müşterinin hepsi için yapıyoruz. Ardından F değerlerinin hesaplayalım. F değeri bir müşterinin ne sıklıkla alışveriş yaptığını gösterir. Örneğin elimize gelen veri setinde İD numarası 5 olan müşterinin 8 kere alışveriş yaptığını düşünelim. O zaman bu müşterinin F değeri 8 olarak bulunacaktır. Ve bu 8 alışverişde toplam harcadığı para miktarı ise bize M değerlerini gösterir. Şimdi bir tablo hazırlayalım ve R,F,M değerlerini rastgele olarak tabloya yerleştirelim.

Müşteri İD

R değeri

F değeri

M değeri

1

5

9

200$

2

3

3

150$

3

8

2

120$

4

7

5

100$

5

20

11

350$

6

11

2

80$

7

1

6

180$

8

15

3

155$

9

12

2

100$

10

6

7

380$

11

17

10

300$

12

13

8

300$

 

Şimdi elde ettiğimiz bu tabloyu dikkatle inceleyelim. Örneğin İD numarası 1 olan müşteriyi incelersek, en son 5 gün önce alışveriş yapmış(R değeri), şuana kadar siteden 9 defa alışveriş yapmış (F değeri) ve toplamda 200$ dolar harcamış (M değeri). Segmentasyon işlemini gerçekleştire bilmemiz için önce bulduğumuz değerleri skorlamamız lazım. Bu skorlamayı ben 1-4 aralığında yapacağım. Bunu yapmak için quantile yani çeyreklik metodundan yaralanacağım. Çeyreklik hesaplama için verilerimi küçükten büyüğe sıralamam gerek. Öncelikle R değerlerini sıralayalım ve R değerlerinin çeyrekliklerini hesaplayalım.

            Sıralanmış R değerleri  =  (1,  3,  5,  6 , 7 , 8, 11, 12, 13, 15, 17, 20)

Çeyreklik hesaplama aritmetik kural tabanlı kolay bir işlemdir. Çeyreklik hesaplarken verilerimizi sıraladıktan sonra yapacağımız işlem verinin medyanını (Ortanca değer) bulmak ve medyanın ayırdığı 2 verinin tekrar ayrı ayrı medyanlarını bulmaktır. O zaman medyan değerimizi bulmakla işe başlayalım. 12 tane ölçüm değerimiz var. O zaman medyan değerimiz (n+1)/2 formülünden 6.5ci değer olur. Bu değer 6 ve 7ci değerlerin arasında olduğuna göre veri setimizde 6 ve 7ci değerlerin aritmetik ortalaması bize bu veri setinin medyan değerini ve aynı zamanda 2ci çeyrek değerini verir. Veri setimizin Medyan değeri = (8+9)/2 = 9.5 olarak bulunur. Bu değer veri setimizi 2 eşit parçaya bölür. Medyan değerinden küçük veriler ve medyan değerinden büyük verilerin sayısı eşittir. Aynı işlemi bu ayrılan veri setlerinde de yaparak diğer çeyreklik değerlerini de kolaylıkla buluruz. Sonuç olarak çeyreklik değerlerimiz aşağıdaki gibi olur.

Q1 = (5+6)/2=5.5

Q2 = (8+9)/2 = 9.5

Q3 = (13+15)/2 = 14

Şimdi bulduğum bu çeyreklik değerlerini kullanarak R değerlerini R skorlarına dönüştüreceğim. Yapacağım işlem eğer benim veri setimde bulunan değer Q1 değerinden küçük ise onun R skoruna 1 değerini atarım, Q1 ve Q2 değerleri arasında bir değerse R skoruna 2 değerini atarım, Q2 ve Q3 arasında bir değerse R skoruna 3 değerini atarım ve Q3 değerinden büyükse R skoruna 4 değerini atarım şeklinde olacak.  Örneğin İD numarası 3 olan müşteriye bakalım. R değeri 8dir. Bu 8 değeri benim çeyrekliklerimden Q1 ve Q2 değerleri arasında yerleştiği için R skoru olarak 2 değeri atanır. Bu işlemi bütün müşteriler için yapıp bir tabloda gösterelim.

Müşteri ID

R değerleri

Yerleştiği çeyrek     aralığı

R skoru

1

5

5<Q1

1

2

3

3<Q1

1

3

8

Q1<8<Q2

2

4

7

Q1<7<Q2

2

5

20

20>Q3

4

6

11

Q2<11<Q3

3

7

1

1<Q1

1

8

15

15>Q3

4

9

12

Q2<12<Q3

3

10

6

Q1<6<Q2

2

11

17

17>Q3

4

12

13

Q2<13<Q3

3

 

Yapılan işlemin aynısı F ve M değerleri içinde yapılır ve skorlar bulunur. Yalnız burada dikkat edilmesi gereken nokta R skorunun aksine F ve M değerlerinde skor atama işlemi tersden yapılır. Yani Q3 değerinden büyük olanlar 4 değil de 1 değerini alır. Bunun sebebi R değerlerinde bizim için önemli nokta küçük olmasıyken  F ve M değerlerinde ise önemli nokta büyük olmasıdır. Yani R değerleri en son alışveriş yaptığı zamandan bugüne kadar geçen süreyi gösteriyor ve bu değer ne kadar küçük olursa o kadar iyidir. F ve M değerleri ise alışveriş sıklığı ve harcanan para miktarını gösterdiği için bu değerlerin büyük olması daha önemlidir. Yazının uzanmaması için bu hesaplamaları burada yazmayacağım. Ama siz isterseniz pratik olması açısından hesaplaya bilirsiniz. F ve M skorları bulunduktan sonra bu 3 değer birleştirilerek tek bir RFM skoruna atanır ve en son elimize aşağıdaki gibi bir tablo gelir.

Müşteri ID

R skoru

F skoru

M skoru

RFM skoru

1

1

1

3

113

2

1

3

3

133

3

2

4

3

243

4

2

3

4

234

5

4

1

1

411

6

3

4

4

344

7

1

2

2

122

8

4

3

3

433

9

3

4

4

344

10

2

2

1

221

11

4

1

2

412

12

3

2

2

322

 

Artık RFM skorlarına bakarak müşterilerimiz hakkında bilgiler edine biliriz. Örneğin ID numarası 5 olan müşterimiz bizden sıklıkla alışveriş yapan biri ama R skoru büyük olması onun uzun süredir alışveriş yapmadığını gösterir. Belirli stratejiler uygulayarak o müşterimizi geri kazana biliriz. Şimdi müşterilerimize sunacağımız kampanya için onları segmentlere ayırıp yazıyı sonlandıralım. Segmentlere ayırma işleminde de çeyreklik metodunu kullanacağım. Segmentlerim “PLATINIUM”, “GOLD”, “SILVER” ve “BRONZE” olarak 4 tane olsun. Müşteri RFM skorum,  RFM skorları üzerine hesapladığım çeyrek 1 değerinden küçük olursa “BRONZE”, çeyrek 1 ve çeyrek 2 arasında olursa “SILVER”, çeyrek 2 ve çeyrek 3 arasında olursa “GOLD” ve çeyrek 3den büyük olursa “PLATINIUM” müşteri olarak adlandıracağım. Çeyrek değerlerim aşağıdaki gibi olacaktır.

Q1 = 177

Q2 = 282.5

Q3 = 377.5

 

 

 

Müşteri ID

RFM skoru

Yerleştiği aralık

Segment

1

113

113<Q1

BRONZE

2

133

133<Q1

BRONZE

3

243

Q1<243<Q2

SILVER

4

234

Q1<234<Q2

SILVER

5

411

411>Q3

PLATINIUM

6

344

Q2<344<Q3

GOLD

7

122

122<Q1

BRONZE

8

433

433>Q3

PLATINIUM

9

344

Q2<344<Q3

GOLD

10

221

Q1<221<Q2

SILVER

11

412

412>Q3

PLATINIUM

12

322

Q2<322<Q3

GOLD

 

Artık RFM analizim sonlanmıştır. En son tabloya bakarak kampanyalarımı ona göre düzenleye bilirim. Örneğin PLATINIUM müşterilere en pahalı ürünlerimizi teklif ede biliriz. Umarım sıkıcı ve karışık bir yazı olmamıştır. Okuduğunuz için teşekkürler.

Paylaş: