SQL ve Makine Öğrenimi ile Müşteri Kaybı Risk Değerlendirmesi

Son Güncelleme: 04/15/2026
  • Amazon Redshift ML ve lojistik regresyon gibi SQL merkezli platformları kullanarak müşteri kaybı ve risk modellerini doğrudan veri ambarınızda eğitin ve dağıtın.
  • İşlemlerden ve web olaylarından davranış tabanlı özellikler geliştirin, ardından denetimli öğrenme için net müşteri kaybı etiketleri tanımlayın (örneğin, 90 gün hareketsizlik).
  • Müşteri kaybına uygun ölçütler (AUC-ROC, hassasiyet, geri çağırma ve F1 gibi) kullanarak modelleri değerlendirin ve hiperparametre ayarlaması ve dengesizlik giderme yoluyla bunları iyileştirin.
  • Müşterileri geniş ölçekte puanlamak, risk altındaki segmentlere öncelik vermek ve yüksek yatırım getirisi sağlayan, veriye dayalı müşteri sadakatini artırmaya yönelik eylemler gerçekleştirmek için SQL'de model fonksiyonlarını kullanıma sunun.

SQL ile müşteri kaybı risk değerlendirmesi

Müşteri kaybı, sessizce kârı öldüren faktörlerden biridir. Eğer doğru ölçüm yapmaz ve zamanında harekete geçmezseniz, bu durum büyümeyi yavaş yavaş aşındırır. İyi haber şu ki, bugün klasik makine öğrenimi tekniklerini, yönetilen bulut hizmetlerini ve çok pratik iş metriklerini birleştirerek, veri ambarınızın üzerinde doğrudan SQL ile sağlam müşteri kaybı risk modelleri oluşturabilirsiniz.

Bu kılavuz, SQL kullanarak müşteri kaybı risk değerlendirmesini baştan sona ele almaktadır. Farklı senaryolarda: Amazon Redshift ML ve Amazon SageMaker kullanarak saf SQL ile modeller eğitmekten, web etkinlikleri üzerinde lojistik regresyon müşteri kaybı modelleri oluşturmaya, Python tabanlı iş akışlarından ilham alan hiperparametre ayarlama ve dengesiz verileri (müşteri kaybı vs. müşteri kaybı olmayan veriler) ele alma gibi daha gelişmiş tekniklere kadar. Amaç, pazarlama, müşteri başarısı ve finans ekiplerinizin gerçekten kullanabileceği eyleme geçirilebilir risk puanlarına ham verilerden nasıl geçileceğini ayrıntılı olarak göstermektir.

SQL ile müşteri kaybı risk değerlendirmesinin işletmeniz için önemi nedir?

Hangi müşterilerin ayrılma olasılığının yüksek olduğunu tahmin etmek, en yüksek yatırım getirisi sağlayan kullanım alanlarından biridir. Uygulamalı makine öğrenimi ve analitik için. Bir müşteriyi kaybetmek genellikle onu elde tutmaktan çok daha pahalıdır ve elde tutmada küçük iyileştirmeler bile gelir ve uzun vadeli karlılık üzerinde orantısız bir etkiye sahiptir.

SQL bu yolculukta merkezi bir rol oynuyor. Çünkü işlem, davranış ve müşteri verilerinin çoğu zaten veritabanlarında ve bulut veri ambarlarında bulunuyor; veri depolama sistemlerine genel bakış Bu, bunların nasıl kullanılacağını anlamaya yardımcı olur. Ekipleriniz müşteri kaybı modellerini doğrudan SQL'den oluşturabilir, eğitebilir ve dağıtabilirse, sürekli veri dışa aktarımlarından, araç değiştirme işlemlerinden ve karmaşık mühendislik süreçlerinden kaçınarak değer yaratma süresini önemli ölçüde azaltırlar.

Modern bulut platformları, analitik ve makine öğrenimi arasındaki çizgiyi giderek bulanıklaştırıyor.Amazon Redshift ML gibi hizmetler, veri analistlerinin ve geliştiricilerin tanıdık SQL ifadelerinden makine öğrenimi modelleri oluşturmasına, eğitmesine ve kullanmasına olanak tanırken, arka planda Amazon SageMaker ve SageMaker Autopilot gibi tamamen yönetilen hizmetlere güvenmeye devam etmelerini sağlar. Bu, tam zamanlı bir makine öğrenimi mühendisi olmadan müşteri kaybı modelleri oluşturabileceğiniz anlamına gelir.

Teknolojiye ek olarak, müşteri kaybı analizi iş gerçekliğiyle sıkı bir şekilde bağlantılı kalmalıdır.“Aktif” müşteriyi nasıl tanımladığınız, hangi sinyallerin risk gösterdiği, hangi hareketsizlik eşiğinin önemli olduğu (30, 60, 90 gün…) ve öngörülen riske bağlı olarak müşteri sadakatini artırma kampanyalarına ne kadar yatırım yapmaya istekli olduğunuz konularını ele alacağız. Ele alacağımız teknikler, bankacılık, telekomünikasyon, SaaS, e-ticaret ve daha birçok farklı sektöre uyum sağlayacak kadar esnektir.

Amazon Redshift ML kullanarak SQL ile müşteri kaybı ve risk modelleri oluşturma

Amazon Redshift ML, makine öğrenimini verilerinizin zaten bulunduğu yere nasıl entegre edebileceğinize dair harika bir örnektir.Bu özellik, Amazon Redshift içinde SQL komutlarını kullanarak modeller oluşturmanıza, eğitmenize ve dağıtmanıza olanak tanırken, Amazon SageMaker arka planda ağır işleri halleder.

Pratikte, Redshift ML eğitilmiş modelinizi bir SQL fonksiyonu olarak sunar. Bu sayede sorgularda, gösterge panellerinde ve ETL işlerinde bu fonksiyonları kullanabilirsiniz. Müşteri kaybı ve risk yönetimi kullanım durumları için bu, "yüksek riskli müşteri", "kredi temerrüt olasılığı" veya "müşteri kaybı olasılığı" gibi tahminleri standart raporlama ve veri işlem hatlarınıza sorunsuz bir şekilde entegre edebileceğiniz anlamına gelir.

Arka planda Redshift ML, Amazon SageMaker Autopilot'a dayanmaktadır.Otopilot, birden fazla algoritmayı ve hiperparametreyi otomatik olarak keşfeder, aday modelleri eğitir ve ayarlar ve hedefiniz ve verileriniz göz önüne alındığında en iyisini seçer. Tam görünürlük ve kontrol sizde kalır, ancak düşük seviyeli makine öğrenimi altyapısının çoğunu atlarsınız.

Sonuç olarak, tanıdık bir geliştirici deneyimi elde ediliyor.Redshift tablolarınızın üzerine bir SQL CREATE MODEL ifadesi yazarsınız, ara dosyalar için bir S3 kovasına işaret edersiniz ve eğitim tamamlandığında, veri ambarınız genelinde büyük ölçekte çıkarım yapmak için kullanılabilecek bir SQL skalar fonksiyonu elde edersiniz.

Uçtan uca örnek: Redshift'te kredi riski ve müşteri kaybı benzeri tahmin.

Kavramları somutlaştırmak için, finansal riske dayalı somut bir örnek üzerinden ilerleyelim.Bu durumda hedef değişken kredi riski (yüksek veya düşük) olsa da, iş akışı klasik müşteri kaybı tahminine tamamen benzer: etiketlenmiş geçmiş verileriniz var, ikili bir sınıflandırıcı eğitiyorsunuz ve ardından yeni veya mevcut müşterileri talep üzerine puanlıyorsunuz.

Örnek veri seti UCI Makine Öğrenimi Deposundan alınmıştır. ve her biri finansal profili ve kurumla olan ilişkisiyle ilgili 14 özelliği içeren bir banka müşterisini tanımlayan 1,001 kayıttan oluşmaktadır. Modern standartlara göre mütevazı bir boyutta olsa da, ham verilerden dağıtılmış SQL modeline kadar olan süreci göstermek için yeterlidir.

Bu veri setindeki temel özellikler (nitelikler) hem demografik hem de finansal davranışları kapsamaktadır.:

  • mevcut kontrolMevcut cari hesabın durumu.
  • süre: İlişkinin veya kredi süresinin ay cinsinden uzunluğu.
  • kredi tutarıTalep edilen kredi tutarı.
  • tasarruf: mevcut tasarruf seviyesi.
  • istihdam: Mevcut istihdam süresi.
  • seksMüşterinin cinsiyeti.
  • durumEvlilik durumu.
  • yaş: Müşteri yaşı.
  • konutKonut durumu (ev sahibi, kiracı vb.).
  • mevcut krediler: Mevcut kredi sayısı.
  • İş durumu.
  • iş türü: iş türü.
  • bakmakla yükümlü: bakmakla yükümlü olunan kişi sayısı.
  • risk: hedef değişken; müşterinin yüksek riskli olarak değerlendirilip değerlendirilmediğini gösterir.

Hedef değişken olan risk, ikili bir değişkendir.Dolayısıyla bu klasik bir ikili sınıflandırma problemidir. Risk = TRUE ifadesini, proaktif olarak hareket edebilmek için ödeme yapmama veya ayrılma olasılığı yüksek olan müşterileri belirlemek istediğiniz bir müşteri kaybı etiketi olarak düşünebilirsiniz.

Veri kümesinin küçük olmasına rağmen, kurulum gerçek dünyadaki bir makine öğrenimi iş akışını yansıtıyor.: Verileri yine de eğitim ve çıkarım kümelerine ayırırsınız, Redshift'te uygun bir şema tanımlarsınız, eğitim verileri ve yapıtlar için bir S3 kovası oluşturursunuz ve S3 ve SageMaker'a erişime sahip bir IAM rolü yapılandırırsınız. Üretimde, bunu daha fazla satır ve daha zengin özellik kümeleriyle ölçeklendirmeniz yeterlidir.

Redshift ortamını ve verilerini hazırlamak

Herhangi bir modeli eğitmeden önce, Redshift kümesinin ve izinlerinin doğru şekilde ayarlanmış olduğundan emin olmalısınız.Küme oluşturma işlemini AWS Yönetim Konsolu üzerinden yapabilir veya ağ ve güvenlik yapılandırmasını otomatikleştiren bir CloudFormation şablonu kullanabilirsiniz.

Konsol üzerinden kaynak tahsis ederken, genellikle bir düğüm türü ve sayısı seçersiniz. (Örneğin, demo için iki düğümlü dc2.large), bir veritabanı portu, ana kullanıcı adı ve şifresi belirleyin ve en önemlisi, eğitim ve çıkarım CSV dosyalarınızın bulunduğu S3 kovasına kümenin erişimini sağlayan bir IAM rolü ekleyin.

Eğer altyapıyı kod olarak yönetmeyi tercih ediyorsanız, bir CloudFormation şablonu Redshift kümesini başlatabilir. Güvenlik grupları, alt ağ grubu ve IAM rolüyle birlikte tek seferde yönetilir. Müşteri kaybı risk modellemesi açısından önemli olan, kümenin belirlenen S3 kovasına veri okuyup yazabilmesidir.

Küme çalışmaya başladıktan sonra, Redshift Sorgu Düzenleyicisine geçersiniz.Oradan veritabanına bağlanır, kimlik bilgilerinizi doğrularsınız ve iki tablo oluşturarak işe başlarsınız: biri eğitim için (geçmişte etiketlenmiş müşteriler) ve diğeri çıkarım için (daha sonra model performansını test etmek için kullanacağınız kayıtlar).

Eğitim tablosu şeması, CSV yapısını büyük ölçüde yansıtmaktadır.:

  • Mevcut hesap durumu, tasarruflar, işe başlama tarihi, cinsiyet, statü, konut, iş ve iş türü gibi özellikler için metin sütunları.
  • Süre, kredi tutarı, yaş, mevcut krediler ve bakmakla yükümlü olunan kişiler için sayısal sütunlar.
  • Tahmin edilecek hedef olarak kullanılan bir Boolean sütun riski.

Veri yükleme işlemi Redshift COPY komutu aracılığıyla gerçekleştirilir.IAM rolünü kullanarak S3'ten veri çeken bu komut, CSV formatını, başlık işlemeyi ve ayırıcıyı belirtir ve hem eğitim hem de çıkarım tablolarını doldurur. COPY işlemleri başarılı olduktan sonra, tabloları ve satır sayılarını doğrulamak için düzenleyicideki nesne ağacını kontrol edebilirsiniz.

SQL kullanarak Redshift ML modeli oluşturma ve eğitme

Veriler hazır olduğunda, bir sonraki adım CREATE MODEL ifadesi kullanarak bir Redshift ML modeli eğitmek olacaktır.İşte bu noktada SageMaker Autopilot, ikili sınıflandırma probleminiz için birden fazla aday algoritmayı ve hiperparametreyi test etmek üzere arka planda devreye giriyor.

CREATE MODEL komutu, ilgili tüm tahminleyici sütunlarını seçer. `risk_prediction_training` tablosundan, risk sütununu HEDEF olarak belirler ve daha sonra veri ambarınız üzerinde çıkarım yapmak için kullanılacak SQL fonksiyonunun adını tanımlar.

İki temel ayar gereklidir: IAM_ROLE ve S3_BUCKETIAM rolünün S3 kovasından listeleme ve okuma iznine sahip olması gerekir ve S3 kovası Redshift ve SageMaker tarafından eğitim verileri ve model yapıtlarını değiş tokuş etmek için kullanılır. Ayrıca, Autopilot'ın deneme yapmasına izin verilen süreyi sınırlamak için saniye cinsinden bir MAX_RUNTIME belirtebilirsiniz.

İlk kez ilişki kurarken güven sorunlarıyla karşılaşmak yaygın bir durumdur.Eğer SageMaker, Redshift kümenizle ilişkili IAM rolünü üstlenemezse, CREATE MODEL komutu başarısız olur. Bu durumda, rolün güven politikasını sagemaker.amazonaws.com'u güvenilir bir hizmet sorumlusu olarak içerecek şekilde ayarlamanız gerekir.

Aynı isimde daha önce bir model varsa, onu silebilirsiniz. Modeli yeniden oluşturmadan önce DROP MODEL komutunu kullanın. Bu, ortamınızı eski modellerle kirletmeden modelleme stratejinizi yinelemenize veya ayarları değiştirmenize olanak tanır.

Redshift makine öğrenimi modelinin eğitimini izleme ve doğrulama

Eğitim süresi, veri boyutuna ve çalışma süresi sınırlarına bağlı olarak değişecektir.Ancak örnek kredi riski veri seti için yaklaşık bir saat sürebilir. Bu süre zarfında, model adıyla SHOW MODEL komutunu çalıştırarak model durumunu ve meta verilerini kontrol edebilirsiniz.

DEFİLE önemli bilgiler açıklıyor Eğitim durumu (örneğin, EĞİTİM, HAZIR), seçilen algoritma, objektif ölçüt ve doğrulama puanları gibi bilgiler. İkili sınıflandırma için en önemli ölçütlerden biri genellikle 0 ile 1 arasında değişen ve hassasiyet ile geri çağırmayı dengeleyen F1 puanıdır.

Modelin durumu HAZIR olduğunda, tahmin performansını değerlendirmeye başlayabilirsiniz. Modelin eğitim sırasında hiç görmediği ayrı bir çıkarım veri kümesi kullanılıyor. Bu, yeni müşterilerin anlık olarak puanlandırıldığı gerçek dünya senaryosunu yansıtıyor.

İlk ve en basit kontrol, genel doğruluğu hesaplamaktır.Bunu, şu adımları izleyen bir SQL sorgusu çalıştırarak yaparsınız: gerçek risk etiketini çıkarır, tahmin edilen etiketi elde etmek için model fonksiyonunu (örneğin, func_risk_prediction_model) çağırır, doğru ve yanlış tahminleri işaretler ve ardından toplam sayıya bölünmüş doğru tahmin sayısını hesaplamak için toplama işlemini gerçekleştirir.

Ham doğruluk oranının ötesinde, çıkarım kümesi üzerinde toplu risk dağılımlarını hesaplayabilirsiniz.Örneğin, model davranışını anlamak ve kaç vakanın daha fazla inceleme veya proaktif müşteri tutma eylemleri için işaretleneceğini belirlemek için her risk kategorisine (yüksek, düşük, belirsiz) kaç müşterinin atandığını sayabilirsiniz.

SQL müşteri kaybı modelleri için müşteri davranış özelliklerinin tanımlanması

Kredi riskinden gerçek müşteri kaybına geçildiğinde de aynı makine öğrenimi prensipleri geçerlidir.: Müşterilerin zaman içinde nasıl davrandığını ve geliştiğini yansıtan, etiketlenmiş geçmiş verilere ve anlamlı özelliklere ihtiyacınız var. E-ticaret veya dijital ürünler için bu genellikle müşteri başına satın alma ve etkileşim metriklerinin toplanması anlamına gelir.

Tipik bir SQL müşteri kaybı modeli, web olayları veya işlemler tablosundan başlar.Burada her satır, zaman damgaları, sipariş kimlikleri, ürün fiyatları ve miktarları ile kullanıcı tanımlayıcıları gibi alanlara sahip bir satın alma veya ticaret olayını temsil eder.

Bu ham verilerden güçlü davranışsal özellikler tasarlayabilirsiniz. Müşterinin geçmişini özetleyenler:

  • toplam_satın alımlar: Müşteri başına tamamlanan toplam satın alma sayısı.
  • toplam_gelir: söz konusu müşteri tarafından elde edilen toplam gelir.
  • ortalama_sipariş_değeri: ortalama sepet değeri; toplam gelir / toplam satın alma.
  • müşteri_ömrü: İlk ve son satın alma arasındaki gün sayısı.
  • son_satın_alışverişten_bu_günlerGüncellik, en son satın alma işleminden referans tarihine kadar geçen gün sayısı olarak ölçülür.
  • satın alma sıklığı: Müşterinin düzenli olarak satın alma işlemi gerçekleştirdiği farklı ayların sayısı.

Bu özellikler çok önemlidir çünkü müşteri kaybı nadiren rastgele gerçekleşir.Giderek daha az sıklıkla satın alan, daha az harcama yapan ve pazarlama çalışmalarınızı görmezden gelen müşteriler genellikle ayrılmak üzere olduklarına dair açık sinyaller veriyorlar. SQL'de satın alma sıklığını, yakınlığı ve parasal değeri (klasik RFM üçlüsü) yakalamak genellikle ilk adımdır.

Tüm bunların temelinde güvenilir bir müşteri tanımlayıcısı yer almaktadır.Birçok dijital analiz kurulumunda, Experience Cloud ID (ECID) veya identityMap.id gibi bir alanda saklanan benzer bir kimlik, oturumlar ve cihazlar genelindeki olayları tek bir müşteri geçmişine bağlamanıza olanak tanır.

Web tabanlı müşteri kaybı modellemesi için veri gereksinimleri ve varsayımlar

Web olaylarından doğrudan müşteri kaybı modeli eğitmek için veri setinizin belirli minimum gereksinimleri karşılaması gerekir.Her satır, müşteri düzeyinde özelliklere dönüştürülebilecek kadar ayrıntılı bir işlem veya satın alma olayını temsil etmelidir.

Tipik olarak gerekli olan alanlar şunlardır::

  • kimlik haritası.id: Oturumlar arası istikrarlı bir müşteri tanımlayıcısı.
  • ürünListesiÖğeleri.fiyatToplam: İşlem başına ürünlerin toplam maliyeti.
  • ürünListesiÖğeleri.miktar: toplam ürün miktarı.
  • zaman damgası: DATEDIFF gibi tarih/saat fonksiyonlarıyla uyumlu bir biçimde etkinlik tarih ve saati (örneğin, YYYY-MM-DD HH:MM:SS).
  • ticaret.sipariş.satınalmaID: Tamamlanmış bir satın almayı doğrulayan, boş olmayan bir değer.

Tarihsel derinlik önemlidir.Geçici hareketsizlik ile gerçek müşteri kaybını ayırt etmek için, özellikle uzun satın alma aralıklarına sahip sektörlerde (seyahat, sigorta, B2B sözleşmeleri vb.) müşteri başına birden fazla satın alma döngüsünü görebilecek kadar aylık veriye ihtiyacınız vardır.

Model ayrıca, müşteri kaybının net ve işlevsel bir tanımına da bağlıdır.E-ticarette yaygın ve pratik bir kural, bir müşterinin referans tarihine göre son 90 gün içinde alışveriş yapmamış olması durumunda, o müşterinin kaybedilmiş sayılmasıdır. Bu eşik, normal satın alma döngünüze göre uyarlanabilir (30, 60, 180 gün).

Veri seti yapılandırıldıktan ve varsayımlar netleştikten sonra, SQL kullanarak etiketler oluşturabilirsiniz. Son satın alımdan bu yana geçen gün sayısını eşik değerinizle karşılaştırarak (müşteri kaybı yaşayanlar ve yaşamayanlar) belirleyin ve ardından lojistik regresyon veya diğer sınıflandırma algoritmasını besleyecek eğitim tablosunu oluşturun.

SQL kullanarak lojistik regresyon müşteri kaybı modeli oluşturma

Lojistik regresyon, SQL ile müşteri kaybı tahminine doğal bir uyum sağlar. Çünkü 0 ile 1 arasında olasılık değerleri üretir ve modern analitik veritabanlarında ve müşteri veri platformlarında genellikle yerel olarak veya makine öğrenimi uzantıları aracılığıyla desteklenir.

Modelleme süreci tipik olarak üç aşamada gerçekleşir.Özellik mühendisliği, etiket atama ve model eğitimi.

Öncelikle, web etkinliklerinizi müşteri düzeyindeki satırlara topluyorsunuz. Toplam satın alımlar, toplam gelir, ortalama sipariş değeri, müşteri ömrü, son satın alımdan bu yana geçen gün sayısı ve satın alma sıklığı hesaplanır. Bu işlem, GROUP BY ve pencere fonksiyonları kullanılarak tek bir SQL sorgusuyla veya ara tablolar kullanılarak aşamalar halinde yapılabilir.

İkinci olarak, bir hareketsizlik kuralına dayalı olarak bir müşteri kaybı etiketi oluşturursunuz.Örneğin, son satın alımdan bu yana geçen gün sayısı 90'dan fazla ise müşteri kaybı sayısı 1, aksi halde 0 olarak ayarlanır. Bu etiketlenmiş veri seti, SQL CREATE MODEL ifadesi veya satıcıya özgü bir fonksiyon aracılığıyla çağrılabilecek lojistik regresyon eğitim rutinine girdi olarak kullanılır.

Üçüncü olarak, hangi sütunların özellik olduğunu belirterek lojistik regresyon modelini eğitiyorsunuz. ve hangi sütun hedef etiket (müşteri kaybı) olduğunu gösterir. Makine öğrenimi motoru, her bir özelliğin müşteri kaybı riskine nasıl katkıda bulunduğunu yansıtan katsayıları öğrenir; bu da işletme paydaşları için oldukça bilgilendirici olabilir.

Model çıktısı genellikle müşteri başına bir satır içeren bir tablo veya görünüm şeklindedir.Bu, tasarlanmış özellikleri ve müşteri kaybı etiketini de içerir. Daha sonra, modeli tahmin için kullandığınızda, tahmin edilen etiketi (0 veya 1) veya müşteri kaybı olasılığını temsil eden ek bir tahmin sütunu elde edersiniz.

Müşteri kaybı modellerini değerlendirme: Gerçekten önemli olan ölçütler

Müşteri kaybı modeli eğitmek mücadelenin sadece yarısıdır; performansını titizlikle değerlendirmelisiniz. Üretim kampanyalarında kullanıma sunulmadan önce, SQL tabanlı makine öğrenimi çerçeveleri genellikle model_evaluate fonksiyonu gibi yaygın ölçütleri hesaplayan değerlendirme yardımcıları sunar.

Müşteri kaybını analiz ederken, sadece ham doğruluk oranına bakmanın ötesine geçmek çok önemlidir.Doğruluk, basitçe doğru tahminlerin yüzdesini ölçer, ancak dengesiz problemler (müşterilerin çoğunun ayrılmadığı durumlar) söz konusu olduğunda, bir model "doğru" olabilir ancak işletmeniz için neredeyse işe yaramaz olabilir.

Müşteri kaybını tahmin etmeye yönelik temel ölçütler şunlardır::

  • AUC-ROC: Modelin tüm sınıflandırma eşiklerinde abone kaybı yaşayan müşterileri yaşamayanlardan ayırt etme yeteneğini ölçer; 1'e daha yakın değerler daha güçlü ayrımcılığı gösterir.
  • Hassas: Tahmin edilen abone kaybı oranının gerçekte abone kaybı olanlara oranı; yüksek doğruluk, daha az yanlış alarm ve daha verimli müşteri tutma harcaması anlamına gelir.
  • Geri çağırmakModelin doğru bir şekilde belirlediği, müşteri kaybı yaşayan gerçek müşterilerin oranı; yüksek geri çağırma oranı, risk altındaki birçok müşteriyi kaçırmamanızı sağlar.
  • F1 skoruHassasiyet ve geri çağırmanın harmonik ortalaması; çok sayıda müşteri kaybını tespit etmek ve çok fazla yanlış pozitiften kaçınmak arasında bir denge kurmanız gerektiğinde kullanışlıdır.

Gerçek dünyadaki birçok müşteri kaybı projesinde, işletme paydaşları olumlu sınıf üzerindeki kesinlik ve geri çağırma oranlarına daha çok önem verir. (Müşteri kaybının tahmini) küresel doğruluktan daha fazla önem taşır. Sonuçta amaç, tek bir ortalama ölçümde iyi görünmek değil, müşteri sadakatini artırmaya yönelik teklifleri verimli bir şekilde hedeflemektir.

SQL tabanlı değerlendirme genellikle ayrı bir test veri kümesine karşı yapılır. Bu veri seti eğitim için kullanılmamıştır. Bu veri setini model_evaluate fonksiyonuna veya eşdeğerine iletirsiniz, AUC-ROC, doğruluk, hassasiyet ve geri çağırma değerlerini elde edersiniz ve ardından bu sonuçlara dayanarak özellik mühendisliği, eşikler veya algoritmalar üzerinde yinelemeler yaparsınız.

Python'dan ilham alan teknikler ile müşteri kaybı modellerinin iyileştirilmesi

Müşteri kaybı modellemesindeki birçok en iyi uygulama, daha geniş makine öğrenimi ekosisteminden gelmektedir.Python ve scikit-learn, imbalanced-learn gibi kütüphanelerin yaygın olarak kullanıldığı ortamlarda, bu kavramlar SQL merkezli iş akışlarına veya SQL'in özellik oluşturmayı, Python'ın ise gelişmiş modellemeyi üstlendiği hibrit kurulumlara da aktarılabilir.

Sık kullanılan bir yöntem, müşteri kaybını incelemeye halka açık bir veri kümesiyle başlamaktır. Örneğin, Kaggle'dan alınan bir banka müşteri kaybı CSV dosyası. Bu veri kümeleri tipik olarak demografik bilgiler (yaş, ülke, cinsiyet), hesap süresi, ürün sayısı, kredi puanı ve müşterinin ayrılıp ayrılmadığı (müşteri kaybı) gibi bilgileri içerir.

Olağan iş akışı, veri setinin yüklenmesi ve incelenmesiyle başlar.Satır ve sütun sayısını kontrol etme, sayısal özellikleri özetleme, hedef dağılımı araştırma ve müşteri soyadları veya tahminlemeye yardımcı olmayacak belirsiz kimlik numaraları gibi açıkça alakasız özellikleri belirleme.

Görsel keşif özellikle faydalıdır.Sürekli değişkenlerin (yaş veya çalışma süresi gibi) dağılımlarını ve kutu grafiklerini, işten ayrılma etiketine göre ayırarak çizmek, hangi özelliklerin açıklayıcı güce sahip olduğunu hızla ortaya çıkarabilir. Kategorik değişkenler (cinsiyet, ülke) için histogramlar, belirli kategorilerin daha yüksek işten ayrılma oranıyla ilişkili olup olmadığını gösterir.

Bu keşif aşamasında ayrıca veri kalitesi sorunlarını da araştırırsınız.Eksik değerler, aşırı aykırı değerler, baskın kategoriler ve şüpheli kalıplar. Bunların hepsi, sonraki model performansını etkileyebilir ve temizleme, sınırlandırma veya yeniden kodlama gerektirebilir.

Kategorik değişkenler de bir diğer önemli noktadır.Makine öğrenimi algoritmaları genellikle sayısal girdi bekler, bu nedenle metinsel kategorilerin kodlanması gerekir. Basit sıralı kodlayıcılar kategorileri tamsayılara eşler; bu işe yarayabilir ancak yapay bir sıralama oluşturabilir (örneğin, 6'nın herhangi bir anlamda 2'den "büyük" olmadığı renk kodları). Tekil kodlama veya hedef kodlama gibi daha karmaşık kodlamalar, daha fazla özellik pahasına da olsa, genellikle daha iyi modeller üretir.

İlk müşteri kaybı modelinden sağlam değerlendirmeye

Temel temizleme ve kodlama işlemlerinin ardından, ilk müşteri kaybı modeli eğitilebilir.—örneğin, sağlam bir yapıya sahip olan, doğrusal olmayan ilişkileri iyi ele alan ve nispeten az özellik ölçeklendirmesi gerektiren rastgele orman sınıflandırıcı.

Ardından verileri eğitim ve test kümelerine ayırırsınız. (Örneğin, %70 eğitim, %30 test) gelecekteki, görülmemiş müşterileri simüle etmek için kullanılır. Model, eğitim veri seti üzerinde eğitilir ve doğruluk, hassasiyet, geri çağırma ve F1 puanı gibi ölçütler kullanılarak test veri seti üzerinde değerlendirilir.

Bu aşamada, yüksek doğruluk oranlarına sahip rakamlarla yanıltılmak çok kolay.Dengesiz müşteri kaybı problemlerinde, bir model, çoğunluk sınıfını (müşteri kaybı yaşamayanları) sürekli tahmin ederek yüksek doğruluk elde edebilirken, gerçekte müşteri kaybı yaşayanları neredeyse hiç yakalayamayabilir. Bu nedenle, müşteri kaybı sınıfına özgü hassasiyet, geri çağırma ve F1 puanı çok daha önemlidir.

ROC eğrisi ve eğri altındaki alan (AUC) Daha incelikli bir bakış açısı sunarak, tüm eşik değerlerinde gerçek pozitif oranı ile yanlış pozitif oranı arasındaki dengeyi gösterir. Diyagonal taban çizgisini açıkça domine eden bir eğri, kullanışlı bir modeli gösterir, ancak bunu yine de işletme maliyet/fayda dengeleriyle ilişkilendirmeniz gerekir.

Doğru değerlendirme ölçütünü seçmek bir işletme kararıdır.Müşteri sadakatini sağlamaya yönelik çalışmalar maliyetliyse, yüksek hassasiyetli (sadece ayrılma olasılığı yüksek müşterileri hedefleyen) bir yaklaşımı tercih edebilirsiniz. Bir müşteriyi kaybetmenin maliyeti son derece yüksekse, daha fazla yanlış pozitif sonucu kabul edebilir ve daha fazla müşteriyle iletişime geçmek anlamına gelse bile, mümkün olduğunca çok müşteriyi yakalamaya odaklanabilirsiniz.

Hiperparametre ayarlaması ve dengesiz müşteri kaybı etiketleriyle başa çıkma

Temel müşteri kaybı modeli oluşturulduktan sonra, bir sonraki büyük kazanımlar genellikle hiperparametre ayarlamasından gelir.Hiperparametreler, eğitim sürecinin dışında kalan (ağaç sayısı, ağaç derinliği, öğrenme oranı vb.) ve model kalitesini önemli ölçüde etkileyebilen yapılandırma değerleridir.

Pratik bir yaklaşım, hiperparametre arama alanını tanımlamaktır. (Her parametre için bir ızgara veya rastgele aralıklar) ve ardından rastgele arama veya Bayes optimizasyonu kullanılarak kombinasyonların bir alt kümesi incelenir. Her aday konfigürasyon için, eğitim verileri üzerinde çapraz doğrulama çalıştırılır ve bunları karşılaştırmak için F1 puanı gibi bir ölçüt kullanılır.

Müşteri kaybını azaltmada, F1 puanı genellikle saf doğruluktan daha iyi bir hedeftir. Çünkü bu yöntem, risk altındaki müşterilere öncelik verirken genellikle önem verdiğiniz hassasiyet ve geri çağırma oranını dengeliyor.

Müşteri kaybı modellemesinde karşılaşılan bir diğer önemli zorluk ise etiket dengesizliğidir.Genellikle geçmiş verilerinizde aboneliği iptal etmeyenlerin sayısı, iptal edenlerden çok daha fazladır. Bu durum ele alınmazsa, çoğu algoritma "güvenli oynamayı" öğrenir ve çoğu zaman çoğunluk sınıfını tahmin eder.

Dengesiz müşteri kaybı verileriyle başa çıkmak için çeşitli stratejiler mevcuttur.:

  • Azınlık sınıfının aşırı örneklenmesi SMOTE, ADASYN veya SVMSMOTE gibi teknikler kullanılarak, mevcut azınlık örnekleri arasında enterpolasyon yapılarak yeni azınlık örnekleri sentezlenir.
  • Çoğunluk sınıfının eksik örneklenmesi Veri setini küçültürken sınıfları daha dengeli hale getirmek (bazen aşırı örneklemeyle birlikte).
  • Sınıf ağırlıklarını veya dengeli alt kümeleri dahili olarak işleyen algoritmalar veya sarmalayıcılar kullanmak.Sınıf dengeli bir bootstrap örneği üzerinde her bir ağacı eğiten dengeli rastgele ormanlar gibi.

Deneysel olarak, test veri setinizin dokunulmamış ve dengesiz kalması çok önemlidir.Bu, gerçek üretim dağılımını yansıtır. Sadece eğitim veri setini aşırı örnekleyebilir veya başka şekillerde manipüle edebilirsiniz; aksi takdirde, değerlendirme ölçütleri aşırı iyimser olacak ve gerçek dünya performansını temsil etmeyecektir.

Birçok deneyde, ham eğitim verilerini değiştirmeden algoritma düzeyinde dengeleme (örneğin dengeli rastgele orman) kullanılmıştır. Bu durum, hassasiyet ve F1 puanlarında önemli kazanımlar sağladı; bazen yüzde on puan veya daha fazla artış gösterdi. Müşteri kaybı modeli için bu, risk altındaki müşterilerin çok daha iyi hedeflenmesine ve müşteri tutma kampanyalarında daha yüksek yatırım getirisine dönüşebilir.

Etkin müşteri tutma oranındaki her yüzde birlik iyileşmenin çok büyük bir etkiye sahip olabileceğini unutmayın. Tekrarlayan gelir ve müşteri ömrü değeri üzerinde durulmaktadır. Müşteri kaybını doğru bir şekilde tespit etmek nihai hedef değildir, ancak bu size en çok önem taşıyan noktalarda teklifler, hizmet iyileştirmeleri ve kişiselleştirilmiş müdahaleler uygulama olanağı sağlar.

Özetle, SQL tabanlı makine öğrenimi yeteneklerini (Amazon Redshift ML ve SQL tabanlı lojistik regresyon gibi) sağlam makine öğrenimi uygulamalarıyla (özellik mühendisliği, uygun metrikler, hiperparametre ayarlama ve dengesizlik yönetimi) birleştirmek, verilerinizin bulunduğu yerde müşteri kaybı riskini doğrudan değerlendirmek için güçlü bir araç seti sunar. İster finans, telekom, e-ticaret veya SaaS sektöründe faaliyet gösterin, bu teknikler ham etkileşim geçmişlerini, pazarlama ve operasyon ekiplerinin güvenle harekete geçebileceği net müşteri kaybı risk puanlarına dönüştürmenize ve analitik ile iş kararları arasındaki geri bildirim döngüsünü sıkılaştırmanıza olanak tanır.

análisis de datos con SQL
İlgili makale:
SQL veri analizi: Örnekler ve teknikler konusunda temel uzmanlığımız
İlgili Mesajlar: