ChurnPulse
Prediksi pelanggan berhenti berlangganan, dengan alasan yang bisa dibaca.
- Peran
- Machine learning engineer
- Tahun
- 2025
- Status
- Prototipe
- Tech stack
- Pythonscikit-learnFastAPIPandasDocker
Pratinjau ini adalah ilustrasi antarmuka, bukan tangkapan layar data pelanggan.
Masalah
Banyak model churn hanya memberi skor tanpa alasan, sehingga tim tidak tahu harus berbuat apa. Data pelanggan juga kotor: kolom kosong, duplikat, dan label yang tidak seimbang.
Pendekatan
Saya membersihkan data dengan pipeline yang bisa diulang, membandingkan regresi logistik, random forest, dan gradient boosting, lalu memilih model dengan trade-off terbaik antara recall dan presisi. Saya menambahkan permutation importance dan ringkasan SHAP agar setiap prediksi punya penjelasan.
Fitur utama
- Pipeline pembersihan data yang deterministik.
- Perbandingan tiga model dengan validasi silang.
- Endpoint prediksi batch dan tunggal.
- Ringkasan faktor risiko per pelanggan.
Hasil
- 01
ROC-AUC 0,86 pada data uji yang dipisahkan secara stratifikasi.
- 02
Recall kelas churn naik dari 0,61 menjadi 0,78 setelah penyesuaian threshold.
- 03
Tim retensi mendapat daftar prioritas harian, bukan sekadar model di notebook.
Catatan
Model yang tidak bisa dijelaskan jarang dipakai. Menambahkan alasan sederhana membuat hasilnya dipercaya, meski akurasinya tidak berubah.
Punya tantangan serupa?
Saya senang membahas masalah teknis, bahkan sebelum ada anggaran atau spesifikasi lengkap.