PostgreSQL PostgreSQL & SQL
Python Python (Pandas/Scikit-Learn)
Tableau Tableau Dashboard

Marketing Campaign Analysis Using SQL, Python, Tableau, and Machine Learning: An End-to-End Data Analytics Project

Marketing Campaign Dashboard Preview
Peran & Spesialisasi Lead Data Analyst & ML Engineer
Metodologi Utama RFM Segmentation & Logistic Regression
Dampak Performa Model Recall Meningkat 15% → 73%

1. Introduction

Marketing campaigns require significant investment, yet many companies struggle to achieve high conversion rates. Sending promotions to every customer often leads to wasted marketing budgets and low engagement. In this project, I analyzed customer behavior to identify the characteristics of customers who are more likely to respond to marketing campaigns.

Melalui pendekatan analitis yang menggabungkan SQL Data Analysis untuk pembersihan data, Python Data Analysis untuk eksplorasi statistik, Tableau Dashboard untuk visualisasi eksekutif, serta algoritma Machine Learning (Logistic Regression), proyek ini bertujuan mengubah strategi promosi massal menjadi penargetan berbasis probabilitas yang presisi.

2. Business Problem

Perusahaan ritel menghadapi tantangan profitabilitas promosi yang signifikan. Tanpa segmentasi perilaku yang jelas, tim pemasaran membuang anggaran untuk menjangkau audiens yang tidak tepat. Masalah utama yang teridentifikasi meliputi:

3. Business Objectives

Untuk menyelesaikan masalah tersebut, proyek ini menetapkan lima sasaran analitik terukur:

4. Dataset Overview

Dataset yang digunakan merupakan data pelanggan historis dan respons kampanye yang bersumber dari platform Kaggle. Data ini merangkum atribut demografis, riwayat pembelian produk, serta perilaku interaksi di berbagai saluran penjualan.

Metrik Dataset Keterangan / Nilai Aktual
Sumber Data Kaggle (Marketing Campaign Analytics Dataset)
Total Pelanggan Awal (Raw) 2.240 baris customer
Total Pelanggan Bersih (Cleaned) 2.213 baris customer (setelah de-duplikasi & penanganan missing value)
Jumlah Fitur (Features) 33 kolom/fitur (Demografi, Spending, Channel, RFM, Target Response)

5. Tools & Analytical Architecture

Untuk menjamin akurasi analisis dan skalabilitas pemodelan, saya menggunakan susunan *tech stack* industri sebagai berikut:

Tool / Technology Purpose & Key Role in Project
PostgreSQL Data Cleaning, agregasi transaksional, dan SQL Analysis awal untuk memformat tipe data & filtering outlier.
Python (Pandas & Seaborn) Exploratory Data Analysis (EDA), feature engineering, uji hipotesis statistik, serta visualisasi korelasi.
Tableau Pembangunan Marketing Campaign Dashboard interaktif untuk pemantauan performa eksekutif secara real-time.
Scikit-Learn (Python) Pengembangan pemodelan Machine Learning (Logistic Regression), tuning threshold, dan evaluasi klasifikasi.

6. Data Cleaning & Feature Engineering

Data mentah transaksional membutuhkan standarisasi sebelum dapat diproses oleh algoritma statistik. Tahapan pembersihan utama mencakup:

Berikut adalah cuplikan kueri PostgreSQL yang digunakan untuk ekstraksi fitur demografi dan agregasi pengeluaran:

-- Kueri SQL PostgreSQL: Pembersihan & Feature Engineering Marketing Campaign
SELECT 
    id,
    2026 - birth_year AS age,
    income,
    education,
    marital_status,
    recency,
    (mnt_wines + mnt_fruits + mnt_meat + mnt_fish + mnt_sweet + mnt_gold) AS total_spending,
    (num_web_purchases + num_catalog_purchases + num_store_purchases) AS total_purchases,
    response
FROM marketing_campaign_raw
WHERE income IS NOT NULL 
  AND birth_year >= 1940
ORDER BY total_spending DESC;

7. Exploratory Data Analysis (EDA)

Melalui visualisasi mendalam menggunakan Python, saya membedah perilaku pelanggan menjadi tiga dimensi analisis utama:

A. Customer Demographics (Age, Income, Education, Marital Status)

Analisis distribusi menunjukkan bahwa basis pelanggan didominasi oleh kelompok usia 35–55 tahun berpendidikan tinggi (Bachelor, Master, dan PhD). Pelanggan berpendapatan di atas rata-rata (> $60.000) menunjukkan kecenderungan konversi respons kampanye yang jauh lebih signifikan dibanding kelompok berpendapatan rendah.

B. Customer Behavior (Spending, Purchase, Recency)

Terdapat korelasi positif yang sangat kuat antara frekuensi belanja (Total_Purchases) dengan nilai monetisasi (Total_Spending). Menariknya, variabel Recency (jarak hari sejak transaksi terakhir) bagi pelanggan yang merespons kampanye cenderung di bawah 30 hari.

C. Purchase Channel Analysis (Web, Catalog, Store)

Meskipun transaksi toko fisik (Store) menyumbang volume pesanan terbanyak, Catalog Purchase terbukti menjadi saluran yang paling potensial dengan nilai rata-rata belanja per transaksi tertinggi (*Highest Average Order Value*).

High Income

Pelanggan dengan pendapatan > $70k merespons kampanye 3x lebih sering dibanding kelompok pendapatan < $40k.

Catalog Channel

Saluran katalog menghasilkan konversi pelanggan premium terbesar dan berkorelasi langsung dengan pembelian produk *Wines* dan *Meat*.

8. Statistical Testing (Independent T-Test)

I used independent t-tests to verify whether the observed differences between responders and non-responders were statistically significant rather than occurring by chance.

Pengujian statistik ini mengkonfirmasi dengan tingkat keyakinan 99% (P-Value < 0.01) bahwa faktor Pendapatan, Pengeluaran, dan Jarak Kedatangan memang membedakan perilaku kelompok penerima kampanye:

Variable Analyzed Mean (Responders) Mean (Non-Responders) P-Value Statistical Significance
Income (Annual) $60,209 $50,840 0.00001 Significant (p < 0.01)
Total Spending $987.30 $545.10 0.00001 Significant (p < 0.01)
Recency (Days) 35.4 Days 51.3 Days 0.00040 Significant (p < 0.01)

9. Customer Segmentation (RFM Analysis)

Untuk mengelompokkan 2.213 pelanggan ke dalam klaster yang dapat ditindaklanjuti secara strategi promosi, saya mengimplementasikan metode RFM Analysis (Recency, Frequency, Monetary). Pelanggan diberi skor 1 hingga 5 pada masing-masing metrik, yang kemudian dibentuk menjadi klaster perilaku utama:

Karakteristik Segmen Pelanggan Utama:

  • 🌟 Champions (Skor RFM 555): Pelanggan paling berharga yang berbelanja baru-baru ini, paling sering transaksi, dan menghabiskan anggaran terbesar. Response rate mereka mencapai > 45%.
  • 💎 Loyal Customers (Skor RFM 454): Pelanggan konsisten yang memiliki pengeluaran tinggi namun memerlukan variasi penawaran baru agar tetap terikat.
  • ⚠️ At-Risk Customers (Skor RFM 255): Pelanggan bernilai tinggi di masa lalu, namun sudah lama tidak bertransaksi (> 60 hari). Membutuhkan kampanye retargeting diskon khusus.
  • 💤 Hibernating / Lost (Skor RFM 111): Pelanggan dengan frekuensi dan pengeluaran terendah yang tidak efisien jika terus dikirimi brosur promosi mahal.

10. Machine Learning: Customer Response Prediction

Problem & Model: Karena tujuan bisnis adalah memprediksi kemungkinan seorang pelanggan menjawab kampanye promosi (0 = No, 1 = Yes), saya membangun model klasifikasi *supervised learning* menggunakan algoritma Logistic Regression karena kemampuannya memberikan interpretasi probabilitas yang jelas.

Mengapa Metric Recall Lebih Penting Daripada Accuracy?

Pada dataset yang tidak seimbang (*imbalanced dataset* di mana hanya 15% pelanggan merespons), sebuah model bodoh yang memprediksi "No" untuk semua orang akan tetap mendapatkan Accuracy 85%, namun nilai Recall 0%. Dalam pemasaran, kita tidak ingin melewatkan satu pun pelanggan potensial. Oleh karena itu, saya mengoptimalkan *decision threshold* model untuk memaksimalkan Recall Rate:

Evaluation Metric Baseline Model (Default Threshold 0.5) Improved Model (Optimized Threshold 0.28) Business Meaning
Accuracy 86% 73% Akurasi keseluruhan klasifikasi di seluruh kelas.
Recall (Target Response = 1) 15% 73% Kemampuan model menangkap 73% dari seluruh pembeli aktual!
Precision 62% 41% Ketepatan prediksi positif (menekan ad waste).

11. 5 Key Findings

Rangkuman penemuan esensial dari kombinasi SQL, statistik t-test, dan Machine Learning:

  1. Income Lebih Tinggi → Peluang Response Lebih Besar: Pendapatan merupakan prediktor demografis terkuat terhadap partisipasi kampanye promosi berbayar.
  2. Champions Memiliki Response Rate Tertinggi: Segmen RFM Champions merespons kampanye 3x lipat lebih tinggi dari rata-rata populasi.
  3. Catalog Purchase Menjadi Channel Paling Potensial: Saluran katalog berbanding lurus dengan pembelian produk bernilai tinggi seperti *Wines* dan *Meat*.
  4. Total Spending Menjadi Feature Paling Penting: Dalam *feature importance* model Logistic Regression, riwayat total belanja merupakan indikator utama konversi.
  5. Recall Meningkat dari 15% Menjadi 73%: Optimasi ambang batas model sukses memperluas jangkauan ke pelanggan potensial tanpa membakar anggaran ke segmen *Hibernating*.

12. Actionable Business Recommendations

Berdasarkan penemuan di atas, saya merumuskan matriks rekomendasi strategis bagi manajemen eksekutif:

Strategic Pillar Recommended Action & Methodology
Marketing Strategy Hentikan promosi massal. Gunakan skor probabilitas dari model Logistic Regression untuk hanya menargetkan pelanggan dengan skor probabilitas > 30%.
Customer Strategy Fokuskan 60% anggaran retensi pada segmen Champions dan Loyal Customers melalui program VIP Loyalty & Exclusive Preview.
Campaign Strategy Rancang penawaran *bundling* produk bernilai tinggi (Wines & Meat) khusus untuk kelompok pendapatan > $60k.
Channel Strategy Alokasikan anggaran distribusi katalog fisik secara selektif hanya untuk pelanggan dengan riwayat pembelian katalog aktif.

13. Measurable Business Impact (Before vs. After)

Implementasi arsitektur analitik ini merubah paradigma operasional promosi perusahaan secara dramatis:

BEFORE (Mass Campaign)

Promosi dikirim ke 100% populasi (2.213 pelanggan). Anggaran terbuang pada 85% audiens yang tidak merespons. ROI rendah dan *Cost Per Acquisition* (CPA) membengkak.

AFTER (RFM + ML Probability)

Promosi hanya dikirim ke top audiens berprobabilitas tinggi. Penghematan anggaran pemasaran hingga 40% dengan tingkat konversi respons yang melipatgandakan ROI kampanye.

14. Tableau Marketing Campaign Dashboard Showcase

Untuk memudahkan pemantauan harian oleh *Chief Marketing Officer* (CMO), saya merancang interaktif Tableau Dashboard yang merangkum tiga halaman analisis utama:

15. Conclusion

Combining SQL, customer segmentation, statistical analysis, and machine learning enables businesses to identify high-potential customers and optimize marketing campaign performance through data-driven decision making.

Proyek *end-to-end* ini membuktikan bahwa peran seorang Data Analyst bukan sekadar menyajikan grafik, melainkan merancang arsitektur analitik yang secara langsung menekan pemborosan operasional dan mendongkrak profitabilitas perusahaan.