Data Analysis with Metabase: Data Profiling

Vincent Paruh

Sebelum melakukan analisa data, langkah pertama yang biasa dilakukan oleh tim analytics adalah mencoba mengerti isi dari dataset, struktur table and column dan relation antar table tersebut. Secara pribadi, saya akan mencoba membaca nama table dan kemudian melihat isi table untuk mencoba memahami apa fungsi dan isi data di table ini. Saya juga akan memastikan nama dari kolom kolom yang ada dan mencoba mengidentifikasi kolom seperti tanggal dokumen, tanggal created, tanggal updated, foreign key ke table lain (contohnya untuk mengetahui apakah table salesorderline mempunyai relation ke table product, saya akan mencari kolom seperti productid) dan jika ada dokumentasi yang diberikan untuk database tersebut, saya akan mencoba memahaminya terlebih dulu. Langkah langkah ini biasanya disebut sebagai data profiling.

Apa itu Data Profiling?

Profiling data adalah proses untuk menelusuri dan memahami isi dari sebuah dataset. Proses ini biasanya akan mencoba menemukan pola yang terdapat, tipe data, relation antar table dan apakah ada kesalahan atau celah seperti data yang tidak konsisten. Secara lebih rinci, data profiling meliputi:

  • Pemahaman Struktur: Memahami tipe data setiap kolom (numeric, text, date, date with timestamp, dll) dan mengidentifikasi data yang tidak sesuai.
  • Pemahaman Isi Data: Membaca dan memahami isi data yang terdapat pada sebuah table dan tujuan dari data tersebut disimpan. Disini penting untuk mengetahui konteks dari sumber dataset ini sendiri, seperti business yang bergerak pada bidang apa, ukuran perusahaan dll.
  • Analisa Kualitas Data: Mendeteksi missing value, data duplikat dan value yang disimpan dengan format yang benar.
  • Pemahaman Relasi Table: Memastikan relasi antar table dan dengan kolom apa relasi tersebut di tentukan (primary key dan foreign key).

Data Profiling di Metabase

Bagaimana cara melakukan data profiling di Metabase? Metabase sangat mempermudah pekerjaan yang perlu dilakukan dari data profiling dengan menyediakan fitur fitur yang cukup dengan satu klik dan bisa melihat distribusi data dengan baik. Berikut adalah beberapa langkah langkahnya:

Browse Data

Melalui Browse data, anda bisa melihat seluruh isi dari dataset yang sudah di connect ke Metabase. Langsung saja pilih dataset yang ingin dilihat dan maka Metabase akan langsung menampilkan semua table. Klik ke table yang ingin dilakukan analisa dan akan langsung ditampilkan semua kolom dan datanya dari semua table tersebut.

Summarize

Melalui Summarize, kita bisa melakukan beberapa data profiling basic seperti menghitung jumlah baris, menjumlahkan, count distinct dan lain lain. Contoh yang bisa dilakukan dari fitur ini adalah menghitung jumlah transaksi berdasarkan dimension / segmen yang ada. Jika terdapat table sales order dan ingin menghitung jumlah order berdasarkan sales channel, maka anda bisa mencoba menghitung jumlah transaksi melalui summarize count row dan di group by sales channel. Metabase akan langsung menampilkan hasil count dan menggunakan grafik yang sesuai seperti bar chart.

Filter

Filter bisa melakukan penyaringan data agar bisa menemukan data yang diinginkan atau data yang ditampilkan relevan. Misalkan anda ingin menghitung jumlah penjualan berdasarkan tanggal penjualan per bulannya. Untuk menghitung jumlah penjualan dengan benar, anda hanya ingin menghitung order yang transaksinya sudah selesai / completed. Caranya lakukan Filter dengan mencari kolom seperti order status dan filter dengan value yang diinginkan seperti Completed. Setelah itu lakukan summarize sum of sales revenue berdasarkan date ordered.

Itulah beberapa contoh yang bisa dilakukan melalui Metabase agar lebih memahami struktur dan isi data yang terdapat di dataset. Selain menampilkan statistik seperti yang dicontohkan, keunggulan menggunakan Metabase adalah tampilan data menggunakan grafik yang mudah dilihat dan menunjukkan arah / trend data kemana, sehingga bukan hanya melihat dalam bentuk table dan column. Kemudahan dalam membuat visualisasi juga menjadi elemen yang penting dalam melakukan analisa data dan Metabase sangat membantu karena hanya cukup beberapa klik, anda sudah bisa membuat beberapa query yang sebelumnya membutuhkan pembelajaran SQL.

Kita sudah membahas cara melakukan data profiling dasar seperti mencari tahu berapa banyak sales order yang dikelompokkan berdasarkan order status atau mencari sales order yang tanggal pemesanannya dalam bulan ini saja. Langkah langkah tersebut berguna untuk membantu user dalam memahami bisnis / masalah masalah yang mungkin timbul dalam bisnis tentunya dibekali dengan konteks dan pengetahuan terhadap bisnis itu sendiri. Pemahaman ini akan membantu user menentukan juga metric yang dia butuhkan untuk mencapai key objectives nya.

Beberapa step data profiling yang bisa dilakukan lebih lanjut adalah pengecekan foreign key integrity karena tidak semua data warehouse mempunyai foreign key relation yang dibuat antar table, membuat binning data dan mencari data duplikat.

Pengecekan Foreign Key Integrity

Kenapa melakukan pengecekan foreign key integrity itu penting? Untuk memastikan data yang didapatkan dari source tidak memiliki data yang ‘bolong’. Data yang anda dapatkan bisa jadi hanya dalam bentuk Excel atau database. Excel atau database itu sendiri bisa saja memiliki feed data dari Excel atau database lain atau API. Sering kali data yang di feed dari source lain bisa menyebabkan kehilangan data integrity ini. Contoh : Jika terdapat table sales order dan sales order line, idealnya di table sales order terdapat kolom unique identifier seperti ID atau nomor order. Karena sales order line berisi item dari sebuah sales order, table sales order line juga mempunyai kolom unique identifier dari sales order tersebut untuk mengetahui item ini terdapat di sales order mana. Tapi apa yang bisa terjadi jika data integrity hilang ini adalah, suatu sales order line bisa saja tidak mempunyai sales order. Ini tentu tidak masuk akal dalam perspektif bisnis, karena tidak bisa ada item yang dipesan jika tidak ada nomor sales order. Maka dari itu, pengecekan ini penting untuk dilakukan.

Cara melakukan pengecekan ini di Metabase adalah sebagai berikut:

  • Membuat question baru atau membuka table sales order line langsung melalui browse data
  • Lakukan left join ke table sales order line dan pilih primary key dan foreign key
  • Setelah itu lakukan filter pada table sales order dan pilih kolom ID atau nomor order dan pilih is empty.
  • Klik Visualize untuk menampilkan data

Idealnya, question ini tidak menampilkan apa apa yang menandakan seluruh sales order line anda mempunyai sales order. Tetapi jika ada, maka ini perlu menjadi perhatian anda dan perlu di raise ke pihak yang bertanggung jawab atas data yang diberikan.

Binning Data

Binning data adalah metode untuk melakukan pengelompokkan data dan memasukkannya dalam kategori yang dalam rentang / range tertentu. Fungsi binning data ini biasanya untuk melihat distribusi yang terdapat dalam data. Contoh paling ideal yang biasa saya gunakan adalah melihat nilai per transaksi penjualan di bisnis. Caranya adalah sebagai berikut:

  • Membuat question baru atau membuka table sales order anda langsung melalui browse data
  • Lakukan summarize dan pilih count. Pilih group by kolom amount / total keseluruhan dari satu sales order, di sebelah nama kolom akan muncul opsi binning dari Metabase yang dimana secara default terpilih “Auto binned”. Pilih opsi tersebut
  • Setelah itu klik Visualize untuk menampilkan data

Question seharusnya akan menampilkan jumlah sales order berdasarkan range nilai penjualan yang terdapat pada data. Dari data ini, anda bisa mendapatkan banyak insight seperti, jika jumlah order yang banyak dalam range nilai yang kecil, maka bisnis ini kemungkinan bergerak pada bisnis retail dan menjual barang yang kecil / nilainya lebih rendah dan kemungkinan jenis barang yang dipesan lebih banyak ( lebih banyak order line). Jumlah transaksi juga akan lebih banyak yang akan translate into kebutuhan storage yang lebih besar untuk menampung datanya.

Mencari Data Duplikat

Data duplikat jelas menjadi masalah bagi anda yang ingin melakukan analisa terhadap suatu bisnis. Contoh yang bisa terjadi nilai penjualan bisa saja menjadi inflated karena ada order yang duplikat atau sekedar monitor pemesanan yang belum terkirim menjadi lebih banyak dari yang seharusnya. Cara mencari data duplikat yang terdapat di table adalah:

  • Jika dalam table sales order terdapat primary key atau kolom yang bisa digunakan sebagai unique identifier dari record ini, maka cukup lakukan count dan group by kolom tersebut. Contoh nya jika terdapat kolom orderid, maka lakukan count dan group by order id.
  • Jika dalam table tidak terdapat primary key, maka yang bisa dilakukan adalah melakukan count dan group by sebanyak kolom mungkin atau semua kolom. Langkah ini mungkin akan lebih mudah dilakukan melalui SQL.
  • Setelah itu scroll ke bawah lagi untuk lakukan filter ke kolom count anda dan filter yang greater than 1

Jika question menampilkan data, maka akan terdapat data seperti order id beserta count nya yang 2 atau lebih besar. Ini menunjukkan berarti suatu orderid berada di table ini dan mempunyai lebih dari satu baris record. Sebelum anda menentukan ini adalah data duplikat, pastikan bahwa kolom tersebut memang benar adalah kolom unique identifier dari table tersebut dan pastikan anda tidak memilih table yang salah. Contohnya di sales order line, suatu orderid akan mempunyai lebih dari satu baris record, karena suatu sales order bisa mempunyai banyak item.

Itulah step step yang bisa dilakukan untuk melakukan data profiling lebih lanjut terhadap dataset anda. Kunci dari pemahaman data dan Metabase sendiri adalah selalu spend time untuk mencoba dan tidak takut untuk break things. Semakin banyak waktu yang dihabiskan untuk mencoba, semakin anda akan memahami data dan pemahaman data melebihi gut feeling dari business owner sekalipun terhadap suatu bisnis. Maka dari itu, jangan meremehkan the power of data dan happy exploring.

Tertarik untuk Memulai?

Langkah langkah yang disajikan di atas memang bisa dilakukan langsung di Metabase, tetapi bisa cukup memakan waktu. Permudah proses data analysis anda dengan services kita yang lengkap untuk membantu anda mengatasi masalah dan kebutuhan terhadap data analytics di perusahaan anda.

Photo of author

About the author

Vincent Paruh

Vincent adalah Solution Manager di Toba Consulting dengan pengalaman implementasi ERP iDempiere dan Data Analytics di berbagai industri seperti retail, marine logistics, insurance, manufacturing, distribution, ecommerce sejak 2018