Skip to content

Melikeda/ChurnProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📊 Müşteri Churn Tahmin Projesi (Customer Churn Prediction)

📌 Proje Özeti

Bu projede bir telekom şirketine ait müşteri verileri kullanılarak, müşterinin churn (abonelik iptali) edip etmeyeceğini tahmin eden bir makine öğrenmesi modeli geliştirilmiştir.

Proje, uçtan uca bir veri bilimi süreci izlenerek gerçekleştirilmiş ve modelleme aşaması iş hedeflerine uygun şekilde optimize edilmiştir.


🎯 İş Problemi ve Amaç

  • Problem: Müşteri kaybı (churn) şirketler için yüksek maliyetlidir.
  • Amaç: Churn etme ihtimali yüksek müşterileri önceden tespit etmek.

İş Önceliği:

Churn eden bir müşteriyi kaçırmak, churn etmeyen bir müşteriye teklif götürmekten daha maliyetlidir.

Bu nedenle projede:

  • Recall (Churn = 1) metriği önceliklendirilmiştir.
  • Accuracy tek başına yeterli kabul edilmemiştir.

🧠 Veri Seti Bilgisi

  • Veri Seti: Telekom müşteri churn verisi
  • Toplam Gözlem: ~7.000 müşteri
  • Hedef Değişken: Churn (Yes / No)

Sınıf Dağılımı:

  • Churn etmeyen müşteriler: ~%73
  • Churn eden müşteriler: ~%27

📌 Bu durum problemin dengesiz sınıflandırma (imbalanced classification) problemi olduğunu göstermektedir.


🔍 Data Understanding (Veriyi Tanıma)

  • Hedef değişken dağılımı incelendi
  • Sayısal ve kategorik değişkenler analiz edildi
  • Churn ile ilişkili önemli değişkenler belirlendi:
    • Müşteri sistemi kullanım süresi (tenure)
    • Aylık ücret (MonthlyCharges)
    • Toplam ücret (TotalCharges)
    • Kontrat türü
    • İnternet hizmeti türü

🛠 Data Preparation (Veri Hazırlama)

Aşağıdaki işlemler uygulanmıştır:

  • Kimlik bilgisi içeren customerID kolonu kaldırıldı
  • TotalCharges sayısal veri tipine dönüştürüldü
  • Eksik veriler ele alındı
  • Kategorik değişkenler One-Hot Encoding ile encode edildi
  • Sayısal değişkenler ölçeklendirildi
  • Veri, %80 Train / %20 Test olacak şekilde (stratified) ayrıldı

📌 Veri hazırlama süreci, projenin yaklaşık %60’ını oluşturmaktadır.


🤖 Modelleme

İki farklı model geliştirilmiş ve karşılaştırılmıştır:

1️⃣ Logistic Regression

  • Yorumlanabilir
  • Katsayılar üzerinden değişken etkisi analiz edilebilir

2️⃣ Random Forest

  • Lineer olmayan ilişkileri yakalayabilen ensemble model
  • Performans karşılaştırması için kullanıldı

📈 Model Değerlendirme

Kullanılan metrikler:

  • Precision
  • Recall
  • F1-score
  • ROC–AUC

📌 Accuracy, sınıf dengesizliği nedeniyle tek başına yeterli bir metrik olarak kullanılmamıştır.


⚙️ Threshold Tuning (Karar Eşiği Optimizasyonu)

Varsayılan karar eşiği olan 0.5, iş hedefiyle uyumlu olmadığı için farklı threshold değerleri test edilmiştir.

Logistic Regression – Churn (1) için Sonuçlar

Threshold Recall Precision
0.2 0.86 0.47
0.3 0.75 0.52
0.4 0.67 0.57
0.5 0.56 0.66

Final Threshold: 0.3

Bu eşik değeri ile:

  • Churn eden müşterilerin yaklaşık %75’i başarıyla yakalanmıştır
  • Yanlış alarm sayısı kabul edilebilir seviyede tutulmuştur

🏆 Final Model Seçimi

✅ Seçilen Final Model: Logistic Regression

Seçim Nedenleri:

  • Random Forest’a kıyasla daha yüksek recall değerleri
  • ROC–AUC ≈ 0.84
  • Yüksek yorumlanabilirlik
  • İş birimleri için açıklanabilir sonuçlar

🔑 Önemli Bulgular

Churn tahmininde en etkili değişkenler:

  • Müşteri sistemde kalma süresi (tenure)
  • Toplam ücret (TotalCharges)
  • Aylık ücret (MonthlyCharges)
  • Kontrat türü (özellikle month-to-month)
  • Fiber internet kullanımı
  • Elektronik çek ödeme yöntemi

💼 İş Önerileri

  • Kısa süredir müşteri olan ve yüksek fatura ödeyen müşteriler hedeflenmeli
  • Month-to-month kontrata sahip müşterilere özel kampanyalar sunulmalı
  • Fiber internet kullanan yüksek riskli müşteriler için sadakat programları uygulanmalı
  • Churn olasılığı ≥ 0.3 olan müşteriler öncelikli olarak ele alınmalı

🧾 Sonuç

Bu projede, churn problemini ele alan ve iş hedefleriyle uyumlu şekilde optimize edilmiş bir makine öğrenmesi modeli geliştirilmiştir.
Model, churn eden müşterilerin büyük bir kısmını önceden tespit ederek, şirketlerin müşteri kaybını azaltmasına yardımcı olacak şekilde tasarlanmıştır.


🛠 Kullanılan Teknolojiler

  • Python
  • Pandas, NumPy
  • Scikit-learn
  • Matplotlib, Seaborn
  • Jupyter Notebook

👤 Hazırlayan

Melike Külahcı
Data Science & Machine Learning Stajyeri

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published