Lewati ke isi
anakdata.id

Selisihnya cuma 0,25 persen, dan itu yang membuatnya berbahaya

7 September 2026·7 menit baca

Satu tabel, dua kolom yang seharusnya sama, dua angka omzet. Penjelasan yang paling masuk akal ternyata terbantah datanya sendiri.

Pertanyaannya sederhana, dan hampir tiap analis pernah ditanyai persis begini: berapa omzet bulan ini.

Tabelnya sudah ada, satu file, 49.894 baris struk penjualan sebuah kedai kopi selama April 2019. Kolomnya lengkap: quantity, unit_price, dan line_item_amount.

Saya menghitungnya dua kali, dengan dua cara yang seharusnya menghasilkan angka sama.

Cara Hasil
Jumlahkan kolom line_item_amount 233.636
Hitung ulang unit_price dikali quantity 234.212

Selisihnya 575,60, atau 0,25 persen.

Angka sekecil itu yang justru berbahaya. Kalau selisihnya sepuluh persen, semua orang berhenti dan bertanya. Nol koma dua lima persen lolos begitu saja, masuk ke slide, lalu jadi dasar keputusan.

Langkah pertama: berapa banyak barisnya yang bermasalah

Selisih total tidak memberi tahu apa pun. Saya perlu tahu dulu: apakah ini seribu baris yang meleset sedikit-sedikit, atau segelintir baris yang meleset jauh.

230 dari 49.894 baris tidak cocok. Kurang dari setengah persen.

Jadi ini bukan pembulatan yang menumpuk. Ini segelintir baris yang salah cukup besar untuk terlihat di jumlah akhir.

Penjelasan yang paling masuk akal, dan kenapa ia gagal

Dugaan pertama saya langsung: diskon. Kalau ada potongan harga, line_item_amount akan lebih kecil daripada harga kali jumlah, dan itu wajar.

Tabelnya bahkan punya kolom untuk itu, promo_item_yn.

Jadi dugaan itu bisa diuji, dan hasilnya:

Baris yang tidak cocok Jumlah
Ditandai promo 30
Ditandai bukan promo 200

Delapan dari sepuluh baris bermasalah justru ditandai bukan promo.

Dugaan saya salah, dan itu bagian yang paling tidak penting. Yang penting, dugaan itu bisa dibentuk jadi sesuatu yang bisa diuji. Diuji. Lalu dibuang dalam dua menit. Dugaan yang tidak pernah diuji akan ikut masuk ke kesimpulan sebagai “kemungkinan karena diskon”, dan tidak ada yang tahu itu tebakan.

Menyempitkan: siapa, apa, di mana

Kalau bukan promo, lalu apa? Saya persempit dari tiga arah.

Produknya. Tujuh produk terlibat, tapi satu mendominasi: Chocolate Croissant. Harga daftarnya 3,75, dan di 156 baris ia tercatat seharga 1,00 sementara kolom unit_price tetap menulis 3,75.

Gerainya. Dari sembilan gerai, cuma dua yang punya baris bermasalah.

Tanggalnya. Menumpuk di beberapa hari, terbanyak 20 dan 21 April.

Bentuknya sudah jelas sekarang: satu produk, dua gerai, beberapa hari tertentu, dijual seharga satu dolar sementara harga daftarnya tetap tercatat.

Dan di sinilah pekerjaannya berhenti

Ini kelihatan seperti promo yang tidak dicatat sebagai promo. Kasir menekan harga khusus, kolom penanda tidak ikut berubah.

Saya tidak bisa membuktikannya dari data ini, dan tidak akan menulis seolah bisa. Tidak ada kolom yang mencatat siapa mengubah harga, kapan, atau kenapa. Saya cuma punya polanya.

Jadi jawaban untuk “berapa omzet bulan ini” bukan satu angka. Jawabannya:

Dua angka, 233.636 dan 234.212. Selisihnya 575,60, berasal dari 230 baris, sebagian besar Chocolate Croissant di dua gerai. Bentuknya seperti harga khusus yang penandanya tidak ikut disetel. Sebelum salah satu angka dipakai, saya perlu tahu dari orang yang membangun tabel ini: kolom mana yang dianggap resmi.

Kalimat terakhir itu yang sering dikira kegagalan. Ia justru pekerjaannya.

Satu hal lagi yang ketemu di jalan

Sambil memeriksa, dua hal lain muncul, dan keduanya perlu ikut ditulis:

Setengah data tidak punya pelanggan. 25.033 baris, 50,2 persen, punya customer_id bernilai nol. Pertanyaan apa pun tentang pelanggan hanya bisa dijawab untuk separuh data, dan itu harus disebut sebelum ada yang bertanya.

Dua pelanggan tidak ada orangnya. Ada dua customer_id di tabel struk yang tidak punya baris di tabel pelanggan, muncul di sembilan baris. Jumlahnya kecil dan tidak mengubah apa pun di sini, tapi ia menandakan kedua tabel itu tidak selalu sinkron.

Kalau ini masuk portofolio Anda

Empat hal di atas yang layak ditunjukkan, dan tidak satu pun berupa grafik:

  1. Dua cara menghitung dicoba, bukan satu
  2. Dugaan pertama dinyatakan, diuji, lalu dinyatakan gagal
  3. Masalahnya dipersempit sampai produk, gerai, dan tanggal
  4. Kesimpulannya berhenti di batas yang jujur, dengan pertanyaan yang jelas untuk orang berikutnya

Orang dipercaya memegang angka bukan karena selalu punya jawaban. Mereka dipercaya karena tahu kapan jawabannya belum ada, dan bisa menyebut apa yang masih kurang.

Mau mengerjakan sendiri kasus seperti ini?

Datasight punya 33 modul dan 191 studi kasus berangka untuk itu. Materinya terbuka, tanpa akun.

Cek posisi belajar Anda