Project Data Analysis for B2B Retail : Customer Analytics Report

Kiki Candra Mahendra
5 min readSep 22, 2020

--

Photo by Morning Brew on Unsplash

Halloo!! kembali lagi bersama saya, kali ini saya akan melanjutkan mengerjakan SQL Project dari DQLab yang membahas mengenai Customer Analytics Report. yukk kita mulai bahas satu per-satu

Latar Belakang

xyz.com adalah perusahan rintisan B2B yang menjual berbagai produk tidak langsung kepada end user tetapi ke bisnis/perusahaan lainnya. Sebagai data-driven company, maka setiap pengambilan keputusan di xyz.com selalu berdasarkan data. Setiap quarter xyz.com akan mengadakan townhall dimana seluruh atau perwakilan divisi akan berkumpul untuk me-review performance perusahaan selama quarter terakhir.

Dataset

  1. Tabel Orders_1 : Berisi data terkait transaksi penjualan periode quarter 1 (Jan — Mar 2004)
  2. Tabel Orders_2 : Berisi data terkait transaksi penjualan periode quarter 2 (Apr — Jun 2004)
  3. Tabel Customer : Berisi data profil customer yang mendaftar menjadi customer xyz.com
Tabel Orders_1
Tabel Orders_2
Tabel Customer

Project Task

Sebagai seorang data analyst, kita dimintai untuk menyediakan data dan analisa mengenai kondisi perusahaan bulan terakhir untuk dipresentasikan di townhall tersebut. (Asumsikan tahun yang sedang berjalan adalah tahun 2004). Adapun hal yang akan direview adalah :

  1. Bagaimana pertumbuhan penjualan saat ini?
  2. Apakah jumlah customers xyz.com semakin bertambah ?
  3. Dan seberapa banyak customers tersebut yang sudah melakukan transaksi?
  4. Category produk apa saja yang paling banyak dibeli oleh customers?
  5. Seberapa banyak customers yang tetap aktif bertransaksi?

Project Answers

1. Menghitung Persentasi Total Keseluruhan Penjualan

  • Menggunakan perintah UNION untuk menggabungkan 2 tabel
  • Menggunakan perintah SUM untuk menghitung total_penjualan dan revenue
  • Menggunakan GROUP BY untuk mengelompokkan data berdasarkan quarter
  • Order yang ditampilkan hanya orderan yang terkirim atau ‘Shipped’ dengan memfilter kolom status pada perintah WHERE
  • Menggunakan Subquery untuk menambah perhitungan diluar tabel ‘tabel_a’
output

Berdasarkan tabel diatas, terjadi penurunan quarter 1 dan 2 sebesar -22% penjualan dan -24% untuk revenue

%Growth Penjualan = (6717–8694)/8694 = -22%

%Growth Revenue = (607548320–799579310)/ 799579310 = -24%

2. Apakah terjadi peningkatan Customer pada perusahaan xyz?

  • Menggunakan perintah QUARTER untuk mengekstrak nilai quarter berdasarkan CreateDate
  • Menggunakan perintah COUNT untuk menghitung total_customers dari setiap quarter, dengan menggunakan DISTINCT agar tidak terjadi duplikasi
  • Menggunakan GROUP BY untuk mengelompokkan data berdasarkan quarter
  • Order yang ditampilkan berdasarkan jangka waktu quarter ‘2004–01–01’ hingga ‘2004–06–30’ dengan memfilter kolom status pada perintah WHERE dan BETWEEN
  • Menggunakan Subquery pada tabel baru
output

Berdasarkan tabel diatas, terjadi penurunan Customer pada quarter 2

Quarter 1 (Januari-Maret)

Quarter 2 (April-Juni)

3. Seberapa banyak Customers yang sudah melakukan Transaksi?

  • Menggunakan perintah COUNT untuk menghitung total_customers dari setiap quarter, dengan menggunakan DISTINCT agar tidak terjadi duplikasi data
  • Menggunakan UNION untuk menggabungkan 2 tabel dari perintah WHERE IN
  • Menggunakan GROUP BY untuk mengelompokkan data total_customers berdasarkan quarter
  • Order yang ditampilkan berdasarkan jangka waktu quarter ‘2004–01–01’ hingga ‘2004–06–30’ dengan memfilter kolom status pada perintah WHERE dan BETWEEN
  • Menggunakan Subquery pada tabel baru
  • Menggunakan operator IN dan DISTINCT untuk memfilter CustomerID yang melakukan transaksi tanpa duplikasi
output

Berdasarkan tabel disamping, terjadi penurunan transaksi Customer pada quarter 2

Quarter 1 (Januari-Maret)

Quarter 2 (April-Juni)

4. Category Produk apa saja yang sering dipesan pada Quarter 2?

  • Menggunakan perintah COUNT untuk menghitung total_order pada orderNumber untuk categoryID, dengan menggunakan DISTINCT agar tidak terjadi duplikasi data
  • Menggunakan SUM untuk menjumlahkan total_penjualan dan Menggunakan GROUP BY untuk mengelompokkan data CategoryID
  • Order yang ditampilkan hanya orderan yang terkirim atau ‘Shipped’ dengan memfilter kolom status pada perintah WHERE
  • Menggunakan fungsi LEFT untuk menggambil 3 karakter awal pada CategoryID
  • Mengurutkan total_order dengan ORDER BY secara Descending
output

Berdasarkan tabel di atas, Top 3 kategori produk dengan total order paling banyak yaitu S18,S24 dan S32 dengan total penjualan > 600 sedangkan kategori produk lainnya memperoleh total penjualan sebesar < 600

5. Customer yang melakukan Repeat Order setelah transaksi dari Quarter 1 ke 2

  • Menggunakan perintah COUNT untuk menghitung total_customers, dengan menggunakan DISTINCT agar tidak terjadi duplikasi data
  • Menggunakan COUNT untuk menghitung CustomerID pada Quarter 2, dengan menggabungkan Customer Quarter 1, dengan menggunakan DISTINCT agar tidak terjadi duplikasi data pada orders 1
  • Order yang ditampilkan hanya orderan pada CustomerID dari orders 2 atau Quarter 2, maka digunakan fungsi WHERE dan DISTINCT agar tidak terjadi duplikasi data
output

Berdasarkan tabel di atas, hanya 24% Customer yang melakukan Repeat Order sehingga anjloknya penjualan pada Quarter 2

100% — 24% = 76%

Sebanyak 76% Customer dari Quarter 1 tidak melakukan Repeat Order, sehingga terjadi penurunan penjualan pada Quarter 2, maka dari itu dibutuhkan evaluasi lebih lanjut mengenai strategi marketing dan produk-produknya pada perusahaan XYZ.COM

Kesimpulan

Berdasarkan data yang telah kita peroleh melalui query SQL, Kita dapat menarik kesimpulan bahwa :

  1. Performance xyz.com menurun signifikan di quarter ke-2, terlihat dari nilai penjualan dan revenue yang drop hingga 20% dan 24%,
  2. perolehan customer baru juga tidak terlalu baik, dan sedikit menurun dibandingkan quarter sebelumnya.
  3. Ketertarikan customer baru untuk berbelanja di xyz.com masih kurang, hanya sekitar 56% saja yang sudah bertransaksi. Disarankan tim Produk untuk perlu mempelajari behaviour customer dan melakukan product improvement, sehingga conversion rate (register to transaction) dapat meningkat.
  4. Produk kategori S18 dan S24 berkontribusi sekitar 50% dari total order dan 60% dari total penjualan, sehingga xyz.com sebaiknya fokus untuk pengembangan category S18 dan S24.
  5. Retention rate customer xyz.com juga sangat rendah yaitu hanya 24%, artinya banyak customer yang sudah bertransaksi di quarter-1 tidak kembali melakukan order di quarter ke-2 (no repeat order).
  6. Xyz.com mengalami pertumbuhan negatif di quarter ke-2 dan perlu melakukan banyak improvement baik itu di sisi produk dan bisnis marketing, jika ingin mencapai target dan positif growth di quarter ke-3. Rendahnya retention rate dan conversion rate bisa menjadi diagnosa awal bahwa customer tidak tertarik/kurang puas/kecewa berbelanja di xyz.com.

--

--

Kiki Candra Mahendra
Kiki Candra Mahendra

Written by Kiki Candra Mahendra

I hope this post can be inspiring and useful, keep learning and improve skill :)

No responses yet