Operasi Tools Advanced dan Team Work
Big Data Analysis | Pertemuan 10 | CPMK 1, 2, 3
Agenda Pertemuan
- Konsep advanced preprocessing
- Framework penanganan masalah bisnis kompleks
- Prinsip kerja tim analitik efektif
- Peran dan tanggung jawab dalam tim
- Demo tools: pandas advanced, scikit-learn pipeline
- Studi kasus bisnis digital Indonesia
- Workshop kolaborasi tim (mini-project)
- Presentasi temuan & review bersama
Tujuan Pembelajaran
- Menerapkan teknik preprocessing lanjutan pada dataset bisnis berskala besar
- Merancang pipeline analitik untuk menyelesaikan masalah bisnis yang kompleks dan multidimensi
- Berkolaborasi dalam tim analitik dengan pembagian peran, komunikasi, dan integrasi hasil kerja yang efektif
Advanced Data Preprocessing
Teknik-teknik lanjutan untuk membersihkan dan menyiapkan data nyata yang kotor
Tantangan Data Nyata di Bisnis Digital
Masalah Umum Data Bisnis
| Masalah | Contoh Nyata |
|---|---|
| Missing values sistemik | Kolom alamat kosong di 40% record pelanggan e-commerce |
| Outlier ekstrem | Transaksi Rp 0 atau Rp 999.999.999 di log pembayaran |
| Duplikasi tersembunyi | User sama mendaftar dua kali dengan email berbeda |
| Inkonsistensi format | "Jakarta", "JKT", "jakarta pusat" merujuk kota sama |
| Data drift | Pola transaksi berubah drastis saat promo Harbolnas |
Model sepintar apa pun akan menghasilkan prediksi yang salah jika data inputnya bermasalah. Preprocessing bukan pekerjaan tambahan — ini adalah inti analitik.
Teknik Advanced Preprocessing
Imputasi Lanjutan
- KNN Imputation: isi nilai hilang berdasarkan tetangga terdekat dalam ruang fitur
- Iterative Imputer (MICE): imputasi berbasis regresi iteratif antar kolom
- Time-aware imputation: untuk data time-series (forward/backward fill kontekstual)
Deteksi & Penanganan Outlier
- IQR method: hapus atau winsorisasi data di luar Q1-1.5×IQR dan Q3+1.5×IQR
- Isolation Forest: deteksi outlier multivariat dengan machine learning
- DBSCAN: identifikasi noise point sebagai outlier potensial
Feature Engineering Lanjutan
- Polynomial features: menangkap interaksi non-linear antar variabel
- Target encoding: encode kategori berdasarkan rata-rata target (hati-hati leakage)
- Binning adaptif: discretisasi berbasis distribusi data aktual
- Temporal features: ekstrak hari, jam, musim dari timestamp
sklearn.pipeline.Pipeline agar proses reproducible dan tidak ada leakage dari data test ke train.Sklearn Pipeline: Dari Data Kotor ke Model Siap Pakai
from sklearn.pipeline import Pipeline
from sklearn.impute import KNNImputer
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier
pipe = Pipeline([
('imputer', KNNImputer(n_neighbors=5)),
('scaler', StandardScaler()),
('model', RandomForestClassifier())
])
pipe.fit(X_train, y_train)
pipe.predict(X_test)Keuntungan Pipeline
- Mencegah data leakage: scaler hanya belajar dari training set
- Reproducible: satu objek untuk fit dan predict
- Mudah di-deploy ke production
- Kompatibel dengan GridSearchCV untuk hyperparameter tuning
.pkl di repositori bersama agar semua anggota tim menggunakan preprocessing yang identik.Handling Complex Business Problems
Framework berpikir dan pendekatan sistematis untuk masalah analitik yang berlapis
Framework Problem Decomposition
CRISP-DM yang Diperluas
| Fase | Pertanyaan Kunci | Output |
|---|---|---|
| Business Understanding | Apa keputusan bisnis yang akan diambil? | Problem statement |
| Data Understanding | Data apa yang tersedia? Seberapa berkualitas? | Data audit report |
| Data Preparation | Transformasi apa yang dibutuhkan? | Clean dataset + pipeline |
| Modeling | Algoritma mana yang sesuai dengan tipe masalah? | Model kandidat |
| Evaluation | Apakah model menjawab pertanyaan bisnis? | Metrik + interpretasi |
| Deployment | Bagaimana insight dikomunikasikan / diintegrasikan? | Dashboard / laporan |
Pertanyaan yang Wajib Dijawab Sebelum Coding
- Apa definisi "sukses" dari sudut pandang bisnis?
- Siapa pengguna akhir dari insight ini?
- Apa konsekuensi dari kesalahan prediksi?
- Apakah data yang tersedia mewakili populasi target?
Jenis Masalah Bisnis dan Pendekatan Analitik
| Jenis Masalah | Contoh Bisnis Digital | Pendekatan | Metrik Evaluasi |
|---|---|---|---|
| Klasifikasi | Prediksi churn pelanggan Gojek | Random Forest, XGBoost, Logistic Regression | F1-score, AUC-ROC, Precision-Recall |
| Regresi | Prediksi nilai transaksi bulanan BCA | Ridge, Gradient Boosting, Neural Network | RMSE, MAE, R² |
| Clustering | Segmentasi pelanggan Tokopedia berdasarkan perilaku | K-Means, DBSCAN, Hierarchical | Silhouette Score, Davies-Bouldin |
| Anomali | Deteksi transaksi fraud BRImo | Isolation Forest, Autoencoder, One-Class SVM | Precision@k, Recall@k |
| Time Series | Forecasting demand produk Telkom | ARIMA, Prophet, LSTM | MAPE, RMSE per horizon |
| Rekomendasi | Produk yang disarankan di Tokopedia | Collaborative Filtering, Content-Based | Hit Rate, NDCG |
Studi Kasus: Reduksi Churn Pelanggan Gojek
Konteks Masalah
- Gojek memiliki ~170 juta pengguna terdaftar di Asia Tenggara (data publik ~2023)
- Churn 1% per bulan = jutaan pengguna hilang per tahun
- Biaya akuisisi pelanggan baru ~5× biaya retensi pelanggan lama
Pendekatan Analitik
- Definisikan "churn": tidak ada transaksi dalam 30 hari terakhir
- Kumpulkan fitur: frekuensi order, nilai transaksi, jenis layanan dipakai, waktu sesi aplikasi
- Label data historis: siapa yang churn dalam 30 hari berikutnya?
- Train model klasifikasi dengan cross-validation temporal
- Deploy: kirim promo personal ke prediksi churn tinggi
Tantangan Preprocessing Khas
- Class imbalance: pelanggan churn jauh lebih sedikit daripada yang aktif — gunakan SMOTE atau class_weight='balanced'
- Temporal leakage: fitur tidak boleh menggunakan data yang terjadi SETELAH tanggal prediksi
- Cold start: pelanggan baru tidak punya riwayat cukup — butuh strategi khusus
Team-Based Analytics Projects
Kolaborasi efektif dalam tim analitik: peran, komunikasi, dan integrasi hasil
Struktur Tim Analitik yang Efektif
Peran dalam Tim Data (untuk Proyek Kelas)
| Peran | Tanggung Jawab Utama |
|---|---|
| Project Lead | Koordinasi, timeline, komunikasi dengan "klien" (dosen) |
| Data Engineer | Akuisisi data, cleaning pipeline, manajemen dataset |
| Data Analyst | EDA, feature engineering, interpretasi statistik |
| ML Engineer | Modeling, evaluasi, hyperparameter tuning |
| Communicator | Visualisasi, presentasi, laporan akhir |
* Satu orang bisa memegang 1-2 peran di tim kecil
Protokol Kolaborasi
- Version control: gunakan Git/GitHub untuk semua kode — tidak boleh kirim file via WhatsApp
- Naming convention: sepakati nama variabel, fungsi, dan file sebelum coding dimulai
- Daily standup: 10 menit setiap hari: apa yang sudah selesai, apa yang akan dikerjakan, ada blocker apa
- Code review: minimal satu orang lain review sebelum merge ke main branch
- Dokumentasi: setiap fungsi wajib punya docstring; keputusan penting dicatat di README
Workflow Kolaborasi: Git untuk Tim Analitik
Struktur Repository Tim
project-analitik/
├── data/
│ ├── raw/ # data asli, JANGAN diubah
│ └── processed/ # hasil preprocessing
├── notebooks/
│ ├── 01_eda.ipynb
│ ├── 02_preprocessing.ipynb
│ └── 03_modeling.ipynb
├── src/
│ ├── preprocess.py
│ └── evaluate.py
├── reports/
│ └── final_report.pdf
└── README.mdBranching Strategy untuk Tim Kelas
- main: kode yang sudah direview dan siap presentasi
- dev: integrasi pekerjaan semua anggota
- feature/[nama]-[tugas]: misalnya
feature/ali-preprocessing
1. Buat branch dari dev
2. Kerjakan tugas Anda
3. Buat pull request ke dev
4. Satu teman review
5. Merge jika disetujui
6. Presentasi dari main
Studi Kasus Tim: Analisis Segmentasi Pelanggan BCA
Konteks Proyek
- BCA memiliki ~35 juta rekening aktif (data publik)
- Tim marketing ingin personalisasi promosi berdasarkan perilaku transaksi
- Dataset: ~1 juta sampel transaksi per bulan (simulasi)
Pembagian Tugas Tim (4 orang)
| Anggota | Tugas | Deliverable |
|---|---|---|
| A (Lead) | Business framing & koordinasi | Problem statement doc |
| B (Data Eng) | Cleaning & pipeline | clean_data.csv + pipeline.pkl |
| C (Analyst) | EDA & feature eng | EDA notebook + fitur baru |
| D (Comm) | Clustering & visualisasi | Segmen + dashboard |
Fitur yang Dibangun Bersama
- RFM Analysis: Recency (kapan terakhir transaksi), Frequency (berapa kali per bulan), Monetary (berapa nilai rata-rata transaksi)
- Temporal features: apakah lebih aktif di akhir bulan (gajian)?
- Channel preference: mobile banking vs ATM vs teller
Komunikasi dalam Tim Analitik
- Standup harian 10 menit: progress, rencana, blocker
- Dokumentasi keputusan di shared doc
- Eskalasi masalah teknis dalam 2 jam, jangan simpan sendiri
- Pair programming untuk bagian kritis
- Bahasa non-teknis untuk manajer bisnis
- Fokus pada implikasi bisnis, bukan detail teknis model
- Visual > angka mentah: gunakan chart yang intuitif
- Selalu sertakan ketidakpastian dan limitasi
- Konflik teknis: uji dengan data, bukan opini
- Konflik prioritas: kembali ke problem statement
- Konflik interpersonal: mediasi early, libatkan lead
- Dokumentasi keputusan yang diperdebatkan
Diagram: Pipeline Tim Analitik Terintegrasi
Rangkuman Pertemuan 10
Teknik seperti KNN Imputation, Isolation Forest, dan sklearn Pipeline bukan fitur mewah — ini kebutuhan dasar untuk menangani data bisnis nyata yang kotor dan kompleks.
Gunakan CRISP-DM sebagai panduan: pahami masalah bisnis, audit data, baru modeling. Mendefinisikan target variabel adalah keputusan bisnis, bukan keputusan teknis.
Pembagian peran yang jelas, protokol kolaborasi (Git, standup, code review), dan komunikasi yang efektif adalah multiplier dari kemampuan teknis individu.
Model terbaik pun tidak berguna jika insight-nya tidak bisa dikomunikasikan ke pengambil keputusan bisnis. Kemampuan bercerita dengan data adalah skill yang harus terus diasah.
CRISP-DM bersifat iteratif. Kembali ke fase sebelumnya bukan kegagalan — itu adalah tanda bahwa Anda belajar dari data dan menyempurnakan pendekatan.
Tugas & Diskusi
- Bentuk kelompok 3-5 orang, tetapkan peran masing-masing
- Pilih dataset bisnis Indonesia (bisa dari Kaggle Indonesia, BPS, atau dataset simulasi yang disediakan dosen)
- Terapkan minimal 2 teknik preprocessing advanced yang dibahas hari ini
- Buat sklearn Pipeline yang mencakup seluruh alur preprocessing
- Identifikasi tipe masalah bisnis dan pilih pendekatan analitik yang sesuai
- Dokumentasikan pembagian tugas dan workflow Git tim dalam README
- Menurut Anda, mengapa temporal leakage sangat berbahaya dalam model prediksi bisnis? Berikan contoh dari konteks Indonesia.
- Bagaimana Anda menjelaskan perbedaan antara segmen pelanggan kepada manajer marketing yang tidak berlatar belakang data?
- Apa tantangan terbesar dalam koordinasi tim analitik yang pernah Anda alami atau bayangkan?
Terima Kasih & Sesi Tanya Jawab
Silakan ajukan pertanyaan mengenai materi hari ini
Kita akan belajar bagaimana memilih jenis visualisasi yang tepat, membangun dashboard interaktif, dan mengubah temuan analitik menjadi rekomendasi strategis yang dapat ditindaklanjuti oleh manajemen.
Install Matplotlib, Seaborn, dan Plotly di environment Anda
Storytelling with Data — Cole Nussbaumer Knaflic (Bab 1-3)
Siapkan hasil clustering dari tugas kelompok untuk divisualisasikan di P11