Analisis data pada olist database - Project Data Wrangling Pacmann.
Published: 2023-07-06 16:21:55

Hasil dari yang telah saya baca secara singkat di internet, database yang digunakan pada projct ini adalah database pada suatu toko online, yang mencakup data barang, transaksi, hingga penjual. Olist database terdiri dari 8 buah tabel, seperti yang telah saya lihat menggunakan tools pandas.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cj75orl6g6g6imbxcxip.PNG)

Tetapi saya tidak akan menggunakan keseluruh tabel diatas, hanya menggunakan beberapa tabel yang akan digunakan sesuai dengan objective yang telah saya tentukan pada awal pengerjaan proyek.

Objective yang saya tentukan adalah:
1. Jika suatu perusahaan ingin mengetahui 10 produk yang paling laku.
2. Jika perusahaan ingin mengetahui 10 produk yang banyak di-cancel.

Tahap pertama adalah saya melihat isi dari tabel yang saya butuhkan dengan menggunakan "SELECT * FROM ....". Setelah itu saya melakukan preprocessing. Tahap preprocessing yang saya lakukan adalah mengganti product name bahasa spanyol menjadi bahasa inggris dengan menggunakan left join dengan tabel category products. Dilanjutkan dengan melakukan mengganti manual value produk yang tidak ada di tabel product_category. Prosesnya seperti dibawah ini:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/47dpyrolbdy5e9sj56gx.PNG)

Proses pemeriksaan selanjutnya adalah dengan mengecek ada atau tidaknya missing value pada data. Kolom yang ada missing value-nya memilki perlukan berbeda, tergantung konteks. Pada konteks project kali ini mengisi kolom kosong dengan pada tabel produk, seperti pada tabel dibawah ini.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ebq0cntoljswlznn7gap.PNG)

Selanjutnya adalah proses pengecekkan ada atau tidaknya baris yang duplikat antara data satu dengan yang lain, sama atau tidaknya diukur dari baris yang berurutan apakah sama persis value antara kolomnya atau tidak. Dilakukan pengecekan duplicate karena banyak ditemui data-data yang seharusnya duplicate, tetapi dibiarkan saja.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ziwopruegozxpsbjbp4.PNG)

Tahap selanjutnya adalah melakukan pengecekkan data dari kolom product_name dari tabel new_product. Prosesnya adalah seperti gambar dibawah ini


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3tzkty8pnw9kmhtgkkic.PNG)

Proses selanjutnya adalah dilakukannya pengecekan ada atau tidaknya outlier pada kolom harga. Visualisasi dilakukan dengan boxplot agar data outlier dan data-data yang lain bisa dengan mudah terlihat.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uie7ahn73902x7zxqoy0.PNG)

Karena banyaknya outlier, maka saya rubah ke dalam bentuk log. Hasil dari visualisasi menggunakan boxpot adalah seperti ini.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ypk8fvidhakybav5az1a.PNG)

Selanjutnya adalah proses join table agar nantinya pada saat analisis tidak perlu melakukan join yang akan menyulitkan pandangan pembaca.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jp6sxypoz9tw8de5kpd7.PNG)

Dan yang terakhir adalah melihat objektif yang telah saya tentukan diawal, pada proses ini dilakukan visualisasi dengan barplot dengan menggunakan library seaborn . Diantarnya adalah sebagai berikut:
1. Produk yang paling banyak dijual (Menampilkan 10 produk).
 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/08fjb27olwd5i7bdplag.PNG)
2. Mengetahui produk apa saya yang banyak di-cancel oleh pelanggan.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ovm1dwq4k7hqz2khdzgg.PNG)

[github](https://github.com/RamaReksotinoyo/Olist)