TL;DR
Uji hipotesis adalah metode statistik buat ngecek apakah perbedaan yang kamu lihat di data itu nyata atau cuma kebetulan sampling. Alurnya: tulis dugaan awal (H0 dan H1), kumpulin data, hitung p-value, lalu putuskan. Kalau p-value di bawah 0,05, perbedaannya kecil kemungkinan kebetulan, tapi itu nggak berarti perbedaannya penting buat bisnis.
Uji hipotesis adalah cara ngecek apakah perbedaan yang kamu lihat di data itu nyata, atau cuma kebetulan dari sampel yang kamu ambil.
Itu doang.
Masalahnya, di kampus topik ini diajarin lewat tabel z, rumus panjang, dan soal tentang tinggi badan mahasiswa. Padahal yang kamu butuhin di kerjaan cuma satu: bisa jawab "ini beneran naik, atau cuma hoki?"
Uji hipotesis adalah prosedur buat mutusin apakah pola di data kamu cukup kuat buat disebut nyata, atau masih masuk akal kalau itu cuma variasi acak. Kamu mulai dari asumsi "nggak ada perbedaan", lalu lihat seberapa aneh data kamu kalau asumsi itu benar.
Contoh konkret. Toko kamu ganti tampilan halaman checkout. Minggu lalu konversi 5,2%. Minggu ini 5,8%.
Naik 0,6 poin. Tim marketing udah mau bikin selebrasi.
Tapi tunggu. Konversi tiap minggu memang naik-turun sendiri, bahkan tanpa ganti apa pun. Pertanyaannya: 0,6 poin ini di luar naik-turun normal, atau masih di dalamnya?
Itu yang mau dijawab sama uji hipotesis.
Dua dugaan yang kamu tulis sebelum lihat hasil.
H0 (hipotesis nol): Nggak ada perbedaan. Tampilan baru sama aja sama yang lama.
H1 (hipotesis alternatif): Ada perbedaan. Tampilan baru beda hasilnya.
Kamu selalu mulai dengan menganggap H0 benar. Tugas kamu ngumpulin bukti yang cukup kuat buat nolak H0.
Ini kebalik dari intuisi. Kamu nggak lagi buktiin bahwa tampilan baru lebih bagus. Kamu lagi ngecek apakah data kamu terlalu aneh buat dijelasin oleh "nggak ada bedanya".
Kenapa dibalik gitu? Soalnya lebih gampang nolak satu kemungkinan spesifik daripada buktiin satu dari tak hingga kemungkinan.
P-value adalah peluang kamu dapet hasil sekstrem ini, kalau H0 sebenernya benar.
Kalau p-value = 0,03, artinya: seandainya tampilan baru dan lama beneran sama persis, cuma ada 3% kemungkinan kamu ngeliat selisih segede ini gara-gara kebetulan.
Tiga persen itu kecil. Jadi masuk akal kalau kamu bilang "kayaknya H0 salah" dan nolak H0.
Ambang 0,05 itu konvensi. Ronald Fisher yang populerin di 1920-an sebagai patokan praktis, dan orang keterusan pakai sampai sekarang. Nggak ada hukum alam yang bilang 0,05 itu titik ajaib.
Buat A/B test marketing, 0,05 wajar. Buat uji obat, orang pakai 0,01 atau lebih ketat. Risikonya beda.
Aturannya: tentuin ambangnya sebelum kamu lihat data. Kalau kamu geser ambang setelah lihat hasil, kamu bukan lagi nguji, kamu lagi cari pembenaran.
scipy.stats), R, atau kalkulator A/B test online.Langkah 7 itu yang paling sering dilupain.
Aku pakai dataset toko_berkah, 12.400 transaksi, 3 cabang.
Skenarionya: cabang Depok kasih diskon 10% buat pembelian di atas Rp 100.000 selama 4 minggu. Cabang Bekasi nggak dikasih apa-apa. Pertanyaannya: promo ini naikin rata-rata nilai transaksi atau nggak?
| Cabang | Jumlah transaksi | Rata-rata nilai | Standar deviasi |
|---|---|---|---|
| Depok (promo) | 1.842 | Rp 87.400 | Rp 41.200 |
| Bekasi (kontrol) | 1.756 | Rp 81.900 | Rp 39.800 |
Selisihnya Rp 5.500. Kelihatan bagus. Tapi tiap transaksi naik-turunnya gede banget (standar deviasi Rp 40 ribuan), jadi belum tentu itu efek promo.
Aku jalanin two-sample t-test. Hasilnya: p-value = 0,0001.
Jauh di bawah 0,05. Jadi selisih Rp 5.500 itu kecil banget kemungkinannya kebetulan. Promonya beneran ngefek.
Tapi sekarang pertanyaan kedua, dan ini yang lebih penting: apakah Rp 5.500 itu untung?
Diskon 10% dari transaksi Rp 87.400 itu sekitar Rp 8.700 yang kamu kasih ke pelanggan. Kamu naikin nilai transaksi Rp 5.500, tapi ngasih diskon Rp 8.700.
Secara statistik: signifikan. Secara bisnis: rugi Rp 3.200 per transaksi.
Ini yang aku maksud. P-value cuma bilang "perbedaannya nyata". Dia nggak bilang "perbedaannya worth it".
1. "p-value = 0,03 berarti ada 97% kemungkinan hipotesisku benar." Salah. P-value ngukur seberapa aneh data kamu kalau H0 benar. Dia nggak ngasih peluang bahwa H1 benar. Ini salah tafsir paling umum, dan bahkan sering muncul di paper akademik.
2. "p-value di atas 0,05 berarti nggak ada perbedaan." Salah. Itu cuma berarti kamu belum punya bukti cukup. Bisa jadi sampel kamu kekecilan. Nggak ada bukti perbedaan ≠ bukti nggak ada perbedaan.
3. Berhenti test begitu p-value turun di bawah 0,05. Ini namanya peeking, dan ini bikin false positive melonjak. Kalau kamu ngintip tiap hari dan berhenti pas hasilnya bagus, kamu dijamin nemu "kemenangan" palsu. Tentuin sampel target di awal, jalanin sampai kelar.
4. Nyamain signifikan statistik sama penting secara bisnis. Di sampel 500 ribu orang, selisih konversi 0,01% bisa dapet p-value 0,001. Signifikan? Iya. Berarti buat bisnis? Nggak sama sekali. Selalu lihat seberapa besar perbedaannya, bukan cuma apakah dia ada.
Kalau perbedaannya jelas banget dan konsisten selama berbulan-bulan, kamu nggak butuh p-value buat yakin. Omzet naik dari Rp 40 juta ke Rp 90 juta selama 6 bulan berturut-turut? Itu nyata. Nggak usah dites.
Uji hipotesis berguna di zona abu-abu, waktu selisihnya kecil dan kamu nggak yakin itu sinyal atau noise.
Buat ngitung rata-rata dan sebaran datanya dulu sebelum tes apa pun, kamu bisa pakai fungsi AVG dan standar deviasi.
Uji hipotesis adalah cara ngecek apakah perbedaan yang kamu lihat di data itu nyata atau cuma kebetulan. Misalnya versi A landing page dapat konversi 5,2 persen dan versi B dapat 5,8 persen. Uji hipotesis jawab pertanyaan: selisih 0,6 persen ini beneran, atau cuma keberuntungan dari sampel yang kebetulan bagus?
P-value adalah peluang kamu ngeliat hasil sekstrem ini kalau sebenernya nggak ada perbedaan sama sekali. Kalau p-value 0,03, artinya cuma ada 3 persen kemungkinan kamu dapat selisih segini gara-gara kebetulan doang. P-value bukan peluang bahwa hipotesis kamu benar. Ini salah tafsir yang paling sering kejadian.
Angka 0,05 itu konvensi, bukan hukum alam. Ronald Fisher yang populerin di tahun 1920-an sebagai patokan praktis. Buat A/B test marketing, 0,05 udah cukup. Buat uji obat atau keputusan yang risikonya gede, orang biasanya pakai 0,01 supaya lebih ketat. Tentuin ambangnya sebelum lihat data, bukan sesudah.
Tergantung seberapa kecil perbedaan yang mau kamu deteksi. Makin kecil perbedaannya, makin banyak sampel yang perlu. Buat A/B test dengan baseline konversi 5 persen dan kamu mau deteksi kenaikan 1 poin, kamu butuh sekitar 7.000 pengunjung per varian. Hitung ini sebelum test jalan, bukan sesudah.
Nggak juga. P-value tinggi cuma berarti kamu belum punya bukti cukup buat bilang ada perbedaan. Bisa jadi perbedaannya memang nol, bisa juga sampel kamu kekecilan buat nangkepnya. Nggak ada bukti perbedaan itu beda banget artinya sama bukti nggak ada perbedaan.
P-value jawab "apakah perbedaan ini nyata". Ukuran efek jawab "apakah perbedaan ini berarti". Kamu butuh dua-duanya sebelum ngambil keputusan.
Dan kalau kamu cuma inget satu hal: tentuin ambang dan target sampel sebelum lihat data. Itu satu kebiasaan yang nyelametin kamu dari 80% kesalahan.
Mau lanjut ke praktik? Baca cara baca hasil A/B test tanpa ketipu. Di situ ada kalkulator sample size dan contoh perhitungannya.
Referensi lengkap soal t-test dan implementasinya ada di dokumentasi resmi SciPy Stats.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Cara pakai pandas rolling buat hitung moving average dan haluskan data time series yang naik-turun. Lengkap dengan contoh penjualan harian UMKM.
Data transaksi harian sering terlalu ramai buat dilihat. Pandas resample ngeringkasnya jadi total per minggu atau per bulan cuma dengan satu baris, asal indeksnya tanggal.
Kolom tanggal yang kebaca sebagai teks bikin sortir dan hitung selisih hari jadi kacau. Ini cara pd.to_datetime ubah teks jadi tanggal asli, plus tangani format berantakan.