Teknik Validasi Data Populer untuk Analitik & Mengapa Anda Membutuhkannya

Diterbitkan: 2022-12-19

Catatan editor: artikel ini awalnya diterbitkan di blog Iteratively pada 14 Desember 2020.


Pada akhirnya, analitik data Anda perlu diuji seperti kode lainnya. Jika Anda tidak memvalidasi kode ini—dan data yang dihasilkannya—itu bisa mahal (seperti biaya $9,7 juta dolar per tahun, menurut Gartner).

Untuk menghindari nasib ini, perusahaan dan teknisinya dapat memanfaatkan sejumlah teknik validasi data proaktif dan reaktif. Kami sangat merekomendasikan yang pertama, seperti yang akan kami jelaskan di bawah. Pendekatan proaktif untuk validasi data akan membantu perusahaan memastikan bahwa data yang mereka miliki bersih dan siap digunakan.

Teknik validasi data reaktif vs. proaktif: Selesaikan masalah data sebelum menjadi masalah

"Mencegah lebih baik daripada mengobati." Pepatah lama itu berlaku di hampir semua situasi, termasuk teknik validasi data untuk analitik. Cara lain untuk mengatakannya adalah lebih baik menjadi proaktif daripada menjadi reaktif.

Tujuan dari setiap validasi data adalah untuk mengidentifikasi di mana data mungkin tidak akurat, tidak konsisten, tidak lengkap, atau bahkan hilang.

Menurut definisi, validasi data reaktif terjadi setelah fakta dan menggunakan deteksi anomali untuk mengidentifikasi masalah apa pun yang mungkin dimiliki data Anda dan untuk membantu meringankan gejala data buruk. Meskipun metode ini lebih baik daripada tidak sama sekali, metode ini tidak menyelesaikan masalah inti yang menyebabkan data buruk sejak awal.

Sebaliknya, kami yakin tim harus mencoba menggunakan teknik validasi data proaktif untuk analitik mereka, seperti keamanan jenis dan skema, untuk memastikan data yang mereka dapatkan akurat, lengkap, dan dalam struktur yang diharapkan (dan anggota tim mendatang tidak memiliki untuk bergulat dengan kode analitik yang buruk).

Meskipun tampaknya jelas untuk memilih pendekatan validasi yang lebih komprehensif, banyak tim akhirnya menggunakan validasi data reaktif. Ini bisa karena sejumlah alasan. Seringkali, kode analitik merupakan renungan bagi banyak tim non-data dan karenanya tidak teruji.

Sayangnya, data juga umum diproses tanpa validasi apa pun. Selain itu, kode analitik yang buruk hanya diketahui jika benar-benar buruk, biasanya berminggu-minggu kemudian ketika seseorang menyadari bahwa laporannya sangat salah atau bahkan hilang.

Teknik validasi data reaktif mungkin terlihat seperti mengubah data di gudang Anda dengan alat seperti dbt atau Dataform.

Meskipun semua metode ini dapat membantu Anda menyelesaikan kesengsaraan data Anda (dan seringkali dengan perkakas yang bagus secara objektif), mereka tetap tidak akan membantu Anda menyembuhkan penyebab inti dari data buruk Anda (misalnya, tata kelola data atau analitik sedikit demi sedikit yang diterapkan pada proyek- berdasarkan proyek tanpa komunikasi lintas tim) di tempat pertama, membuat Anda kembali kepada mereka setiap saat.

Validasi data reaktif saja tidak cukup; Anda perlu menggunakan teknik validasi data proaktif agar benar-benar efektif dan menghindari masalah mahal yang disebutkan sebelumnya. Inilah alasannya:

  • Data adalah olahraga tim. Bukan hanya tergantung pada satu departemen atau satu individu untuk memastikan data Anda bersih. Semua orang harus bekerja sama untuk memastikan data berkualitas tinggi dan menyelesaikan masalah sebelum terjadi.
  • Validasi data harus menjadi bagian dari Software Development Life Cycle (SDLC). Saat Anda mengintegrasikannya ke dalam SDLC dan secara paralel dengan pengembangan berbasis pengujian yang ada dan proses QA otomatis Anda (alih-alih menambahkannya sebagai renungan), Anda menghemat waktu dengan mencegah masalah data daripada memecahkan masalah nanti.
  • Validasi data proaktif dapat diintegrasikan ke dalam alat dan alur CI/CD yang ada. Hal ini mudah dilakukan oleh tim pengembangan Anda karena mereka telah berinvestasi dalam otomatisasi pengujian dan sekarang dapat memperluasnya dengan cepat untuk menambahkan cakupan analitik juga.
  • Pengujian validasi data proaktif adalah salah satu cara terbaik agar tim yang bergerak cepat dapat beroperasi secara efisien. Ini memastikan mereka dapat mengulang dengan cepat dan menghindari penyimpangan data dan masalah hilir lainnya.
  • Validasi data proaktif memberi Anda kepercayaan diri untuk mengubah dan memperbarui kode sesuai kebutuhan sambil meminimalkan jumlah bug yang harus Anda atasi nanti. Proses proaktif ini memastikan Anda dan tim Anda hanya mengubah kode yang terkait langsung dengan data yang Anda pedulikan.

Sekarang setelah kita menetapkan mengapa validasi data proaktif itu penting, pertanyaan selanjutnya adalah: Bagaimana Anda melakukannya? Alat dan metode apa yang digunakan tim untuk memastikan data mereka bagus sebelum masalah muncul?

Mari selami.

Metode validasi data

Validasi data bukan hanya satu langkah yang terjadi pada titik tertentu. Itu bisa terjadi di beberapa titik dalam siklus hidup data—di klien, di server, di saluran pipa, atau di gudang itu sendiri.

Ini sebenarnya sangat mirip dengan pengujian perangkat lunak dalam banyak hal. Namun, ada satu perbedaan utama. Anda tidak menguji hasilnya sendirian; Anda juga mengonfirmasi bahwa input data Anda sudah benar.

Mari kita lihat seperti apa validasi data di setiap lokasi, memeriksa mana yang reaktif dan mana yang proaktif.

Teknik validasi data di klien

Anda dapat menggunakan alat seperti Data Amplitudo untuk memanfaatkan keamanan jenis, pengujian unit, dan linting (analisis kode statis) untuk validasi data sisi klien.

Sekarang, ini adalah titik awal yang bagus, tetapi penting untuk memahami jenis pengujian alat semacam ini yang memungkinkan Anda melakukannya pada lapisan ini. Berikut rinciannya:

  • Keamanan tipe adalah ketika kompiler memvalidasi tipe data dan instruksi implementasi pada sumbernya, mencegah kesalahan hilir karena kesalahan ketik atau variabel yang tidak terduga.
  • Pengujian unit adalah saat Anda menguji pilihan kode tertentu secara terpisah. Sayangnya, sebagian besar tim tidak mengintegrasikan analitik ke dalam pengujian unit mereka saat harus memvalidasi analitik mereka.
  • Pengujian A/B adalah saat Anda menguji aliran analitik Anda terhadap sekumpulan data status emas (versi analitik yang Anda tahu sempurna) atau salinan data produksi Anda. Ini membantu Anda mengetahui apakah perubahan yang Anda buat itu baik dan perbaikan pada situasi yang ada.

Teknik validasi data dalam pipeline

Validasi data dalam pipeline adalah tentang memastikan bahwa data yang dikirim oleh klien cocok dengan format data di gudang Anda. Jika keduanya tidak berada di halaman yang sama, konsumen data Anda (manajer produk, analis data, dll.) Tidak akan mendapatkan informasi yang berguna di sisi lain.

Metode validasi data dalam alur mungkin terlihat seperti ini:

  • Validasi skema untuk memastikan pelacakan peristiwa Anda sesuai dengan apa yang telah ditentukan dalam registri skema Anda.
  • Integrasi dan pengujian komponen melalui pengujian utilitas kunci relasional, unik, dan pengganti dalam alat seperti dbt untuk memastikan pelacakan antar platform berfungsi dengan baik.
  • Pengujian kesegaran melalui alat seperti dbt untuk menentukan seberapa "segar" data sumber Anda (alias seberapa mutakhir dan sehat data tersebut).
  • Pengujian distribusi dengan alat seperti Great Expectations untuk mendapatkan peringatan saat kumpulan data atau sampel tidak cocok dengan masukan yang diharapkan dan memastikan bahwa perubahan yang dibuat pada pelacakan Anda tidak mengacaukan aliran data yang ada.

Teknik validasi data di gudang

Anda dapat menggunakan pengujian dbt, pengujian Bentuk Data, dan Harapan Besar untuk memastikan bahwa data yang dikirim ke gudang Anda sesuai dengan konvensi yang Anda harapkan dan butuhkan. Anda juga dapat melakukan transformasi pada lapisan ini, termasuk pengecekan tipe dan keamanan tipe dalam transformasi tersebut, tetapi kami tidak akan merekomendasikan metode ini sebagai teknik validasi utama Anda karena bersifat reaktif.

Pada titik ini, metode validasi yang tersedia untuk tim mencakup memvalidasi bahwa data sesuai dengan konvensi tertentu, lalu mengubahnya agar cocok dengannya. Tim juga dapat menggunakan uji hubungan dan kesegaran dengan dbt, serta pengujian nilai/rentang menggunakan Ekspektasi Besar.

Semua fungsionalitas alat ini bermuara pada beberapa teknik validasi data utama pada lapisan ini:

  • Skematisasi untuk memastikan data dan transformasi CRUD sesuai dengan konvensi yang ditetapkan.
  • Pengujian keamanan untuk memastikan data mematuhi persyaratan keamanan seperti GDPR.
  • Pengujian hubungan dalam alat seperti dbt untuk memastikan bidang dalam satu model memetakan ke bidang dalam tabel tertentu (alias integritas referensial).
  • Pengujian kesegaran dan distribusi (seperti yang kami sebutkan di bagian pipa).
  • Pemeriksaan rentang dan jenis yang mengonfirmasi bahwa data yang dikirim dari klien berada dalam rentang atau format yang diharapkan gudang.

Sebuah contoh yang bagus dari banyak dari tes ini dalam tindakan dapat ditemukan dengan menggali penemuan Lyft dan mesin metadata Amundsen. Alat ini memungkinkan konsumen data di perusahaan mencari metadata pengguna untuk meningkatkan kegunaan dan keamanannya. Metode utama Lyft untuk memastikan kualitas dan kegunaan data adalah semacam pembuatan versi melalui tugas Airflow pembersihan grafik yang menghapus data duplikat lama saat data baru ditambahkan ke gudang mereka.

Mengapa sekarang saatnya untuk menggunakan teknik validasi data yang lebih baik

Di masa lalu, tim data berjuang dengan validasi data karena organisasi mereka tidak menyadari pentingnya kebersihan dan tata kelola data. Itu bukan lagi dunia yang kita tinggali.

Perusahaan telah menyadari bahwa kualitas data sangat penting. Membersihkan data buruk secara reaktif saja tidak cukup. Mempekerjakan tim insinyur data untuk membersihkan data melalui transformasi atau menulis kueri SQL tanpa akhir adalah penggunaan waktu dan uang yang tidak perlu dan tidak efisien.

Dulu dapat diterima untuk memiliki data yang 80% akurat (memberi atau menerima, tergantung pada kasus penggunaan), meninggalkan margin kesalahan 20%. Itu mungkin bagus untuk analisis sederhana, tetapi itu tidak cukup baik untuk menjalankan mesin rekomendasi produk, mendeteksi anomali, atau membuat keputusan bisnis atau produk yang penting.

Perusahaan mempekerjakan insinyur untuk membuat produk dan melakukan pekerjaan hebat. Jika mereka harus menghabiskan waktu berurusan dengan data yang buruk, mereka tidak memanfaatkan waktu mereka sebaik mungkin. Tetapi validasi data memberi mereka waktu kembali untuk fokus pada hal terbaik yang mereka lakukan: menciptakan nilai bagi organisasi.

Kabar baiknya adalah data berkualitas tinggi dapat dijangkau. Untuk mencapainya, perusahaan perlu membantu semua orang memahami nilainya dengan mendobrak silo antara produsen data dan konsumen data. Kemudian, perusahaan harus membuang spreadsheet dan menerapkan praktik rekayasa yang lebih baik untuk analitik mereka, seperti pembuatan versi dan pembuatan skema. Terakhir, mereka harus memastikan praktik terbaik data diikuti di seluruh organisasi dengan rencana pelacakan dan tata kelola data.

Investasikan dalam validasi analitik proaktif untuk mendapatkan dividen data

Di dunia sekarang ini, alat dan metode validasi data implisit dan reaktif tidak lagi cukup. Mereka menghabiskan waktu, uang, dan, mungkin yang paling penting, kepercayaan.

Untuk menghindari nasib ini, rangkul filosofi proaktivitas. Identifikasi masalah sebelum menjadi masalah yang mahal dengan memvalidasi data analitik Anda dari awal dan sepanjang siklus hidup pengembangan perangkat lunak.

Mulailah dengan analitik produk