Konsep paling cepat melekat ketika kita melihatnya bekerja pada kasus nyata. Pada chapter penutup Section ini, kita membedah tiga kasus penerapan data science yang paling sering dijumpai di dunia kerja: deteksi churn pelanggan, prakiraan permintaan produk, dan segmentasi pelanggan. Setiap kasus kita urai dengan alur yang sama — masalah, data, teknik, hasil, keputusan — dan setiap kasus kita dukung dengan hitungan Python kecil yang bisa kita jalankan sendiri. Angka pada seluruh kasus adalah angka contoh, tetapi alur kerjanya sama dengan proyek sesungguhnya.

Kasus 1: Deteksi Churn Pelanggan Langganan #

Toko Kopi Kita memiliki layanan langganan kopi bulanan: pelanggan membayar di muka dan menerima kopi setiap pekan. Masalahnya, sejumlah pelanggan berhenti berlangganan tanpa kabar, dan biaya mencari pelanggan baru terbukti jauh lebih besar daripada biaya mempertahankan pelanggan lama. Alur proyeknya terlihat seperti ini:

  • Masalah: pelanggan berhenti tanpa peringatan; tim pemasaran tidak tahu siapa yang perlu dihubungi lebih awal.
  • Data: status aktif atau berhenti tiap pelanggan tiap bulan, frekuensi pengambilan kopi, dan riwayat keluhan.
  • Teknik: hitung churn rate (persentase pelanggan yang berhenti) sebagai ukuran dasar, lalu latih model klasifikasi yang memberi skor risiko berhenti pada tiap pelanggan.
  • Hasil: churn rate bulan berjalan terukur; daftar pelanggan berisiko tinggi tersusun berdasarkan skor.
  • Keputusan: tawaran khusus (misalnya voucher atau satu pekan gratis) diarahkan hanya ke kelompok berisiko tinggi.

Kita hitung dulu ukuran dasarnya. Sepuluh pelanggan langganan diamati selama sebulan; status 1 berarti masih aktif dan 0 berarti berhenti.

python
# Status pelanggan langganan kopi pada bulan ini (1 = aktif, 0 = berhenti)
status = [1, 1, 0, 1, 1, 1, 0, 1, 1, 1]

aktif = sum(status)
berhenti = len(status) - aktif
churn_rate = berhenti / len(status) * 100
print("Pelanggan aktif      :", aktif)
print("Pelanggan berhenti   :", berhenti)
print("Churn rate bulan ini :", churn_rate, "persen")

Output yang Dihasilkan:

text
Pelanggan aktif      : 8
Pelanggan berhenti   : 2
Churn rate bulan ini : 20.0 persen

sum() menghitung jumlah pelanggan aktif karena setiap angka 1 terhitung satu; sisanya pelanggan yang berhenti. Churn rate 20 persen berarti dua dari sepuluh pelanggan hilang dalam sebulan — sinyal yang cukup kuat untuk memicu proyek prediksi churn. Pada proyek sesungguhnya, langkah berikutnya adalah melatih model klasifikasi (seperti yang kita coba pada chapter sebelumnya) agar tiap pelanggan mendapat skor risiko, dan tim pemasaran cukup menghubungi mereka yang skornya paling tinggi.

Kasus 2: Prakiraan Permintaan Produk #

Cabang toko di Bandung kesulitan mengatur pesanan kopi bubuk ke pemasok: pesanan berlebih membuat kopi menumpuk dan menurun kualitasnya, sedangkan pesanan kurang membuat pelanggan beralih ke toko lain. Alur proyeknya:

  • Masalah: jumlah pesanan ke pemasok masih murni dugaan; kelebihan dan kekurangan stok sama-sama merugikan.
  • Data: catatan permintaan kopi bubuk (kilogram) per pekan selama sebulan terakhir.
  • Teknik: prakiraan permintaan pekan depan memakai moving average — rata-rata permintaan tiga pekan terakhir — ditambah cadangan 10 persen sebagai stok pengaman.
  • Hasil: angka prakiraan dan angka pemesanan yang bisa dipertanggungjawabkan.
  • Keputusan: jumlah pesanan ke pemasok ditetapkan mengikuti hasil prakiraan setiap pekan.
python
# Permintaan kopi bubuk Toko Kopi Kita per pekan (kilogram)
permintaan = [40, 44, 43, 47]

prakiraan = sum(permintaan[-3:]) / 3
stok_aman = prakiraan * 1.1
print("Prakiraan pekan depan :", round(prakiraan, 1), "kg")
print("Stok aman (+10%)      :", round(stok_aman, 1), "kg")

Output yang Dihasilkan:

text
Prakiraan pekan depan : 44.7 kg
Stok aman (+10%)      : 49.1 kg

Penggalan permintaan[-3:] mengambil tiga nilai terakhir dari list — 44, 43, dan 47 — lalu dirata-rata menjadi 44.7 kg sebagai prakiraan pekan depan. Cadangan 10 persen menghasilkan angka pemesanan 49.1 kg. Teknik moving average ini adalah titik awal peramalan yang jujur: sederhana, tetapi sudah jauh lebih dapat dipertahankan daripada dugaan. Teknik peramalan yang lebih kuat — memperhitungkan tren dan musiman — kita bahas pada Section Analisis Deret Waktu.

Kasus 3: Segmentasi Pelanggan #

Manajemen toko ingin mengirim siaran promosi lewat pesan singkat, tetapi anggarannya hanya cukup untuk sebagian pelanggan. Mengirim promo yang sama ke semua pelanggan terbukti boros: pelanggan setia tidak butuh diskon untuk tetap membeli, sementara pelanggan yang mulai menjauh justru tidak tergugah. Alur proyeknya:

  • Masalah: satu perlakuan untuk semua pelanggan membuat promosi tidak efisien.
  • Data: frekuensi belanja per bulan dan nilai belanja rata-rata tiap pelanggan.
  • Teknik: beri skor pada tiap pelanggan dari perkalian frekuensi dan nilai belanja, lalu kelompokkan berdasarkan skornya. Pada proyek besar, pengelompokan dilakukan algoritma clustering seperti K-Means — materi Section Unsupervised Learning.
  • Hasil: daftar pelanggan terkelompok, misalnya segmen “loyal” dan segmen “perlu dirawat”.
  • Keputusan: segmen loyal menerima program apresiasi; segmen perlu dirawat menerima penawaran reaktivasi.
python
# Data pelanggan: (frekuensi belanja per bulan, nilai belanja rata-rata, ribu rupiah)
pelanggan = {
    "Budi": (8, 50),
    "Siti": (2, 20),
    "Dewi": (6, 45),
    "Rani": (1, 15),
    "Agus": (7, 55),
}

for nama, (frekuensi, nilai) in sorted(pelanggan.items()):
    skor = frekuensi * nilai
    segmen = "loyal" if skor >= 200 else "perlu dirawat"
    print(nama, "-> skor", skor, "->", segmen)

Output yang Dihasilkan:

text
Agus -> skor 385 -> loyal
Budi -> skor 400 -> loyal
Dewi -> skor 270 -> loyal
Rani -> skor 15 -> perlu dirawat
Siti -> skor 40 -> perlu dirawat

Setiap pelanggan mendapat skor dari perkalian frekuensi dan nilai belanja — misalnya Budi: 8 kunjungan × 50 ribu rupiah = 400. Ambang skor 200 memisahkan tiga pelanggan loyal dari dua pelanggan yang perlu dirawat. Dengan dua daftar ini, tim pemasaran bisa menyiapkan dua pesan yang berbeda: apresiasi untuk yang pertama, tawaran khusus untuk yang kedua — jauh lebih efektif daripada satu siaran untuk semua.

Benang Merah dari Ketiga Kasus #

Ketiga kasus berbeda masalah, tetapi alurnya sama dan mengikuti siklus hidup pada chapter sebelumnya: semuanya dimulai dari masalah bisnis yang nyata, bergerak lewat data yang tersedia, memilih teknik yang paling sederhana yang menjawab masalah, lalu berakhir pada keputusan — bukan pada model. Perhatikan pula bahwa seluruh hitungan pendukungnya selesai dengan Python dasar: list, dictionary, perulangan, dan sedikit aritmetika. Ketika datanya membesar menjadi ribuan baris, hitungan yang sama kita percayakan pada pandas dan NumPy — alat yang dikenalkan pada Section Python untuk Data Science dan dipakai sepanjang Course ini.

Rangkuman #

  • Deteksi churn dimulai dari mengukur churn rate, lalu model klasifikasi memberi skor risiko agar tim pemasaran bertindak lebih awal.
  • Prakiraan permintaan memakai moving average sebagai teknik awal; hasilnya langsung menjadi angka pemesanan yang dapat dipertanggungjawabkan.
  • Segmentasi pelanggan mengelompokkan pelanggan menurut perilaku belanja agar promosi tepat sasaran; clustering melengkapinya saat datanya besar.
  • Ketiga kasus menutup pada keputusan bisnis, bukan pada model — persis seperti alur enam tahap yang kita pelajari.

Dengan demikian Section Pengenalan Data Science tuntas: kita mengenal definisi, peta industri dan peran, batas antarbidang, alur proyek, dan wujud penerapannya. Perjalanan Course ini selanjutnya masuk ke fondasi yang menopang seluruh alat data science: matematika. Kita mulai dari statistika dasar, peluang, dan aljabar linear pada Section Dasar Matematika .