Analyst Project: Business Decision Research

Halo pembaca semuanya.. Sebelumnya terima kasih telah membaca tulisan ini, kali ini saya akan mendokumentasikan hasil belajar saya di DQLab.id yang mana Data Mentor proyek kali ini adalah Wahyu Herlambang beliau adalah Senior Data Analyst di Traveloka, yuk langsung saja saya akan coba jelaskan dokumentasi proyek ini.

Data analytics test ini berisi 2 bagian, teori dan test coding yang terdiri dari:

  1. Teori

    • Konsep Dasar Data Analytics: Tes ini dimaksudkan untuk menguji pemahaman saya tentang data analytics.

  2. Coding Test

    • Data preparation test: Tes ini dimaksudkan untuk menguji kemampuan saya dalam melakukan ETL data.

    • Data visualization test: Tes ini dimaksudkan untuk menguji kemampuan saya dalam hal visualisasi data.

    • Basic Stats Method test: Tes ini dimaksudkan untuk menguji kemampuan saya dalam melakukan modeling data menggunakan statistika dasar.

DQLab sport center adalah toko yang menjual berbagai kebutuhan olahraga seperti Jaket, Baju, Tas, dan Sepatu. Toko ini mulai berjualan sejak tahun 2013, sehingga sudah memiliki pelanggan tetap sejak lama, dan tetap berusaha untuk mendapatkan pelanggan baru sampai saat ini.

Di awal tahun 2019, manajer toko tersebut merekrut junior DA untuk membantu memecahkan masalah yang ada di tokonya, yaitu menurunnya pelanggan yang membeli kembali ke tokonya. Junior DA tersebut pun diberi kepercayaan mengolah data transaksi toko tersebut. Manajer toko mendefinisikan bahwa customer termasuk sudah bukan disebut pelanggan lagi (churn) ketika dia sudah tidak bertransaksi ke tokonya lagi sampai dengan 6 bulan terakhir dari update data terakhir yang tersedia.

Manajer toko pun memberikan data transaksi dari tahun 2013 sampai dengan 2019 dalam bentuk csv (comma separated value) dengan data_retail.csv dengan jumlah baris 100.000 baris data.

Berikut tampilan datanya:

Field yang ada pada data tersebut antara lain:

  1. No

  2. Row_Num

  3. Customer_ID

  4. Product

  5. First_Transaction

  6. Last_Transaction

  7. Average_Transaction_Amount

  8. Count_Transaction

OKee,, sesudah saya mengetahui datanya selanjutnya langkah yang dilakukan adalah menjabarkan proses yang akan dilakukan agar lebih terarah, seperti dibawah ini :

  1. Data preparation test

    • Importing data: Melakukan import data_retail.csv ke python environment.

    • Cleansing data: Melakukan pembersihan dan modifikasi data sehingga siap digunakan untuk analisis lebih lanjut..

  2. Data visualization test: Mendapatkan insight dari hasil visualisasi yang telah dibuat.

  3. Basic stats method test: Mendapatkan insight dari model dan evaluasi model yang sudah dibuat dan diuji.

  1. Data preparation test : melakukan import data retail.csv dari url https://storage.googleapis.com/dqlab-dataset/data_retail.csv

Optional : Saya juga dapat mengimport nya menggunakan file spearsheet yang ada sini https://docs.google.com/spreadsheets/d/1rPyyYF4F6gFVFYtqam9Dtn7NAau1URODDjErCeexXuI/

Output :

2. Cleansing data: Melakukan pembersihan dan modifikasi data sehingga siap digunakan untuk analisis lebih lanjut.

Dua kolom yang menunjukkan terjadinya transaksi tidak bertipe datetime tepatnya pada kolom First_Transaction dan Last Transaction, maka saya ubah kedua kolom tersebut ke tipe data datetime.

Setelah mengubah tipe datanya langkah selanjutnya adalah mencari data Last_Transaction 6 bulan terakhir dari update data terakhir yang tersedia . Agar kita dapat mengklasifikasikan customer yang berstatus churn atau tidak dengan boolean.

print(max(df['Last_Transaction']))

Data Last_Transaction update terakhir adalah 1 Februari 2019 maka 6 bulan terakhir nya adalah 1 Agustus 2018.

Selanjutnya adalah mengklasifikasikan mana customer yang berstatus churn dan mana yang tidak. Menggunakan script berikut

Terdapat kolom baru is_churn yang berisi status churn atau tidaknya customer.

Selanjutnya menghapus kolom yang tidak diperlukan yaitu kolom no dan Row_Num.

Baik sepertinya Data Preparation yang dilakukan sudah cukup selanjutnya ke tahap Data Visualization

Data Visualization : Mendapatkan insight dari hasil visualisasi yang telah dibuat.

  1. Membuat visualisasi data berupa trend of customer acquisition by year dengan meggunakan bar chart. Untuk itu saya buat feature/kolom tambahan yang merupakan tahun dari First_Transaction dan tahun dari Last_Transaction masing-masingnya dengan nama Year_First_Transaction dan Year_Last_Transaction sebelum melakukan visualisasi.

2. Selanjutnya saya akan Visualisasikan trend jumlah transaksi per tahunnya dengan menggunakan bar chart.

3. Kemudian saya akan menggunakan seaborn pointplot, untuk memvisualisasikan tren dari tahun ke tahun rata-rata jumlah transaksi untuk tiap-tiap produknya.

4. Dari sisi churned customer, khususnya untuk melihat seberapa besar proporsi churned customer untuk tiap-tiap produk dapat diketahui insight-nya melalui pie chart. Maka saya akan Visualisasikan pie chartnya untuk keempat produk tersebut.

5. Selanjutnya akan melakukan visualisasi dari distribusi kategorisasi count transaction. Kategorisasi ini dilakukan dengan mengelompokkan jumlah transaksi seperti yang diperlihatkan oleh tabel berikut:

6. Kemudian, saya akan melakukan visualisasi dari distribusi kategorisasi average transaction amount. Kategorisasi ini dilakukan dengan mengelompokkan rata-rata besar transaksi seperti yang diperlihatkan oleh tabel berikut:

Setelah mendapat beberapa insight dari visualisasi Selanjutnya adalah tahap ketiga yaitu Basic stats method.

Basic stats method : Mendapatkan insight dari model dan evaluasi model yang sudah dibuat dan diuji

Di bagian ini, selanjutnya akan menentukan feature columns dari dataset yang dimiliki, di sini dipilih kolom Average_Transaction_Amount, Count_Transaction, dan Year_Diff. Akan tetapi, kolom terakhir belum ada. Silakan dicreate dahulu kolom Year_Diff ini dan kemudian assign dataset dengan feature columns ini sebagai variabel independent X.

  1. Untuk target tentunya persoalan costumer dengan kondisi churn atau tidak, saya assign dataset untuk target ini ke dalam variabe dependent y.

2. Setelah variabel independent X dan variabel dependent y selesai dilakukan, maka saya pecah X dan y ke dalam bagian training dan testing. Bagian testing 25% dari jumlah entri data.

3. Langkah selanjutnya saya akan membuat model menggunakan Linear Regression, saya melaukan inisialisasi model, fit, dan kemudian evaluasi model dengan menggunakan confusion matrix.

4. Confusion matrix yang telah dihitung sebelumnya dapat divisualisasikan dengan menggunakan heatmap dari seaborn. Untuk itu akan saya tampilkan visualisasi dari confusion matrix ini

5. Kemudian, saya akan menghitung nilai accuracy, precission dan recall berdasarkan nilai target sesungguhnya dan nilai target hasil prediksi.

Selesai... Akhirnya selesai sudah Proyek ini Ini adalah bagian terakhir dari DQLab- Data Analyst Career Track Series. Tidak terasa seluruh materi dalam Data Analyst Career Track telah selesai kupelajari dengan baik. Ini adalah permulaan agar aku dapat melangkah menjadi seorang data analyst.

Terima kasih pembaca telah membaca sampai selesai.

Last updated