Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telco Customer Churn Prediction

Targeting the Right Customers: A Cost-Optimized Machine Learning Approach for Telco Churn Prediction

Sebuah proyek analitik data dan machine learning end-to-end yang bertujuan untuk memprediksi probabilitas pelanggan aktif di sebuah perusahaan telekomunikasi yang berisiko berhenti berlangganan (churn) di masa depan

Dataset

No Feature Data Type Description
1 Dependents object Menunjukkan apakah pelanggan memiliki tanggungan atau tidak
2 tenure int64 Jumlah bulan pelanggan telah menggunakan layanan perusahaan
3 OnlineSecurity object Menunjukkan apakah pelanggan memiliki layanan keamanan online atau tidak
4 OnlineBackup object Menunjukkan apakah pelanggan memiliki layanan pencadangan (backup) online atau tidak
5 InternetService object Menunjukkan apakah pelanggan berlangganan layanan internet atau tidak
6 DeviceProtection object Menunjukkan apakah pelanggan memiliki layanan perlindungan perangkat atau tidak
7 TechSupport object Menunjukkan apakah pelanggan memiliki layanan dukungan teknis atau tidak
8 Contract object Jenis kontrak pelanggan berdasarkan durasi atau jangka waktu layanan
9 PaperlessBilling object Menunjukkan apakah tagihan pelanggan dikirim dalam bentuk digital (tanpa kertas)
10 MonthlyCharges float64 Jumlah biaya layanan yang dibayarkan pelanggan setiap bulan
11 Churn object Menunjukkan apakah pelanggan berhenti menggunakan layanan (churn) atau tetap menggunakan layanan

Latar Belakang

Sebuah perusahaan telekomunikasi (Telco) penyedia layanan telepon rumah dan broadband internet menghadapi tingginya tingkat pembatalan layanan pelanggan (churn). Kondisi ini menjadi tantangan serius karena mempertahankan pelanggan yang sudah ada jauh lebih hemat biaya dibandingkan mengakuisisi pelanggan baru. Oleh karena itu, perusahaan perlu mengidentifikasi dan memprediksi pelanggan yang berpotensi berhenti berlangganan agar dapat menerapkan strategi retensi yang lebih proaktif (mencegah pelanggan berhenti sebelum hal itu terjadi). Dengan tujuan untuk menyelamatkan sebanyak mungkin pelanggan dari risiko churn, perusahaan akan melakukan intervensi dini secara masif dan terukur, seperti pemberian diskon atau penawaran bundling khusus. Untuk mendukung upaya tersebut perusahaan memiliki data pelanggan yang mencakup informasi tanggungan pelanggan, durasi berlangganan, layanan internet dan layanan tambahan yang digunakan, jenis kontrak, metode penagihan, serta biaya bulanan pelanggan

Target:

  • No : Pelanggan tidak berhenti berlangganan (Retained)
  • Yes : Pelanggan berhenti berlangganan (Churn)

Problem Statement

Di industri telco, biaya akuisisi pelanggan baru jauh lebih mahal dibandingkan mempertahankan pelanggan yang sudah ada. Oleh karena itu, prioritas utama perusahaan adalah mencegah hilangnya pelanggan (churn) semaksimal mungkin. Setiap kegagalan dalam mendeteksi pelanggan yang akan churn berarti kerugian pendapatan bulanan

Namun, langkah penyelamatan ini tidak boleh dilakukan secara membabi buta. Memberikan program retensi (seperti diskon atau promo) secara asal-asalan akan menggerus margin keuntungan, karena anggaran berisiko terbuang sia-sia kepada pelanggan yang sebenarnya sudah loyal dan bersedia membayar harga penuh

Bagaimana membangun sistem deteksi dini yang memiliki kepekaan tinggi untuk menyelamatkan sebanyak mungkin pelanggan yang berisiko churn, namun tetap cukup presisi untuk menyaring pelanggan loyal agar efisiensi anggaran promosi tetap terjaga?

Goals

  1. Prediksi Risiko Churn: Membangun model Machine Learning dengan kepekaan tinggi untuk memprediksi sebanyak mungkin pelanggan yang berisiko churn, sekaligus menjaga tingkat presisi agar alokasi anggaran retensi perusahaan tidak terbuang sia-sia
  2. Identifikasi Faktor Pendorong: Mengidentifikasi faktor utama yang memengaruhi churn atau loyalitas pelanggan, seperti penggunaan Fiber Optic, masa kontrak, dan layanan tambahan

Analytic Approach

Jadi yang akan kita lakukan adalah menganalisis data profil pelanggan (Exploratory Data Analysis) untuk menemukan pola perilaku, layanan, dan kontrak yang membedakan pelanggan yang setia bertahan dengan pelanggan yang memutuskan untuk berhenti berlangganan

Kemudian kita akan membangun model klasifikasi Machine Learning yang akan membantu perusahaan untuk dapat memprediksi probabilitas seorang pelanggan aktif akan melakukan churn atau tidak di masa depan. Model ini nantinya akan diintegrasikan ke dalam dashboard operasional untuk digunakan oleh tim Marketing dan Finance. Model akan dijalankan secara periodik setiap akhir siklus penagihan bulanan untuk melakukan scoring risiko terhadap seluruh pelanggan aktif sehingga pelanggan yang terdeteksi masuk dalam zona churn dapat segera diberikan program retensi

Evaluation Metrics

  1. Type 1 error : False Positive

Pelanggan sebenarnya setia, tapi model memprediksi mereka akan pergi, sehingga mereka tidak sengaja diberi diskon

Dampak Bisnis:

  • Inefisiensi Anggaran Retensi:Anggaran perusahaan yang seharusnya untuk pengembangan produk atau akuisisi pelanggan malah habis memberi insentif kepada pihak yang tidak tepat
  • Erosi Margin Keuntungan: Memberikan diskon atau layanan gratis kepada pelanggan yang sebenarnya mau membayar penuh hanya akan memangkas margin keuntungan perusahaan tanpa alasan yang jelas
  1. Type 2 error : False Negative

Pelanggan sebenarnya akan pergi, tapi model memprediksi mereka setia, sehingga perusahaan diam saja dan kebobolan

Dampak Bisnis:

  • Kehilangan Revenue: Dampak paling fatalnya adalah hilangnya arus kas bulanan tetap yang menjadi sumber pendapatan utama perusahaan
  • Pembengkakan Biaya Akuisisi: Kehilangan satu pelanggan bisa menimbulkan biaya jauh lebih besar dibanding memberi promo retensi karena tingginya biaya akuisisi pelanggan baru (iklan, sales, pemasangan alat keras atau kabel awal)

Tujuan utama model ini adalah memaksimalkan deteksi pelanggan yang berisiko churn (Recall tinggi) untuk mencegah kehilangan pendapatan perusahaan. Di sisi lain, model juga perlu menjaga Precision agar jumlah pelanggan setia yang salah sasaran dalam menerima program retensi tetap rendah sehingga anggaran promosi dapat digunakan secara efisien

Oleh karena itu, evaluasi model akan menggunakan F2-Score sebagai metrik utama karena metrik ini memberikan bobot yang lebih besar pada Recall dibandingkan Precision. Pemilihan F2-Score didasarkan pada kondisi bahwa dampak finansial akibat kehilangan pelanggan (False Negative) lebih besar dibandingkan biaya pemberian promo kepada pelanggan yang sebenarnya tidak churn (False Positive). Dengan demikian, model diharapkan lebih mampu mengidentifikasi pelanggan yang berpotensi churn sehingga risiko kehilangan pelanggan dapat diminimalkan

Metrics Performance

Model Threshold Precision Test Recall Test F1 Test F2 Test Best Parameters
AdaBoost [F2 Threshold: 0.51] 0.506731 0.450467 0.916350 0.604010 0.759294 {'base_max_depth': 1, 'base_min_samples_split': 15, 'base_min_samples_leaf': 18, 'base_criterion': 'entropy', 'base_max_features': 'sqrt', 'n_estimators': 100, 'learning_rate': 0.015395510313850546}

Bussiness Impact

  • Cost Retention: $15
  • Customer Acquisition Cost: $223
Skenario Total Biaya Keterangan
Without Model — Tidak Memberikan Promo $58,649.00 Kehilangan 263 pelanggan churn
Without Model — Promo ke Semua Pelanggan $14,790.00 Promo diberikan kepada 986 pelanggan
With Model — False Positive Cost $4,410.00 Biaya promo salah sasaran kepada 294 pelanggan loyal yang diprediksi churn
With Model — False Negative Cost $4,906.00 Potensi kehilangan revenue akibat 22 pelanggan churn yang gagal terdeteksi
With Model — True Positive Cost $3,615.00 Biaya promo retensi kepada 241 pelanggan churn yang berhasil terdeteksi
Total Biaya Aktual Menggunakan Model $12,931.00 Total biaya setelah implementasi model
Metrik Efisiensi Nominal Penghematan Persentase
Penghematan dibandingkan tanpa promo $45,718.00 77.95%
Penghematan dibandingkan promo ke semua pelanggan $1,859.00 12.57%

Conclusions

  • Berdasarkan hasil evaluasi cost-based analysis, penggunaan model churn prediction menghasilkan total biaya bisnis sebesar $12,931. Nilai tersebut memberikan penghematan sebesar $45,718 (77.95%) dibandingkan skenario tanpa promo (Do Nothing) yang memiliki biaya $58,649, serta menghemat $1,859 (12.57%) dibandingkan strategi pemberian promo kepada seluruh pelanggan (Mass Campaign) dengan biaya $14,790. Hasil ini menunjukkan bahwa model mampu meningkatkan efisiensi strategi retensi pelanggan dengan mengarahkan promo kepada pelanggan yang memiliki risiko churn lebih tinggi
  • Faktor yang paling mendorong pelanggan melakukan churn didominasi oleh penggunaan contract jangka pendek, tenure yang rendah, biaya langganan yang tinggi, serta penggunaan layanan internet fiber optic. Sebaliknya, pelanggan dengan contract jangka panjang, tenure yang lebih tinggi, biaya langganan yang relatif lebih rendah, dan layanan internet selain fiber optic cenderung memiliki probabilitas churn yang lebih rendah dan menunjukkan tingkat loyalitas yang lebih baik
  • Strategi promo bundling dapat menurunkan churn rate pelanggan, terutama pada pelanggan berisiko tinggi seperti pengguna Fiber Optic dengan kontrak Month-to-month, dimana churn rate berhasil turun dari 60.98% menjadi 31.67% setelah penambahan layanan OnlineSecurity dan TechSupport. Selain itu, semakin banyak add-on layanan yang digunakan pelanggan, churn rate juga semakin rendah, dari 56.71% pada pelanggan tanpa add-on menjadi hanya 4.88% pada pelanggan dengan 4 add-on bahkan pada bundling escalation hingga 0,86%. Hasil ini menunjukkan bahwa bundling layanan tambahan tidak hanya meningkatkan loyalitas pelanggan, tetapi juga memperkuat retensi dan mendorong pelanggan untuk mempertahankan langganan dalam jangka waktu yang lebih lama
  • Model AdaBoost dengan kombinasi SMOTENC, Optuna, dan threshold optimization berhasil memberikan performa optimal dalam mendeteksi churn dengan Recall 91.64% (0.91635), Precision 45.05% (0.45046), dan F2-Score 75.93% (0.75929) pada threshold 0.51. Pendekatan ini membuat model lebih sensitif dalam mendeteksi pelanggan churn dan selaras dengan tujuan bisnis untuk meminimalkan kehilangan pelanggan (false negative)
  • Meskipun model AdaBoost ini sangat efektif dalam mengidentifikasi pelanggan yang berisiko churn, salah satu limitasi utama dari pendekatan ini adalah asumsi efektivitas penanganan (treatment). Model saat ini memprediksi probabilitas churn secara statis, namun belum mampu memprediksi probabilitas keberhasilan promo retensi terhadap pelanggan tersebut. Oleh karena itu, efisiensi finansial dilapangan akan sangat bergantung pada seberapa tinggi tingkat keberhasilan (success rate) dari kampanye promosi yang dieksekusi oleh tim bisnis

Recommendation

  • Perusahaan perlu meningkatkan pelacakan data operasional yang lebih detail. Hal ini mencakup perekaman identitas pelanggan unik (Customer ID), data riwayat komplain teknis (terutama untuk pelanggan Fiber Optic), serta pelacakan historis konversi promo masa lalu. Data tambahan ini akan sangat meningkatkan akurasi model di masa depan*
  • Tim Pemasaran dan Produk harus segera merancang A/B Testing berdasarkan temuan model ini. Pelanggan yang masuk dalam High Priority (Expected Revenue Loss tinggi) harus diuji dengan Anti-Churn Bundling atau Escalation Bundling untuk memvalidasi conversion rate aktual. Selain itu, tim operasional wajib melakukan audit kualitas layanan (Quality of Service) secara khusus pada jaringan Fiber Optic karena tingginya sensitivitas harga dan risiko churn pada segmen premium ini
  • Perusahaan disarankan untuk beralih dari sekadar Churn Prediction menuju Uplift Modeling. Model lanjutan ini tidak hanya akan memprediksi siapa yang akan churn, tetapi juga memprediksi apakah pelanggan tersebut akan berubah pikiran jika diberikan promo, sehingga anggaran retensi dapat disalurkan dengan tingkat efisiensi (ROI) yang jauh lebih maksimal

CRISP-DM: Cross-Industry Standard Process for Data Mining

  1. Business Understanding:
  • Latar Belakang
  • Problem Statement
  • Goals
  • Analytic Approach
  • Evaluation Matriks
  1. Data Understanding:
  • Missing Value
  • Duplicate Data
  • Imbalance Data
  • EDA (Relationship Variables, Estimate Price, Customers Characteristics, Bundling, Error Type Pricing Analysis, Noise, Multikolinearitas)
  1. Data Preprocessing:
  • Characteristics Models
  • Feature Engineering
  • Define X and y
  • Splitting Data
  • Pipeline
  • Oversampling
  1. Modeling & Evaluation:
  • Benchmark Models
  • Setting CV
  • Training - Validation - Testing Baseline
  • Hyperparameter Tuning
  • Threshold
  • Business Impact & Model Efficiency
  • Priority Intervention
  • Feature Importance
  • SHAP Interpretation
  1. Deployment:
  • Export Model

Libraries Used

Category Libraries Function
Built-in Python math, time, warnings, pickle Utility functions, execution timing, warning handling, and model serialization
Data Manipulation numpy, pandas Numerical computation, data transformation, and tabular data processing
Data Visualization matplotlib, seaborn Exploratory data analysis and visualization
Explainable AI shap Model interpretability and feature contribution analysis
Data Preprocessing LabelEncoder, OneHotEncoder, OrdinalEncoder, StandardScaler, ColumnTransformer Encoding categorical variables, feature scaling, and preprocessing pipelines
Dimensionality Reduction PCA Feature extraction and dimensionality reduction
Model Selection & Validation train_test_split, StratifiedKFold, cross_validate, cross_val_predict Data splitting, stratified cross-validation, and model validation
Evaluation Metrics accuracy_score, precision_score, recall_score, f1_score, fbeta_score, confusion_matrix, precision_recall_curve, PrecisionRecallDisplay, ConfusionMatrixDisplay Model performance evaluation and visualization
Tree-Based Models DecisionTreeClassifier, RandomForestClassifier, GradientBoostingClassifier, AdaBoostClassifier Classification models based on decision trees and ensemble learning
Gradient Boosting Models XGBClassifier, LGBMClassifier Advanced boosting algorithms for predictive modeling
Imbalanced Learning SMOTENC, EditedNearestNeighbours, TomekLinks, ImbPipeline Oversampling, data cleaning, and pipeline construction for imbalanced datasets
Hyperparameter Optimization optuna Automated hyperparameter tuning and optimization
Statistical Analysis variance_inflation_factor, scipy, statsmodels.api Multicollinearity analysis, statistical testing, and regression diagnostics

Installation

pip install numpy pandas matplotlib seaborn shap scikit-learn xgboost lightgbm imbalanced-learn optuna statsmodels scipy

About

Pipeline data analytics & machine learning end-to-end menggunakan AdaBoost, SMOTENC, Optuna, dan threshold tuning untuk memprediksi customer churn, mencapai recall 91,64% dan mengurangi biaya retensi hingga 77,95%.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages