Data Analyst Project: Business Decision Research

Avatar of Moch Dimas Nurulloh.
Avatar of Moch Dimas Nurulloh.

Data Analyst Project: Business Decision Research

Data enthusiast
Bandung, Bandung City, West Java, Indonesia

Data Analyst Project:

Business Decision Research

Hi, saya akan mencoba membahas tentang Data Analyst Project: Business Decision Research, ini adalah module terakhir dalam rangkaian Data Analyst Career Track (Python) yang terdapat dalam DQLab, Semoga pembahasan ini bisa membuat saya lebih paham mendalami bidang data ini, mari kita langsung saja :)

Data Analytics Test

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

  1. Teori 
  • Konsep Dasar Data Analytics: Tes ini dimaksudkan untuk menguji pemahaman member tentang data analytics.
  1. Coding Test
  • Data preparation test: Tes ini dimaksudkan untuk menguji kemampuan member dalam melakukan ETL data.
  • Data visualization test: Tes ini dimaksudkan untuk menguji kemampuan member dalam hal visualisasi data.
  • Basic Stats Method test: Tes ini dimaksudkan untuk menguji kemampuan member dalam melakukan modeling data menggunakan statistika dasar.

Market Research and Recommendation and Visualization Technique for Business Decision-Making


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:

data source: https://storage.googleapis.com/dqlab-dataset/data_retail.csv

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

Setelah mendapatkan arahan test, saya langsung menuliskan beberapa catatan dari awal pengerjaan hingga selesai agar lebih sistematis, seperti 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.
  1. Data visualization test: Mendapatkan insight dari hasil visualisasi yang telah dibuat.
  2. Basic stats method test: Mendapatkan insight dari model dan evaluasi model yang sudah dibuat dan diuji.

Importing Data and Inspection

Importlah dataset dari https://storage.googleapis.com/dqlab-dataset/data_retail.csv dan kemudian inspeksilah dataset tersebut dengan

  1. mencetak lima data teratas saja,
  2. mencetak info dataset.

berikut adalah syntax yang digunakan:

berikut adalah output dari console:

Data Cleansing

Dua kolom yang menunjukkan terjadinya transaksi tidak bertipe datetime, maka ubahlah kedua kolom tersebut ke tipe data datetime. Kemudian cetaklah kembali 5 data teratas dari dataframe df dan juga tipe data masing-masing kolomnya.

berikut adalah syntax yang digunakan:

berikut adalah output dari console:

Churn Customers

*Customer Churn adalah persentase pelanggan yang meninggalkan bisnis atau berhenti menggunakan layanan. Tingkat churn dihitung berdasarkan jumlah pelanggan yang meninggalkan bisnis Anda dalam waktu tertentu


Untuk menentukan churn customers sesuai definisi yang telah diberikan, carilah

  1. transaksi paling terakhir kapan dilakukan
  2. klasifikasikanlah mana customer yang berstatus churn dan mana yang tidak.

Setelah itu cetak lima data teratas dan informasi dataset.


berikut adalah syntax yang digunakan:

berikut adalah output dari console:

Menghapus kolom yang tidak diperlukan

karena dilihat dari tampilan data, kolom 'no' dan 'Row_Num' itu sama dan tidak terpakai, sebaiknya kita menghapusnya saja.


berikut adalah syntax yang digunakan:

berikut adalah output dari console:

Customer acquisition by year

langkah berikutnya adalah membuat visualisasi data berupa trend of customer acquisition by year dengan meggunakan bar chart. Untuk itu buatlah 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.


berikut adalah syntax yang digunakan:

berikut adalah outputnya:

Berdasarkan visualisasi bar chart, dapat disimpulkan bahwa number of customer tertinggi diraih pada tahun 2017 sebesar 30000. Sedangkan yang memiliki number of customer terendah terjadi pada tahun 2013.

Transaction by year

Visualisasikanlah trend jumlah transaksi per tahunnya dengan menggunakan bar chart.


berikut adalah syntax yang digunakan:

berikut adalah outputnya:

Berdasarkan visualisasi bar chart, number of customer sejalan dengan number of transaction. Hal ini terlihat pada tahun 2017 yakni sama sama meningkat baik transaksi maupun konsumennya. Hal serupa juga dialami dan terjadi pada tahun 2015 sebelumnya.

Average transaction amount by year

Dengan menggunakan seaborn pointplot, visualisasikanlah tren dari tahun ke tahun rata-rata jumlah transaksi untuk tiap-tiap produknya.


berikut adalah syntax yang digunakan:

berikut adalah outputnya:

Berdasarkan rata-rata transaksi, beberapa produk mengalami kecenderungan naik-turun. Namun juga konstan seperti produk sepatu

Proporsi churned customer untuk setiap produk

Dari sisi churned customer, khususnya untuk melihat seberapa besar proporsi churned customer untuk tiap-tiap produk dapat diketahui insight-nya melalui pie chart. Visualisasikan pie chartnya untuk keempat produk yang dimaksudkan.


berikut adalah syntax yang digunakan:

berikut adalah outputnya:

Berdasarkan visualisasi pie chart, seperti yang telah kita jelaskan sebelumnya bahwa ngka 0 diwakili logika False (bukan customer churn) dan angka 1 diwakili logika True yang artinya tergolong customer churn. Terlihat bahwa hampir keseluruhan produk memiliki customer churn. Artinya adalah konsumen sudah mulai berhenti untuk menggunakan layanan atau menghentikan pembeliannya (sudah bukan pelanggan). Rentang customer churn keseluruhan produk berkisar 60–68%.

Solusi yang bisa dilakukan: kita bisa memanfaatkan 32–40% yang tergolong kedalam bukan customer churn untuk fokus kepada pelanggan setia produk DQLab Sport Center dengan memfokuskan tenaga, biaya, dan juga waktu pada pelanggan yang sudah terbukti setia.

Distribusi kategorisasi count transaction

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

Setelah menambahkan kolom baru untuk kategori ini dengan nama Count_Transaction_Group, maka visualisasikanlah dengan bar chart. 


berikut adalah syntax yang digunakan:

berikut adalah outputnya:

Setelah diketahui melalui visualisasi bar chart dalam distribusi kategori transaksi yang dilakukan, ternyata jumlah transaksi mereka hanya terjadi sekali (paling dominan). Sedangkan yang terendah adalah konsumen yang melakukan transaksi 7–10 kali dalam pembeliannya.

Distribusi kategorisasi average transaction amount

Selanjutnya, 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 ditambahkan kolom baru untuk kategori ini dengan nama Average_Transaction_Amount_Group, maka visualisasikanlah dengan bar chart. 


berikut adalah syntax yang digunakan:

berikut adalah outputnya:

Berdasarkan output visualisasi bar chart, rata-rata besar transaksi terjadi pada rentang angka > 1.000.000 hingga 2.500.000.

Feature Columns dan Target

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. 

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


berikut adalah syntax yang digunakan:

berikut adalah output dari console:

Split X dan y ke dalam bagian training dan testing

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

Train, predict dan evaluate

Langkah selanjutnya akan membuat model menggunakan Logistic Regression, inisialisasilah model, fit, dan kemudian evaluasi model dengan menggunakan confusion matrix.

Visualisasi Confusion Matrix

Confusion matrix yang telah dihitung sebelumnya dapat divisualisasikan dengan menggunakan heatmap dari seaborn. Untuk itu tampilkanlah visualisasi dari confusion matrix ini.


berikut adalah syntax yang digunakan:

berikut adalah outputnya:

Accuracy, Precision, and Recall

Hitunglah nilai accuracy, precission dan recall berdasarkan nilai target sesungguhnya dan nilai target hasil prediksi.


berikut adalah syntax yang digunakan:

berikut adalah output dari console:

Dalam “dunia” pengenalan pola (pattern recognition) dan temu kembali informasi (information retrieval), precision dan recall adalah dua perhitungan yang banyak digunakan untuk mengukur kinerja dari sistem / metode yang digunakan. Precision adalah tingkat ketepatan antara informasi yang diminta oleh pengguna dengan jawaban yang diberikan oleh sistem. Sedangkan recall adalah tingkat keberhasilan sistem dalam menemukan kembali sebuah informasi.


Sedangkan di “dunia lain” seperti dunia statistika dikenal juga istilah accuray. Accuracy didefinisikan sebagai tingkat kedekatan antara nilai prediksi dengan nilai aktual. Ilustrasi berikut ini memberikan gambaran perbedaan antara accuracy dan precision. Dengan demikian, nilai precision, recall, dan accuracy memiliki nilai yang sama sebesar 0,66668.

Hasil belajarku dalam Data Analyst Career Track DQLab

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. 

Aku mengingat apa saja kompetensi yang telah aku capai ya dalam Data Analyst Track ini, yaitu

  • Dapat menerapkan bahasa pemograman Python untuk menyelesaikan persoalan untuk analisis data
  • Dapat menerapkan SQL dan sistem database relational agar dapat digunakan dalam mengolah data pada perusahaan yang telah menerapkan IT
  • Dapat mengolah dataset skala kecil hingga besar
  • Dapat menerapkan exploratory data analysis (EDA) untuk persoalan bisnis
  • Dapat menghasilkan visualisasi data yang tepat sebagai representasi persoalan bisnis
  • Dapat membuat dan menghasilkan model prediktif hingga menguji tingkat akurasi untuk memilih model yang tepat
  • Dapat menerapkan teknik investigasi data-data yang memiliki anomali.


Semangat!!!

Source:

DQLab Module:

Data Analyst Project: Business Decision Research

Pemateri: Wahyu Herlambang, Senior Data Analyst Traveloka

The complete code:

https://github.com/dimasnurulloh/belajar-data





Data Analyst Project: Business Decision Research, ini adalah module terakhir dalam rangkaian Data Analyst Career Track (Python) yang terdapat dalam DQLab, Semoga pembahasan ini bisa membuat saya lebih paham mendalami bidang data.
Avatar of the user.
Please login to comment.

Published: Sep 6th 2023
108
8
0

Tools

python
Python

data scientist
data analyst
pyrhon

Share