CRISP-DM: 6 Fase Data Mining plus Contoh Proyek Toko Sembako
TL;DR
CRISP-DM adalah kerangka kerja standar untuk proyek data mining yang terdiri dari 6 fase: Business Understanding, Data Understanding, Data Preparation, Modeling, Evaluation, dan Deployment. Kerangka ini dirilis tahun 1999 oleh konsorsium yang isinya SPSS, NCR, Daimler-Benz, dan OHRA, dan sampai sekarang masih jadi urutan kerja paling umum di tim data. Sifatnya berputar, jadi kamu boleh balik ke fase sebelumnya kapan pun temuan baru muncul.
CRISP-DM adalah kerangka kerja 6 fase untuk ngerjain proyek data mining, mulai dari ngerti masalah bisnis sampai modelnya dipakai beneran di lapangan.
Namanya kepanjangan dari CRoss Industry Standard Process for Data Mining. Dirilis tahun 1999 sama konsorsium yang isinya SPSS, NCR, Daimler-Benz, dan OHRA.
Umurnya udah lewat 25 tahun. Tapi urutannya masih kepakai di hampir semua tim data yang aku temui, termasuk tim yang kerjanya cuma pakai spreadsheet.
Yang bikin kerangka ini awet: dia mulai dari pertanyaan bisnis, bukan dari algoritma.
Apa itu CRISP-DM?
CRISP-DM adalah proses standar lintas industri untuk data mining yang membagi satu proyek jadi enam fase berurutan: Business Understanding, Data Understanding, Data Preparation, Modeling, Evaluation, dan Deployment. Bentuknya lingkaran, bukan garis lurus, jadi kamu boleh balik ke fase sebelumnya waktu nemu hal baru.
Dokumentasi lengkapnya sampai sekarang masih dirawat IBM sebagai bagian dari CRISP-DM Help di SPSS Modeler.
Kalau kamu masih baru di topik ini, baca dulu pengertian data mining dan contoh penerapannya biar istilah-istilah di bawah nggak berasa asing.
| Fase | Pertanyaan inti | Hasil yang harus ada |
|---|---|---|
| 1. Business Understanding | Masalah bisnisnya apa? | Tujuan bisnis + kriteria sukses berangka |
| 2. Data Understanding | Data yang ada isinya apa? | Laporan kualitas data |
| 3. Data Preparation | Data mana yang dipakai dan bentuknya gimana? | Dataset final siap model |
| 4. Modeling | Teknik apa yang cocok? | Model + parameter + catatan uji |
| 5. Evaluation | Hasilnya jawab masalah tadi nggak? | Keputusan lanjut atau ulang |
| 6. Deployment | Siapa yang pakai dan gimana caranya? | Rencana pemakaian + pemantauan |
Fase 1: gimana cara nentuin tujuan bisnis proyek data mining?
Tulis satu kalimat masalah bisnis, lalu terjemahin jadi target data mining yang bisa diukur angkanya. Contoh: masalah bisnisnya pelanggan lama berhenti belanja, target data mining-nya bikin daftar pelanggan yang kemungkinan berhenti bulan depan dengan ketepatan minimal 70 persen.
Fase ini paling sering diloncatin. Padahal proyek yang mati di tengah jalan biasanya mati di sini, gara-gara nggak ada yang sepakat soal ukuran suksesnya.
Empat hal yang harus kelar sebelum kamu buka datanya:
- Tujuan bisnis dalam bahasa orang non teknis.
- Kriteria sukses bisnis, harus ada angkanya. "Setoran naik" itu bukan kriteria. "Retensi pelanggan naik dari 34 persen ke 40 persen dalam 3 bulan" itu baru kriteria.
- Inventaris sumber daya: data apa yang bisa diakses, siapa yang punya, berapa lama waktu kamu.
- Rencana proyek kasar, per fase, dalam hitungan minggu.
Satu trik yang bantu banget: tanya ke pemilik masalah, "kalau hasilnya keluar besok, kamu bakal ngapain?" Kalau jawabannya "ya dilihat aja", proyeknya belum layak jalan.
Fase 2: apa yang dicek waktu Data Understanding?
Data Understanding adalah fase buat kenalan sama datanya: berapa baris, kolomnya apa aja, tipe datanya apa, mana yang kosong, dan mana yang aneh. Hasilnya laporan kualitas data yang jujur, termasuk daftar masalah yang belum kamu benerin.
Empat langkah standarnya: kumpulin data awal, deskripsiin, telusuri isinya, lalu verifikasi kualitasnya.
Yang aku cek pertama kali di setiap dataset baru:
- Jumlah baris per bulan. Kalau ada bulan yang tiba-tiba anjlok, biasanya ada masalah ekspor, bukan masalah bisnis.
- Persentase nilai kosong per kolom.
- Nilai minimum dan maksimum tiap kolom angka. Harga negatif dan qty nol muncul di hampir semua data POS.
- Jumlah nilai unik di kolom kategori. Kalau kolom "kota" punya 340 nilai unik padahal cuma jualan di 12 kota, berarti input manualnya berantakan.
Angka yang keluar di sini bakal ngerombak asumsi kamu di fase 1. Itu wajar, dan itu alasan panah di diagram CRISP-DM bolak-balik antara fase 1 dan 2.
Fase 3: kenapa Data Preparation makan waktu paling lama?
Data Preparation adalah fase nyusun dataset final: milih baris dan kolom, bersihin nilai salah, bikin kolom turunan, gabungin tabel, lalu ganti format sesuai kebutuhan model. Di proyek nyata, fase ini rutin makan 50 sampai 70 persen total jam kerja.
Kerjaan utamanya lima:
- Seleksi. Buang kolom yang nggak kepakai dan baris yang di luar cakupan, misalnya transaksi karyawan atau akun percobaan.
- Pembersihan. Benerin nilai kosong, duplikat, dan nilai ekstrem. Urutannya bisa kamu ikutin dari checklist data cleaning.
- Konstruksi. Bikin kolom baru: umur pelanggan, jarak hari sejak transaksi terakhir, margin per item.
- Integrasi. Gabungin tabel transaksi sama tabel produk dan tabel pelanggan.
- Format. Ubah tanggal jadi tipe date, kategori jadi angka kalau modelnya butuh.
Catat semua transformasi. Enam minggu lagi kamu bakal ditanya kenapa angka di laporan beda tipis sama angka di sistem kasir, dan catatan ini yang nyelametin kamu.
Fase 4: gimana milih teknik di fase Modeling?
Pilih teknik dari bentuk pertanyaannya, bukan dari yang lagi ramai dibahas. Mau nebak angka, pakai regresi. Mau nebak label ya atau nggak, pakai klasifikasi. Mau ngelompokin tanpa label, pakai clustering. Mau nyari barang yang sering dibeli bareng, pakai association rules.
| Pertanyaan bisnis | Jenis tugas | Teknik umum |
|---|---|---|
| Berapa penjualan bulan depan? | Prediksi angka | Regresi linear, ARIMA |
| Pelanggan ini bakal berhenti nggak? | Klasifikasi | Decision tree, logistic regression |
| Pelanggan aku ada berapa tipe? | Clustering | K-Means |
| Barang apa yang sering dibeli bareng? | Association | Apriori, FP-Growth |
Sebelum ngelatih model, pisahin data latih dan data uji. Tanpa itu, angka akurasi kamu cuma ngukur seberapa bagus model ngapalin data lama.
Buat proyek pertama, mulai dari model paling sederhana. Decision tree yang bisa kamu gambar ulang di papan tulis lebih berguna daripada ensemble rumit yang nggak bisa kamu jelasin ke manajer toko.
Fase 5 dan 6: kapan model dianggap layak dipakai?
Model layak dipakai kalau hasilnya lewat kriteria sukses bisnis yang kamu tulis di fase 1, bukan cuma lewat angka akurasi. Evaluation ngebandingin hasil model sama target awal, lalu mutusin tiga pilihan: lanjut ke deployment, balik ke fase sebelumnya, atau hentiin proyek.
Bedanya sama pengujian teknis di fase Modeling: di fase 4 kamu nanya "modelnya bener secara statistik nggak", di fase 5 kamu nanya "hasilnya kepakai nggak sama orang yang minta".
Deployment nggak selalu berarti API dan server. Tiga bentuk paling umum yang aku lihat di UMKM:
- Daftar nama yang dikirim ke tim penjualan tiap Senin pagi.
- Dashboard sederhana yang di-refresh mingguan.
- Aturan sederhana hasil model yang dipasang di sistem kasir, misalnya potongan otomatis buat pelanggan segmen tertentu.
Satu bagian yang paling sering ketinggalan: rencana pemantauan. Tulis kapan model dicek ulang dan angka apa yang jadi tanda model udah melenceng.
Contoh kasus: CRISP-DM di data toko_berkah
Dataset toko_berkah punya ngulikdata isinya transaksi 12 bulan dari satu toko sembako di Bekasi. Total 41.892 baris transaksi dari 3.104 pelanggan yang punya kartu member.
Fase 1. Masalahnya: pemilik toko ngerasa pelanggan member banyak yang hilang tapi nggak tau berapa dan siapa. Target data mining-nya bikin daftar member yang berisiko berhenti belanja, dan kriteria suksesnya daftar itu harus bisa dipakai buat kampanye WhatsApp dengan minimal 500 nama.
Fase 2. Waktu dicek, kolom member_id kosong di 38,7 persen baris. Ternyata kasir cuma nanya kartu member kalau belanjanya di atas Rp 50.000. Temuan ini langsung ngerombak cakupan proyek: analisis cuma bisa jalan buat transaksi bermember.
Fase 3. Setelah baris tanpa member dibuang, sisa 25.678 baris. Dari situ, 6,3 persen kena buang lagi gara-gara qty nol atau harga negatif dari retur yang kecatat dobel. Aku bikin tiga kolom turunan per member: jarak hari sejak belanja terakhir, jumlah transaksi setahun, dan total belanja.
Fase 4. Tekniknya segmentasi RFM, bukan model rumit. Alasannya pemilik toko harus bisa ngerti logikanya tanpa aku dampingi. Cara nyusun query-nya ada di panduan RFM analysis dengan SQL.
Fase 5. Hasilnya 4 segmen. Segmen "pernah rajin, sekarang hilang" isinya 418 member dengan rata-rata belanja historis Rp 87.400 per transaksi. Angka itu lewat kriteria sukses? Nggak, targetnya 500 nama. Jadi ambang jarak hari dilonggarin dari 90 hari ke 60 hari, dan jumlahnya naik jadi 612 member.
Fase 6. Deployment-nya sederhana: satu file berisi nama dan nomor WhatsApp, dikirim tiap awal bulan, plus catatan segmen mana yang dapat pesan apa. Pemantauannya satu angka, berapa persen nama di daftar bulan lalu yang balik belanja bulan ini.
Iterasi di fase 5 itu poin pentingnya. Kalau kriteria suksesnya nggak ditulis di awal, aku nggak akan tau kapan harus balik dan longgarin ambangnya.
Kesalahan umum waktu pakai CRISP-DM
- Langsung lompat ke Modeling. Gejalanya: kamu udah nyoba 5 algoritma tapi belum bisa jawab "berhasilnya kayak gimana".
- Kriteria sukses tanpa angka. "Biar lebih paham pelanggan" nggak bisa dievaluasi, jadi fase 5 kamu bakal jadi debat opini.
- Nggak nyatet transformasi data. Ini yang bikin hasil kamu nggak bisa diulang bulan depan.
- Nganggap alurnya sekali jalan. Balik ke fase sebelumnya itu fitur, bukan kegagalan.
- Berhenti di Evaluation. Model yang cuma ada di laptop kamu nilainya nol buat bisnis.
- Nggak ngecek outlier sebelum modeling. Satu transaksi grosir Rp 12 juta bisa narik rata-rata segmen kamu jauh melenceng. Cek dulu apa itu outlier dan cara nanganinnya.
Buat kamu yang ngerjain fase 3 di spreadsheet, rumus SUMIFS dan COUNTIFS udah cukup buat bikin kolom turunan per pelanggan. Nggak perlu tool berat dulu.
FAQ
CRISP-DM itu wajib diikuti urut dari 1 sampai 6?
Nggak wajib urut kaku. CRISP-DM sendiri digambar sebagai lingkaran, bukan garis lurus. Panah balik antara Business Understanding dan Data Understanding itu bagian resmi dari diagramnya. Yang penting kamu nggak lompat ke Modeling sebelum tau data kamu isinya apa. Balik ke fase sebelumnya itu normal, bukan tanda proyek kamu gagal.
Apa bedanya CRISP-DM sama KDD dan SEMMA?
KDD lebih dulu ada dan fokusnya akademis, mulai dari seleksi data sampai interpretasi pola. SEMMA dibuat SAS dan cuma nutup bagian teknis: Sample, Explore, Modify, Model, Assess. CRISP-DM lebih luas soalnya dia mulai dari tujuan bisnis dan berakhir di deployment. Buat proyek kantor, CRISP-DM biasanya paling gampang dijelasin ke atasan yang nggak ngerti teknis.
Fase mana yang paling makan waktu?
Data Preparation. Di proyek yang aku kerjain, pembersihan dan penggabungan data rutin makan 50 sampai 70 persen total jam kerja. Modeling malah sering cuma sehari dua hari soalnya library-nya udah nyiapin semuanya. Kalau estimasi proyek kamu ngasih porsi besar ke modeling, kemungkinan besar estimasinya meleset.
Bisa nggak pakai CRISP-DM cuma dengan Excel?
Bisa. Enam fase itu soal urutan berpikir, bukan soal tool. Business Understanding cukup dokumen satu halaman. Data Preparation bisa jalan pakai Power Query. Modeling sederhana kayak segmentasi RFM bisa pakai rumus dan pivot table. Yang berat cuma kalau datanya udah lewat sejuta baris, di situ baru kamu butuh SQL atau Python.
Deliverable apa yang harus ada di tiap fase?
Minimal satu dokumen per fase. Business Understanding hasilnya tujuan bisnis plus kriteria sukses berangka. Data Understanding hasilnya laporan kualitas data. Data Preparation hasilnya dataset final plus catatan transformasi. Modeling hasilnya model dan parameternya. Evaluation hasilnya perbandingan hasil model sama kriteria sukses tadi. Deployment hasilnya rencana pemakaian dan pemantauan.
Mulai dari mana
Tiga hal yang paling nentuin hasil proyek data mining kamu: kriteria sukses berangka di fase 1, laporan kualitas data yang jujur di fase 2, dan catatan transformasi di fase 3.
Sisanya nyusul.
Ambil satu file transaksi yang ada di laptop kamu sekarang, lalu tulis satu halaman Business Understanding buat data itu. Lima belas menit cukup.
Habis itu lanjut ke tahapan data mining dari seleksi sampai evaluasi pola buat lihat versi teknis per langkahnya.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Artikel terkait
Pandas groupby: Agregasi Data ala Pivot di Python (2026)
groupby ngelompokin baris berdasarkan kolom, lalu ngitung ringkasan per grup kayak total atau rata-rata. Ini pivot-nya pandas.
Pandas to_excel: Ekspor DataFrame ke Excel (2026)
to_excel nyimpen DataFrame pandas jadi file Excel .xlsx. Ini cara pakainya, dari satu sheet sampai banyak sheet, plus setelan yang bikin hasilnya rapi.
Pandas read_excel: Baca File Excel di Python
pandas read_excel baca file Excel jadi DataFrame, bisa pilih sheet tertentu dan lompatin baris judul yang berantakan. Ini cara pakai plus parameter penting dengan contoh data toko.