Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Model churn yang layak dipakai tim retensi ditentukan oleh tiga keputusan yang dibuat sebelum algoritma dipilih: siapa yang dihitung sebagai pelanggan, peristiwa apa yang disebut churn, dan berapa lama horizon prediksinya. Setelah itu, setiap tahap yang belajar dari data (imputasi, encoding, seleksi fitur, resampling, pembobotan ensemble, dan pemilihan threshold) hanya boleh memakai data latih dan validasi. Ensemble kemudian dibandingkan dengan baseline sederhana pada protokol yang sama, dan skornya dinilai dari kapasitas tim serta biaya kontak, bukan dari accuracy.

Panduan ini memakai dataset IBM Telco sebagai contoh publik dan tiga studi yang dirujuk sebagai bukti. Setiap angka di bawah terikat pada data, protokol, dan tanggal studinya, sehingga tidak otomatis berlaku untuk basis pelanggan Anda.

Definisikan churn secara operasional sebelum memilih algoritma

Label churn adalah kontrak antara data dan bisnis. Jika definisinya tidak bisa dihitung ulang, dua tim bisa melatih model dengan label berbeda lalu membandingkan hasilnya seolah sama. Tiga keputusan berikut perlu ditulis dalam dokumen yang sama dengan kode.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Populasi: pelanggan mana yang dihitung

Tentukan siapa yang masuk ke tabel pelatihan, misalnya hanya pelanggan aktif pada tanggal observasi, atau juga pelanggan yang baru mendaftar. Pelanggan baru sering belum punya riwayat yang cukup, sehingga memasukkannya mengubah distribusi fitur dan tingkat churn. Catat juga pengecualian seperti akun uji, akun perusahaan, atau pelanggan di luar wilayah layanan.

Peristiwa churn: tindakan apa yang berarti berhenti

Churn bisa berarti pembatalan langganan, tidak ada pembayaran selama jumlah hari tertentu, penggunaan turun di bawah ambang, atau perpindahan ke penyedia lain yang dapat diamati. Setiap definisi menghasilkan kelas positif yang berbeda. Label “tidak membayar 30 hari” dan label “membatalkan kontrak” bukan dua cara menulis hal yang sama, karena yang pertama juga menangkap keterlambatan sementara.

Titik observasi dan horizon prediksi

Titik observasi adalah tanggal ketika skor dihitung. Hanya kolom yang sudah terisi pada tanggal itu yang boleh menjadi fitur. Horizon adalah jendela setelahnya, tempat peristiwa churn dicatat. Jika tim membutuhkan dua minggu untuk bertindak, pelanggan yang churn dalam dua minggu pertama tidak lagi bisa dibantu. Karena itu horizon label sebaiknya dimulai setelah jeda tindakan tersebut, atau jeda itu dicatat sebagai pengecualian. Horizon yang terlalu pendek membuat skor sulit ditindaklanjuti, sedangkan horizon yang terlalu panjang memasukkan peristiwa yang mungkin sudah dipengaruhi oleh intervensi itu sendiri.

Audit data mentah sebelum pemodelan

Data pelanggan biasanya mencampur kolom numerik, kategorikal, dan histori transaksi atau perilaku. Periksa hal-hal berikut sebelum membuat fitur apa pun:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Skema dan tipe data: pastikan kolom numerik tidak tersimpan sebagai teks. Studi Mettle dkk. secara eksplisit menangani nilai Total Charges yang tidak valid pada dataset IBM Telco.
  • ID dan duplikasi: pastikan satu baris per pelanggan pada titik observasi, atau dokumentasikan unit analisis lain yang dipakai.
  • Nilai hilang: catat jumlah dan polanya. Nilai hilang yang berkorelasi dengan churn adalah sinyal, bukan sekadar kekurangan data.
  • Outlier dan perubahan definisi: cek apakah kode paket, kategori layanan, atau cara menghitung tagihan berubah di tengah periode.
  • Waktu ketersediaan: untuk setiap kolom, tanyakan kapan nilainya terisi. Kolom seperti status penutupan akun atau catatan tim retensi sering baru terisi setelah churn terjadi.
  • Kolom identitas dan salinan label: buang kolom yang hanya berisi ID atau turunan langsung dari label, dan catat alasan pembuangannya.

Tutorial IBM untuk prediksi churn juga memfilter fitur dan mengimputasi nilai hilang sebagai bagian alur kerja. Perlakukan langkah ini sebagai keputusan yang harus dijelaskan, bukan pembersihan kosmetik. Menghapus baris bermasalah juga mengubah populasi. Pada studi Mettle dkk., 7.043 record asli dalam dataset IBM Telco menjadi 5.634 record setelah preprocessing, selisih 1.409 record. Sebelum menghapus baris, hitung proporsi churn dan karakteristik pelanggan yang akan hilang dari sampel.

Bagaimana mencegah data leakage saat validasi?

Data leakage terjadi ketika informasi dari data uji, atau dari masa depan, masuk ke proses belajar. Gejala paling umum adalah skor validasi yang sangat tinggi yang runtuh setelah model dijalankan pada data baru. Aturan praktisnya: setiap langkah yang mempelajari parameter dari data harus di-fit ulang di dalam setiap fold pelatihan.

Rank #2
Sale
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems
  • Use scikit-learn to track an example ML project end to end
  • Explore several models, including support vector machines, decision trees, random forests, and ensemble methods
  • Exploit unsupervised learning techniques such as dimensionality reduction, clustering, and anomaly detection
  • Dive into neural net architectures, including convolutional nets, recurrent nets, generative adversarial networks, autoencoders, diffusion models, and transformers
  • Use TensorFlow and Keras to build and train neural nets for computer vision, natural language processing, generative models, and deep reinforcement learning

Yang boleh belajar hanya dari data latih

  • Imputasi, misalnya nilai median atau modus
  • Encoding kategori dan penskalaan fitur
  • Seleksi fitur
  • Resampling untuk ketidakseimbangan kelas
  • Pembelajaran embedding jika memakai representasi neural
  • Pembobotan atau penggabungan model dalam ensemble
  • Optimisasi threshold prediksi

Studi MetaLight-ChurnNet (2026) menerapkan protokol seperti ini dan hanya menilai test set pada evaluasi akhir. Tutorial IBM juga menahan sebagian data untuk pengujian dan validasi, karena hasil yang hanya dilihat pada data latih tidak menunjukkan kemampuan generalisasi (IBM Documentation, tutorial prediksi churn).

Pemisahan acak bertingkat atau berbasis waktu

Split acak bertingkat (stratified) menjaga proporsi churn di setiap bagian, dan cocok untuk perbandingan awal antar-model. Namun jika data memiliki urutan waktu, split acak dapat memberi gambaran yang terlalu optimistis ketika pola pelanggan berubah antar periode. Untuk memperkirakan kinerja pada deployment mendatang, latih pada periode yang lebih awal dan uji pada periode berikutnya. Tidak ada skema temporal yang cocok untuk semua bisnis; panjang periode sebaiknya mengikuti siklus tagihan dan frekuensi kampanye Anda. Studi yang dirujuk mendukung pemisahan train, validation, dan test, tetapi tidak menetapkan satu skema waktu yang berlaku umum.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Contoh pipeline tanpa kebocoran

Kode berikut menyatukan imputasi, encoding, dan estimator dalam satu objek, sehingga cross-validation menjalankan ulang seluruh tahap di setiap fold. Nama kolom mengikuti skema IBM Telco dan perlu disesuaikan dengan data Anda. Test set dipisahkan sebelum fit apa pun.

import pandas as pdnfrom sklearn.model_selection import train_test_split, StratifiedKFold, cross_validatenfrom sklearn.compose import ColumnTransformernfrom sklearn.pipeline import Pipelinenfrom sklearn.impute import SimpleImputernfrom sklearn.preprocessing import OneHotEncodernfrom sklearn.ensemble import RandomForestClassifiernn# X dan y berasal dari tahap audit; y bernilai 1 untuk churn, 0 untuk tidak churnnnum_cols = ['tenure', 'MonthlyCharges', 'TotalCharges']ncat_cols = ['Contract', 'OnlineSecurity', 'TechSupport']nnprep = ColumnTransformer([n    ('num', SimpleImputer(strategy='median'), num_cols),n    ('cat', Pipeline([n        ('impute', SimpleImputer(strategy='most_frequent')),n        ('onehot', OneHotEncoder(handle_unknown='ignore')),n    ]), cat_cols),n])nnmodel = Pipeline([n    ('prep', prep),n    ('clf', RandomForestClassifier(n_estimators=300, class_weight='balanced', random_state=42)),n])nnX_train, X_test, y_train, y_test = train_test_split(n    X, y, test_size=0.2, stratify=y, random_state=42)nncv = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)nscores = cross_validate(model, X_train, y_train, cv=cv,n                        scoring=['precision', 'recall', 'f1', 'roc_auc'])nn# X_test dan y_test baru dipakai setelah model, threshold, dan konfigurasi dibekukan

Jika memakai SMOTE, tambahkan sebagai langkah di dalam pipeline (paket imbalanced-learn menyediakan Pipeline yang kompatibel dengan scikit-learn), sehingga sampel sintetis hanya dibuat dari fold latih. Menjalankan SMOTE sebelum split adalah bentuk leakage yang sering terlewat.

Bagaimana cara membuat model prediksi customer churn dengan machine learning?

Urutan kerja berikut memastikan setiap model dibandingkan pada kondisi yang sama.

  1. Bekukan definisi label, horizon, dan daftar fitur yang tersedia pada titik observasi. Simpan dalam konfigurasi yang bisa diulang.
  2. Bangun baseline logistic regression dalam pipeline yang sama seperti contoh di atas. Model ini mudah dijelaskan dan menjadi ukuran minimum.
  3. Latih decision tree, random forest, dan boosting seperti XGBoost memakai fold, fitur, dan split yang sama. Catat budget tuning untuk setiap model agar perbandingannya adil.
  4. Jika menguji voting atau stacking, bandingkan ensemble tersebut dengan model tunggal terbaik pada fold yang sama. Ensemble yang tidak mengungguli model tunggal yang lebih sederhana pada metrik yang relevan sebaiknya tidak dipilih hanya karena lebih kompleks.
  5. Pilih satu konfigurasi berdasarkan validasi, lalu evaluasi sekali pada test set. Jika test set dipakai untuk memilih ulang, hasilnya tidak lagi bisa dianggap independen.

Model apa yang paling bagus untuk prediksi churn?

Tidak ada jawaban universal. Pemenang pada studi yang dirujuk berbeda menurut dataset, protokol, dan metrik. Yang bisa dinyatakan dengan jelas adalah apa yang diukur oleh masing-masing studi.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Tiga studi yang dirujuk

Studi Data Model yang dibandingkan Temuan yang dapat dinyatakan Batasan
Mettle dkk., 2026 IBM Telco: 7.043 record asli, 5.634 record setelah preprocessing Decision tree, random forest, XGBoost, logistic regression Random forest unggul pada metrik yang dilaporkan studi tersebut Satu eksperimen; kesimpulan hanya berlaku pada eksperimen itu
Zhou dkk., 2023 Data operator privat: awalnya 900.000 rekaman dan 35 atribut selama tiga bulan; rasio positif-negatif sekitar 1:30 sebelum preprocessing RF-AdaBoost, yang menggabungkan bagging dan boosting Model early warning dipilih dengan mempertimbangkan recall Data dan preprocessing milik studi sendiri; tidak sebanding langsung dengan IBM Telco. Perbandingan lintas-model tidak dikutip di sini (not stated)
MetaLight-ChurnNet, 2026 IBM Telco: 7.043 sampel; Cell2Cell: 51.047 sampel Jalur BiLSTM-CNN dan Autoencoder, keduanya dengan varian berlabel DE Pada IBM Telco, BiLSTM-CNN + DE: F1 0,6172 dan ROC-AUC 0,8457; Autoencoder + DE: F1 0,5873 dan ROC-AUC 0,8470 Hasil berbeda antar dataset dan sangat dipengaruhi target optimisasi serta protokolnya

Dataset IBM adalah contoh publik, bukan representasi semua industri. Pembaca yang membandingkan angka antar-studi perlu memastikan keempat hal berikut sama: pembersihan data, split, penanganan ketidakseimbangan, dan threshold.

Random forest pada IBM Telco yang sudah diproses

Studi Mettle dkk. (2026) melaporkan random forest sebagai model dengan performa terbaik di antara empat model yang diuji, pada 5.634 record yang sudah diproses dengan komposisi 73,5% non-churn dan 26,5% churn. Angka berikut berasal dari satu eksperimen dengan fitur dan split tertentu, sehingga bukan target yang bisa dijanjikan untuk data Anda.

Metrik Nilai Cara membaca
Accuracy 84,73% Terlihat tinggi, tetapi harus dibaca bersama proporsi churn 26,5%
Precision kelas churn 85,20% Dari pelanggan yang diberi tanda churn, sebagian besar memang churn
Recall kelas churn 84,07% Lebih dari empat dari lima pelanggan churn tertangkap
F1 84,62% Sejalan dengan rata-rata harmonik precision dan recall kelas churn di atas
ROC-AUC 93,86% Kemampuan memisahkan skor churn dari non-churn di semua threshold

Pembanding sederhana: logistic regression dan decision tree

Logistic regression mudah dijelaskan melalui koefisiennya dan cepat dilatih, sehingga sering menjadi baseline yang sulit dikalahkan secara berarti. Decision tree menghasilkan aturan yang eksplisit, tetapi mudah overfit jika kedalamnya tidak dibatasi. Studi Mettle dkk. memasukkan keduanya sebagai pembanding, dan kedua model ini sebaiknya selalu hadir dalam tabel perbandingan Anda.

Random forest dan boosting: dua cara mengurangi kesalahan

Random forest menerapkan bagging: banyak pohon dilatih dari sampel acak lalu prediksinya dirata-ratakan, sehingga terutama mengurangi variance. Boosting seperti XGBoost melatih pohon secara berurutan, dengan setiap pohon memperbaiki kesalahan sebelumnya, sehingga berfokus pada pengurangan bias. Studi Zhou dkk. (2023) menjelaskan motivasi menggabungkan keduanya dan menguji RF-AdaBoost pada data operator tersendiri.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Ensemble: kapan layak dan kapan tidak

Voting, stacking, dan rata-rata berbobot layak dipertimbangkan ketika model tunggal membuat jenis kesalahan yang berbeda dan data cukup untuk memvalidasi bobotnya. Risikonya nyata: ensemble lebih sulit dijelaskan, lebih mahal dijalankan, dan bobotnya mudah terlalu menyesuaikan diri dengan validasi. Penelitian terkini menunjukkan ensemble adalah pilihan yang layak untuk diuji, bukan jaminan menang.

Hasil tidak berpindah otomatis antar dataset

Studi MetaLight-ChurnNet melaporkan hasil yang berbeda antara IBM Telco dan Cell2Cell. Studi tersebut juga mengingatkan bahwa perilaku model terkait dengan threshold, tekanan false positive, dan biaya deployment. Model yang unggul di satu basis pelanggan bisa kalah di basis lain, sehingga pemilihan model harus diulang pada data Anda sendiri.

Bagaimana menangani data churn yang tidak seimbang?

Dengan proporsi 26,5% churn, model yang selalu memprediksi “tidak churn” sudah mencapai accuracy 73,5% tanpa mengidentifikasi satu pun pelanggan yang akan pergi. Itulah alasan accuracy tidak boleh menjadi metrik utama. Makin jarang kelas churn, makin besar selisih semu ini.

Teknik Cara kerja Risiko yang perlu dikendalikan
Class weight, misalnya class_weight=’balanced’ Memberi bobot lebih besar pada kesalahan kelas churn saat pelatihan Probabilitas bisa kurang terkalibrasi; cek kalibrasi sebelum memakai skor sebagai peluang
Oversampling dengan SMOTE Membuat sampel sintetis untuk kelas churn Wajib dilakukan di dalam fold latih; sampel sintetis mungkin tidak mewakili pelanggan nyata
Undersampling Mengurangi sampel kelas non-churn Membuang informasi dan membuat hasil lebih tidak stabil antar-run
Penyesuaian threshold Mengubah titik potong probabilitas tanpa melatih ulang model Harus dipilih pada validasi; memilihnya dengan test set adalah leakage

Tidak ada satu teknik yang selalu terbaik. Perlakukan pilihan teknik sebagai bagian dari validasi, dan bandingkan hasilnya menggunakan metrik yang sama dengan threshold yang sama.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Evaluasi dengan tujuan tindakan, bukan skor saja

Laporan evaluasi minimal memuat:

  • Confusion matrix dengan jumlah absolut, bukan hanya persentase.
  • Precision dan recall kelas churn, dengan keputusan eksplisit tentang mana yang lebih mahal jika salah.
  • F1 sebagai ringkasan keseimbangan keduanya.
  • ROC-AUC dan PR-AUC. PR-AUC lebih informatif untuk kelas churn yang jarang.
  • Kalibrasi: apakah pelanggan dengan skor 0,7 benar-benar churn sekitar 70% dari kelompok itu.
  • Lift atau gains pada kelompok yang bisa ditangani tim, misalnya 10% pelanggan dengan skor tertinggi.
  • Biaya per kontak dan biaya false positive, yaitu kampanye yang dikirim kepada pelanggan yang tidak akan churn.

Ilustrasi aritmetika berikut hanya menunjukkan cara membaca metrik, bukan hasil model: dari 1.000 pelanggan dengan 265 churn, tim hanya bisa menghubungi 100 orang. Jika 60 dari 100 yang diberi tanda ternyata churn, precision-nya 60% dan recall-nya 60/265, sekitar 22,6%. Menurunkan threshold agar recall naik akan menambah jumlah pelanggan yang diberi tanda; jika kapasitas tim tetap, tambahan itu sering berarti intervensi yang makin tersebar.

Pilih threshold dari kapasitas dan biaya, lalu bekukan

Threshold adalah keputusan bisnis yang diambil dari validasi, bukan parameter yang disetel sampai test set terlihat bagus. Langkah berikut menjaga keputusan itu tetap jujur:

  1. Hitung kapasitas tim, yaitu jumlah pelanggan yang bisa dihubungi per periode, misalnya per minggu.
  2. Hitung biaya: biaya setiap kontak dan nilai yang hilang jika pelanggan churn tidak dihubungi. Jika angka internal belum tersedia, siapkan dua skenario biaya dan lihat apakah pilihan threshold berubah.
  3. Pada fold validasi, sapu beberapa threshold dan catat precision, recall, jumlah pelanggan yang diberi tanda, serta biaya totalnya.
  4. Pilih threshold yang memenuhi kapasitas dengan biaya terendah, lalu catat alasannya agar bisa ditinjau kembali.
  5. Kunci model, fitur, dan threshold. Jalankan test set sekali. Hasilnya menjadi estimasi awal, bukan dasar untuk mengubah threshold.

Interpretasi: fitur penting menjelaskan pola, bukan penyebab

Importance fitur dan penjelasan lokal menunjukkan faktor mana yang memengaruhi skor. Pada studi Mettle dkk., tenure, kontrak, monthly charges, online security, dan technical support termasuk fitur berpengaruh. Itu asosiasi dalam dataset yang diteliti. Hal itu tidak membuktikan bahwa menambahkan online security akan mencegah churn.

  • Gunakan importance untuk audit model, misalnya untuk menemukan fitur yang tidak masuk akal seperti kolom ID yang lolos dari pembersihan.
  • Gunakan penjelasan lokal untuk satu pelanggan ketika tim perlu tahu alasan skor tinggi, lalu cek apakah alasan itu bisa ditindaklanjuti.
  • Untuk menilai apakah suatu tindakan retensi bekerja, gunakan eksperimen terkontrol dengan kelompok perlakuan dan kelompok kontrol, atau evaluasi kausal.

IBM Research juga pernah meneliti atribut jaringan pelanggan sebagai sinyal churn. Contoh ini menunjukkan bahwa daftar fitur yang berguna sangat bergantung pada produk dan operasi bisnis, sehingga daftar dari satu organisasi tidak otomatis berlaku di organisasi lain.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Pemantauan setelah deployment

Model dapat menurun performanya tanpa perubahan kode, misalnya ketika harga, paket, atau proses layanan berubah. Pantau setiap periode: pergeseran distribusi fitur, kalibrasi, recall, jumlah false positive dan biayanya, serta performa per periode dan per segmen. Tabel berikut memetakan gejala umum ke langkah pemeriksaan:

Gejala Kemungkinan penyebab Langkah pemeriksaan
Skor validasi tinggi, tetapi performa produksi turun Leakage, atau split acak pada data yang berurutan waktu Periksa tanggal setiap fitur terhadap titik observasi, lalu ulangi evaluasi dengan split berbasis waktu
Recall turun, jumlah pelanggan yang diberi tanda stabil Pergeseran fitur atau perubahan perilaku pelanggan Bandingkan distribusi fitur per bulan, lalu latih ulang dengan jendela data terbaru
Jumlah pelanggan yang diberi tanda melonjak Threshold tidak lagi sesuai dengan kapasitas tim Kalibrasi ulang threshold pada data validasi terbaru
Probabilitas tidak sesuai dengan frekuensi churn yang teramati Kalibrasi model menurun Kalibrasi ulang, misalnya dengan isotonic atau sigmoid, memakai data validasi terbaru
Performa berbeda tajam antar segmen Segmen kecil, atau fitur yang sering hilang pada segmen tertentu Evaluasi per segmen dengan jumlah sampel yang cukup sebelum mengambil keputusan

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.