Team Members:
Project ini menggunakan data transaksi di sebuah e-commerce di Brazil yang diambil dari Kaggle. Tujuan dari proeject ini adalah analisa customer segmentation berdasarkan behavior transaksi dari para customers. Model yang digunakan pada project ini adalah RFM (Recency, Frequency, & Monetary) model, K-Means Clustering, dan Gaussian Clustering.
Pada era teknologi saat ini, bisnis E-commerce merupakan hal umum yang dapat ditemukan. E-commerce sendiri adalah model bisnis yang memungkinkan sebuah perusahaan atau individu bisa membeli atau menjual produknya melalui internet. Pengguna E-commerce dari tiap tahunnya juga mengalami kenaikan, khususnya untuk negara Brazil. Berikut data pengguna E-commerce dari tahun 2017 - 2025.
Di dalam E-commerce, salah satu model bisnis yang dapat ditemukan adalah marketplace. Marketplace adalah model bisnis yang menyediakan tempat bertemunya seorang penjual dan pembeli. Salah satu contoh marketplace yang berada di Brazil adalah Olist.
Revenue dari model bisnis marketplace bisa berasal dari fitur berbayar, iklan, payment gateway, dan partnership. Intinya semakin banyak user atau trafic pada suatu marketplace maka revenue yang didapatkan juga akan semakin banyak. Salah satu cara agar user atau traffic pada sebuah marketplace mengalami kenaikan adalah dengan adalah dengan melakukan Marketing Campaign, seperti pemberian discount, copywriting, dan lainnya. Pada umumnya, perusahaan menyiapkan budget sebesar 5%-12% dari total revenue yang didapatkan untuk melakukan marketing campaign. Namun, masalah yang terjadi adalah marketing campaign yang dilakukan tidak tepat sasaran sehingga perusahaan mengalami kerugian. Sebuah marketing campaign dapat dikatakan sukses bukan hanya diukur berdasarkan berapa banyak user baru yang berhasil didapatkan, melainkan juga berapa banyak user lama yang berhasil dipertahankan agar tetap menggunakan marketplace tersebut.
Untuk mengatasi hal tersebut, salah satu cara yang dapat dilakukan adalah melakukan segmentasi pada customer atau yang biasa disebut dengan Customer Segmentation. Customer Segmentation membantu pemilik marketplace untuk mengelompokkan customer yang memiliki sifat yang sama. Dengan menggunakan Customer Segmentation, perusahaan dapat melakukan marketing campaign secara efektif sehingga jumlah transaksi user dan loyalitas user dapat meningkat. Menurut survey yang dilakukan oleh Researchscape and Evergage pada tahun 2020, 99% marketer setuju bahwa personalisasi membantu menguatkan hubungan dengan customer dan 78% dari hasil tersebut memberikan klaim bahwa impact-nya sangat kuat.
How to segment customers so we can divide customers based on their shopping behavior?
- Value: Customer Segmentation
- Goals: Divide customers based on their shopping behavior
What kind of treatment for each cluster to increase retention rate customer?
- Value: Give treatment for each cluster
- Goals: Increase retention rate customer
Berdasarkan Problem Statement yang ada di atas, kami akan menyelesaikan masalah yang dimiliki sebuah perusahaan E-commerce di Brazil, yaitu perusahaan Olist. Data ini diambil dari tahun 2016 - 2018 dan disebarkan secara public di Kaggle pada tahun 2018 bulan September. Data-data yang ada berisi tentang transaksi customer dan seller. Untuk menyelesaikan masalah tersebut, kami hanya membutuhkan data-data yang berhubungan dengan transaksi customer saja karena yang ingin kami lakukan adalah customer segmentation yang berguna untuk mengetahui behavior seorang customer dalam bertransaksi.
Attribute | Data Type | Description | Unit Analysis |
---|---|---|---|
order_id | object | Unik ID dari order | Setiap baris merepresentasikan ID order yang yang muncul ketika customer melakukan order |
order_purchase_stamp | datetime64[s] | Waktu pembelian customer | Setiap baris merepresentasikan waktu ketika customer melakukan order |
order_item_id | float64 | Jumlah barang per-order | Setiap baris merepresentasikan jumlah barang yang dibeli customer dalam sekali order |
product_id | object | ID dari sebuah product | Setiap baris merepresentasikan ID dari sebuah product yang diorder oleh customer |
price | float64 | Harga dari sebuah product | Setiap baris merepresentasikan harga dari sebuah product yang diorder oleh customer |
payment_sequential | float64 | Jumlah payment method | Setiap baris merepresentasikan jumlah metode payment yang dilakukan oleh customer. Customer dapat membayar sebuah transaksi lebih dari 1 metode |
payment_type | object | Metode pembayaran | Setiap baris merepresentasikan metode yang digunakan customer dalam membayar sebuah transaksi |
payment_value | float64 | Nilai Transaksi | Setiap baris merepresentasikan nilai transaksi yang harus dibayar customer |
review_score | float64 | Tingkat kepuasan customer | Setiap baris merepresentasikan tingkat kepuasan customer dalam bertransaksi, nilainya dari 1 - 5 |
customer_unique_id | object | Unik ID dari customer | Setiap baris merepresentasikan ID customer yang melakukan order |
product_category_name_english | object | Kategori product | Setiap baris merepresentasikan nama kategori dari sebuah product dalam Bahasa Inggris |
month_order | object | Nama bulan order dilakukan | Setiap baris merepresentasikan nama bulan dari tanggal pembelian dilakukan |
weekday_order | object | Nama hari order dilakukan | Setiap baris merepresentasikan nama hari dari tanggal pembelian dilakukan |
month_year_order | period[M] | Tahun dan bulan pembelian | Setiap baris merepresentasikan tahun dan bulan dari tanggal pembelian dilakukan |
Pada bagian ini, kami feature yang kami gunakan adalah Recency, Frequency, dan Monetary dari customer. Ketiga hal tersebut dapat menggambarkan transaksi behavior dari seorang customer. Arti dari RFM sendiri adalah:
- Recency: Waktu terakhir kali customer melakukan pembelian
- Frequency: Jumlah transaksi
- Monetary: Kekuatan belanja dari sebuah customer Model yang kami coba ada 3 model, yaitu RFM Segmentation, K-Means, dan Gaussian Models
Pada RFM Segmentation, kami melakukan perhitungan skor segmentasinya dengan cara mengkombinasikan skor dari R, F, dan M menjadi sebuah kombinasi unik dalam bentuk string. Contohnya jika R = 1, F = 1, dan M = 1 maka RFM Segmentation Score nya menjadi 1 + 1 + 1 = 111 dan dari score tersebut kami memberikan segmentasi pada customer
Dengan menggunakan feature RFM, kami menggunakan algoritma K-Means untuk melakukan customer segmentation
Model ini menggunakan gaussian method untuk membentuk suatu cluster.
RFM Segment | Deskripsi | Strategi |
---|---|---|
Best | Customers yang melakukan transaksi baru-baru ini, sering melakukan transaksi, dan mempunyai total transaksi yang paling tinggi. | Loyalty program/reward point, rekomendasi produk baru, dan penawaran barang eksklusif (Cross / Up Selling Strategy) |
Loyal | Customers yang melakukan transaksi paling sering. | Loyalty program/reward point dan penawaran barang eksklusif (Cross / Up Selling Strategy) |
Big Spender | Customers yang mempunya total transaksi paling tinggi. | Rekomendasi barang eksklusif, penawaran partnership/membership (B2B), dan penawaran pembelian dengan harga grosir (Cross / Up Selling Strategy) |
New | Customers yang baru-baru ini melakukan transaksi dan baru satu kali melakukan transaksi. | Welcome e-mail untuk membangun reletionship, penawaran loyalty program/reward point, dan voucher diskon (Cross / Up Selling Strategy) |
Promising | Customers yang baru-baru ini melakukan transaksi, serta frekuensi dan total transaksinya diatas rata-rata customers lain. | Penawaran terbatas secara rutin, voucher diskon dan cashback via e-mail (Retention Strategy) |
Lost Potential | Customers yang sudah lama tidak melakukan transaksi, tetapi frekuensi dan total transaksinya diatas rata-rata customers lain. | Penawaran terbatas secara rutin, voucher diskon dan cashback via e-mail (Retention & Reactivate Stretegies) |
Lost | Customers yang sudah lama tidak melakukan transaksi, hanya melakukan satu kali transaksi, dan total transaksi sedikit. | Campaign via e-mail dan meminta feedback. (Reactivation Strategy) |
- Dataset: Folder yang berisi dataset dari Kaggle
- Img: Folder yang berisi gambar-gambar dari hasil project ini
- data_outlist_clean.csv: Data gabungan dari dataset
- customer.csv: Data transaksi behavior dari setiap customer
- Part01-Data Cleaning: Notebook file yang berisi bagaimana cara kami merge data, handling missing value, handling duplicate value, casting data type, handling inconsisten variable, dan save data menjadi dataset baru
- Part02-EDA: Notebook file yang berisi EDA kami dan beberapa feature engineering untuk mendapatkan feature transaksi behavior dari seorang customer
- Part03-Methodology(Data Analytics): Notebook file yang berisi Descriptive dan Inferential Analysis dari perusahaan Olist
- Part04-Modeling: Notebook file yang berisi model-model untuk customer segmentation
Note : 3D Visualization kami menggunakan library Plotly tidak muncul di Github, silakan download notebook kami lalu buka di Jupyeter Notebook/Google Colab untuk melihatnya.
- [1] https://www.invespcro.com/blog/customer-acquisition-retention/
- [2] https://www.statista.com/forecasts/251659/e-commerce-users-in-brazil
- [3] https://clevertap.com/blog/rfm-analysis/
- [4] Prescription for Cutting Costs, Bain & Company
- [5] https://www.ngdata.com/how-to-improve-customer-retention/