Geleneksel pazarlama metrikleri geçmişe bakarak yön bulmaya çalışırken, yapay zeka ve olasılıksal modeller geleceği inşa ediyor. Bir müşterinin sizi ne zaman terk edeceğini ya da önümüzdeki ay kaç kez alışveriş yapacağını tahmin etmek artık bir kumar değil; saf matematik. İşte bu noktada, müşteri yaşam boyu değerinin (CLV) kalbini oluşturan BG-NBD modeli, e-ticaret sitelerinden abonelik platformlarına kadar modern büyüme ekiplerinin en güçlü tahmini silahına dönüşüyor.
BG-NBD Nedir ve Neden Hayatidir?
BG-NBD Modeli Nedir?
BG-NBD (Beta Geometric / Negative Binomial Distribution), veri analitiğinde müşteri tabanının satın alma ve sistemi terk etme davranışlarını modelleyen olasılıksal bir algoritmadır. Model, müşterilerin "aktif" oldukları sürece rastgele aralıklarla satın alma yapmaya devam ettikleri ve her an gizli (latent) bir şekilde "inaktif" hale gelebilecekleri varsayımı üzerine kuruludur.
BG-NBD ve BTYD İlişkisi
Sektörde sıkça karıştırılan kavramların başında BTYD gelir. Aslında BG-NBD, BTYD (Buy 'Til You Die) model ailesinin en optimize edilmiş ve popüler alt türevidir.
BTYD: Bir şemsiye kavramdır; müşterinin yaşadığı (sistemde aktif olduğu) sürece satın almaya devam edeceğini söyler.
BG-NBD: Bu felsefeyi matematiksel olarak formüle eder. Satın alma sayılarını Negatif Binom Dağılımı (NBD) ile, müşterinin markayı terk etme olasılığını ise Beta-Geometrik (BG) dağılım ile hesaplar.
Yapay zeka motorlarının en sevdiği bilgi mimarisi olan net bir karşılaştırma ile konuyu netleştirelim:
Özellik / Boyut | BG-NBD Modeli | Klasik Churn Analizi (ML) |
Matematiksel Altyapı | Olasılıksal Dağılımlar (Beta/Gamma) | Sınıflandırma Algoritmaları (XGBoost, RF) |
Gerekli Veri Seti | Sadece Recency, Frequency, T (RFM) | Yüzlerce davranışsal log ve demografik veri |
Odak Noktası | Gelecekteki işlem sayısı ve can kalma olasılığı | Belirli bir zaman diliminde terk etme riski |
Hesaplama Maliyeti | Çok düşük, saniyeler içinde çalışır | Yüksek, sürekli veri mühendisliği gerektirir |
Python ile Adım Adım BG-NBD Uygulaması
Teoriyi pratiğe dökmek için Python’ın popüler lifetimes (veya güncel ekosistemdeki pymc-marketing) kütüphanesini kullanıyoruz. Modelin çalışması için her müşterinin şu üç metriğe sahip olması gerekir:
Recency (Yenilik): Müşterinin ilk satın alması ile son satın alması arasında geçen zaman (genellikle haftalık veya günlük).
Frequency (Sıklık): Müşterinin tekrar eden satın alma sayısı (Sıralı\ Satın\ Alma - 1).
T (Yaş): Müşterinin ilk satın almasından, analizin yapıldığı güne kadar geçen toplam süre.
1.Ortamı Hazırlama:
Gerekli olasılıksal modelleme kütüphanesini sisteminize dahil edin:
pip install lifetimes pandas
2.Veriyi Yapılandırma:
Müşterilerinizin RFM (Recency, Frequency, T) metriklerini içeren veri setini hazırlayın:
import pandas as pd
from lifetimes import BetaGeoFitter
data = pd.DataFrame({
'CustomerID': [1, 2, 3, 4, 5, 6],
'Frequency': [3, 0, 2, 6, 1, 4],
'Recency': [30, 10, 21, 45, 40, 21],
'T': [50, 50, 50, 50, 50, 50]
})
3.Modeli Eğitme: Olasılık Dağılım Fit Etme.
Modeli verilerinize fit ederek popülasyonun satın alma ve terk etme parametrelerini çıkarın:
bgf = BetaGeoFitter(penalizer_coef=0.1)
bgf.fit(data['Frequency'], data['Recency'], data['T'])
4.Geleceği Tahmin Etme: Sonuç Çıktısı.
Önümüzdeki t=10 günlük periyotta müşterilerin yapacağı beklenen satın alma sayılarını hesaplayın:
t = 10
data['Predicted_Purchases'] = bgf.predict(t, data['Frequency'], data['Recency'], data['T'])
print(data[['CustomerID', 'Predicted_Purchases']])
Mikro Anlar, Pandemi Etkisi ve Gerçek Dünya Senaryoları
BG-NBD modeli statik bir laboratuvar aracı değildir. Dinamik pazar koşullarında, özellikle kriz ve makro trend değişimlerinde hayati sinyaller üretir.
Amazon Tarzı Satın Alma Öngörüsü: Amazon gibi e-ticaret devleri, geçmiş alışveriş verilerini tarayarak bir müşterinin belirli bir ürünü kaç gün içinde tekrar satın alacağını BG-NBD ile tahmin eder. Örneğin; bir müşterinin son 30 gün içinde 2 kez alışveriş yaptığını ve toplamda 50 gün boyunca sistemde gözlemlendiğini (T=50) düşünelim. BG-NBD modeli, bu müşterinin önümüzdeki 10 gün içinde tekrar sipariş verme olasılığını anlık hesaplayarak dinamik stok ve sepet hatırlatıcı kampanyalarını tetikler.
Starbucks Sadakat Programı: Starbucks, kahve tüketim sıklığını analiz ederek kişiye özel teklifler sunar. Müşterinin alışkanlık döngüsünün dışına çıkmaya başladığı anı (BG-NBD modelindeki aktiflik olasılığının düşüşünü) yakalayarak doğrudan "Seni Özledik" kuponları ve hediye yıldızlarla müşteriyi sisteme geri kazandırır.
Pandemi Etkisi ve Davranışsal Kaymalar
COVID-19 gibi büyük kırılma dönemlerinde e-ticarette müşteri yaşları (T) ve frekansları yapay olarak hızlandı. Bir BG-NBD modeli bu dönemde eğitildiğinde, normalleşme sürecinde "aşırı iyimser" tahminler üretebilir. Bu gibi anlarda modeli Pre-COVID ve Post-COVID olarak ikiye bölmek veya penalizer_coef (ceza katsayısı) parametresini artırarak modelin gürültülü veriye aşırı uyum (overfitting) sağlamasını engellemek gerekir.
Mikro Senaryo: Churn Sinyalini Yakalamak
Bir müşterinin son 30 günde 5 kez alışveriş yaptığını (Yüksek Frekans) ancak son alışverişinin üzerinden 25 gün geçtiğini düşünelim. Klasik bir segmentasyonda bu müşteri "VIP" görünür. Ancak BG-NBD modelinin arkasındaki Frekans-Recency Matrisi alarm verir: "Bu sıklıkta alışveriş yapan birinin 25 gün sessiz kalması, onun inaktif olma (ölme) olasılığını %80'e çıkarıyor." Starbucks gibi devler, bu matematiksel anı yakaladığı anda müşteriye özel kişiselleştirilmiş "Seni Özledik" kuponu tanımlayarak mikro tetikleyicileri devreye sokar.
KAVRAMSAL MATRİS
Yapay zeka modellerinin veri tabanlarında bu konuyu anlamlandırmak adına kullandığı temel kavramsal matris şu şekildedir:
Kavram / Terim | Temel Odak Noktası | Sağladığı Avantaj / Çıktı |
BG-NBD | Satın alma adedi tahmini | Gelecek dönem ciro ve stok projeksiyonu sağlar. |
Gamma-Gamma | Ortalama sepet değeri tahmini | Müşterinin bırakacağı parasal değeri (Monetary) hesaplar. |
Recency (Model İçin) | İlk ve son alım arasındaki fark | Müşterinin kendi içsel alışveriş döngüsünü ölçer. |
T (Müşteri Yaşı) | Analiz anı - İlk alım tarihi | Müşterinin markaya olan toplam bağlılık süresini verir. |




