Dibalik Report Salary Survey Ala-Ala 2020 @hrdbacot

Muhammad Sifa’ul Rizky
Curious with Data
Published in
7 min readJan 19, 2021
Photo by San Kaÿzn on Unsplash

Tahun baru, semangat baru, terutama buat bisa membuat konten berkaitan dengan data, gak melulu sekedar teknikal saja, namun bisa sesuatu yang ringan namun berfaedah lah seenggaknya. Kali ini di awal tahun 2021 saya dapat kesempatan buat kolaborasi bareng akun Twitter @hrdbacot mengenai Report Salary Survey Ala-Ala nya mereka. Bagi yang pengen tahu gimana reportnya bisa langsung cek di sini ya, atau kayaknya yang baca artikel ini berasal dari reportnya hrdbacot langsung sih. [Report Salary Survey]

Disclaimer: Jika belum bacan reportnya hrdbacot, langsung aja cek dulu biar bisa kebayang kira-kira ini tentang apaan

Buat yang kemarin ikutan buat mengisi data salarynya, terima kasih banyak, saya dan teman-teman hrdbacot sangat mengapresiasi, dan juga tidak ada data pribadi yang diminta dalam survey, serta karena ini ala-ala, jadi ada banyak banget hal-hal tidak terduga kan, seperti orang yang mengisi asal-asalan, data kurang sesuai dengan pengalaman, dan semacamnya. Ini jadi problem sih yang akhirnya kami selesaikan dengan membersihkan datanya, nanti akan gue bahas tentang step-step membuat report ini. Cuma memang, bagi gue ini cukup menarik sih karena bisa tahu persebaran dari datanya serta bisa ambil seenggaknya sneak-peek sih tentang gimana sih pasar dengan role-role baru yang ada dan mulai happening, seperti Data/Analytics atau yang berada di startup.

Timeline

Timeline dari Report Salary Ala-Ala hrdbacot

Kira-kira seperti ini gambaran dari apa yang kami kerjakan, sebagai catatan gue baru mulai bantuin reportnya ketika udah di akhir tahun, karena pastinya menunggu data yang sudah sesuai menurut teman-teman hrdbacot, dan dari sana pun cukup banyak data yang tidak digunakan, jadi sekitar 3 ribu lebih responden, hanya 2 ribuan saja data yang digunakan. Setelah ini baru gue cek datanya untuk tahu kira-kira gimana sih persebarannya.

Data Cleansing and Preprocessing

Tahap pertama yang gue lakukan adalah melakukan Data Cleansing yang gue bisa, kenapa? Supaya gue bisa lebih make sure kalo datanya bisa dipakai, dan yang gue bersihkan ini cukup vital karena berkaitan dengan data gaji. Let me elaborate more.

Gambaran mengenai data report salary ala-ala

Jadi data dari survey yang diisi itu ada banyak banget pertanyaan, seperti pendidikan, posisi, pengalaman kerja, hingga nominal gaji, tapi tenang aja, enggak ada data pribadi masing-masing orang kok. Dari sini gue cuma menghighlight yang gaji ini, karena ada dua pertanyaan nih, berkaitan dengan Gaji Pokok dan Total Gaji. Sebenarnya yang membedakan ya hanyalah di nominal saja, namun secara logika harusnya Gaji Pokok sama atau lebih kecil daripada Total Gaji Bulanan kan. Nah dari sini lah gue coba cek apakah semua datanya seperti itu atau tidak, ternyata ada beberapa data yang Gaji Pokok nya lebih besar malahan daripada Total Gaji Bulanan. Jadi gue cleansing data-data yang seperti ini, caranya? Dengan menggunakan pertanyaan Tunjangan yang diisi oleh para responden, jika memang mereka mengisi Tunjangan, apapun itu, seperti Tunjangan Makan, Transportasi, dan semacamnya, maka nilai yang paling besar yang dipilih sebagain Total Gaji Bulanan, bila tidak ada maka yang digunakan adalah nilai yang lebih kecil. Dari sini data yang gue gunakan hanya Total Gaji, jadi Gaji Pokok enggak dipakai.

Sebelum cleansing — setelah cleansing

Setelah melakukan Data Cleansing ini maka saatnya untuk melakukan Data Preprocessing, terlebih lagi dengan data yang cukup banyak ini. Pilihan gue jatuhkan untuk melakukannya dengan pertanyaan mengenai Lama Pengalaman Kerja, yang gue preprocessing adalah mengubah menjadi grup, dari dibawah 1 tahun, 1–3 tahun, 3–5 tahun, 5–10 tahun, dan diatas 10 tahun, tujuan sederhananya supaya lebih mudah untuk melihat persebaran lama pengalaman kerja, mana yang lebih banyak mengisi kuisionernya.

Exploratory Data Analysis

Ketika udah merasa datanya cukup oke, waktunya untuk mengeksplorasi datanya berdasarkan informasi yang sudah tersedia seperti Gaji, Pendidikan, Pengalaman Kerja, dan lain-lain. Di sini sudah ada beberapa pertanyaan yang emang dari hrdbacot buat gue jawab nih, dan mungkin sudah kalian baca reportnya, nah gue melakukan tahapan EDA ini buat menjawab pertanyaan dan mendapatkan insight dari data, kira-kira apa sih yang gue lakukan?

Banyak sih, mulai dari cari-cari kira-kira sweet spotnya dimana sih buat menjawab berbagai pertanyaan dari hrdbacot ini, mulai dari coba melakukan data analysis, cari nilai-nilai penting dan hal-hal gitu lah. Metode apa yang gue gunakan buat report yang sudah kalian baca itu?

Median daripada Mean untuk Metriks nya

Sering kan istilah rata-rata dipakai di banyak situasi buat menunjukkan gambaran dari sebuah data, nah kebayang gak sih kalo ada kondisi seperti ini.

Contoh persebaran data gaji

Ketika ada orang yang nanya rata-rata gaji di kantor A berapa? 5 juta dengan data seperti diatas, sedangkan jika bertanya dengan kantor B, rata-ratanya adalah 10 juta. Kalo cuma ngeliat dari nilai ini saja, tentu kantor B lebih besar dan lebih menarik buat tempat bekerja, namun kalo ditelaah lebih dalam ternyata enggak selalu rata-rata dapat mencerminkan gambaran dari data, karena ternyata ada data gaji manager yang masuk ke dalam data gaji sehingga rata-ratanya cukup meningkat. Nah data manager ini disebut sebagai outlier/ anomali, dimana adanya data yang tersebar sangat jauh dengan mayoritas sebaran data yang lain. Jadi akhirnya ketimbang menggunakan rata-rata, kita bisa menggunakan median (nilai tengah) sebagai alternatif, dengan gambaran seperti ini.

Mean vs median

Dalam report hrdbacot ketika ngomongin tentang gaji berdasarkan banyak faktor, untuk mengecek mana yang lebih tinggi atau tidak ini menggunakan Median daripada Mean. Penggunaan Median ini akan berhubungan dengan hal selanjutnya yang berkaitan dengan bagaimana buat menampilkan data.

Penentuan Range Max-Min

Kalo kemarin sempet ngikutin tweetnya hrdbacot yang nampilin tentang data dengan gaji terbesar yang bisa mencapai ratusan juta, gimana responnya? Macam-macam kan pastinya, nah menjadi persoalan jika pengen menampilkan data gaji kedalam grafik karena yang mungkin akan keliatan timpang sekali bedanya. Jadi kan gue mikir, gimana caranya supaya data ini masih relevan?

Histogram chart -> Boxplot chart

Akhirnya dari sini lah muncul ide untuk menampilkan datanya ke dalam grafik yang lain, setelah mencoba dengan histogram chart, sekarang mencoba dengan boxplot dan hasilnya cukup sesuai, tidak terlalu jauh rentangnya dan lebih relevan dibandingkan dengan sebelumnya.

Masalahnya adalah bagaimana menjelaskan ini ke publik, terlebih boxplot bagi sebagian orang agak susah buat dibaca, jadi gue putuskan buat sebuah chart yang tidak seperti boxplot tapi masih bisa dibaca, inspirasi ini gue dapat setelah baca-baca report dari World Economic Forum mengenai kerjaan, sesuai gambar ini.

The Future of Jobs Report 2020 by World Economic Forum

Pertanyaan mungkin akan muncul, data yang gaji ratusan juta dikemanain? Enggak keliatan di grafik sih, karena ya jelas akan sangat timpang dibandingkan persebaran datanya, nah jadi yang gue gunain adalah menggunakan outlier handling, jadi grafik yang kalian liat itu adalah boxplot yang sudah dimodifikasi sehingga hanya ada rentang dan nilai median aja.

Grafik dengan nilai range minimum dan maksimum serta median, adaptasi dari boxplot

Supaya data outlier ini enggak keliatan, maka gue harus melakukan sesuatu, dengan menggunakan filtering sederhana untuk menyeleksi data outlier agar tidak keliatan di grafik, dengan menggunakan batas atas dan batas bawah.

batas_atas  = Q3 + (1.5 * (Q3 - Q1))
batas_bawah = Q1 - (1.5 * (Q3 - Q1))

Bagi yang mungkin belum familiar, Q1 adalah kuartil pertama atau 25% dari data, sedangkan Q3 adalah kuartil ketiga atau 75% dari data. Secara konsep rumus ini memang bertujuan supaya tidak menampilkan data yang terlalu liar atau aneh. Untuk lebih lengkapnya bisa dibaca-baca di sini dan di sini.

Contoh penggunaan batas bawah dan batas atas

Setelah menggunakan rumus ini maka akan muncul tabel seperti ini dimana ada batas bawah dan batas atas untuk masing-masing tempat. Bagi yang penasaran gimana buat nampilin itu, gue pakai groupby function, atau kalo di Excel itu pivot, cukup simple kok penggunaannya.

Perbedaan sebelum dan setelah outlier handling

Bisa dilihat perbandingannya dengan tanpa rumus outlier detection dan dengan rumus outlier detection, untuk persebaran Total Gaji terlihat bedanya sangat jauh, dan ini yang gue bilang, supaya datanya bisa jadi lebih relevan dan bisa dibaca juga meski rentangnya masih cukup lebar.

Karena udah punya sistem yang cukup oke, akhirnya gue coba jawab pertanyaannya hrdbacot dengan skema seperti ini, terutama untuk bahas bagian pendidikan yang jika hanya liat dari lulusan pendidikan, pasti yang terpikirkan adalah, “ah gue kuliah lagi deh biar dapat gaji gede” padahal enggak serta merta gitu, pas gue analisa lagi ternyata ada keterkaitan dengan lama pengalaman kerja, dan itu cukup ideal, dalam artian pengalaman itu penting (banget).

Insight Report

Ketika semuanya udah beres gue diskusi dengan teman-teman hrdbacot buat jelasin gimana sih insight yang gue dapat, dan apakah relevan atau enggak, dan ini saat dimana gue harus mengubah grafik menjadi lebih mudah dipahami, dan jadilah grafik range yang kalian lihat di report tersebut. Semua sudah oke, tinggal mengkonversikan insight yang gue dapat dengan narasi dari hrdbacot serta desain dan segala sesuatunya sampai akhirnya bisa kalian baca report ala-ala ini.

Poin yang bisa gue sampaikan adalah report ini mungkin berguna buat kalian yang penasaran tentang gambaran dunia kerja serta benchmark di berbagai industri atau pendidikan atau apapun itu, jadi dari sini kita semua bisa belajar banyak hal, bisa berupa meningkatkan skill atau memperluas koneksi dan lain-lain, karena pada hakikatnya nilai gaji sangat bergantung terhadap banyak faktor, report ini salah satunya sebagai jembatan agar bisa tahu pengaruhnya terhadap faktor lain. Jika teman-teman merasa konten ini menarik, bermanfaat atau apapun itu, bisa langsung memberikan claps, follow publikasi kami di Curious with Data dan follow Medium saya.

Stay positive and always curious!

--

--