Belajar Data Analyst - Analisis Funnel & Conversion
Episode 15 of 28

Belajar Data Analyst - Analisis Funnel & Conversion

Episode ini membahas analisis funnel dan conversion: memetakan tahapan perjalanan pelanggan, menghitung conversion rate per tahap, menemukan drop-off terbesar, hingga channel attribution. Ditutup dengan praktik audit funnel checkout yang bisa kalian terapkan langsung

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Analisis cohort di episode 14 menunjukkan siapa yang bertahan. Sekarang kita bertanya di mana mereka berhenti? Funnel analysis memetakan perjalanan pelanggan tahap demi tahap — dari pengunjung hingga pembelian selesai — dan mengungkap di titik mana pengguna paling banyak "bocor".

Mengapa ini penting? Karena pertumbuhan bisnis sering kali paling mudah diperoleh dengan menambal kebocoran funnel daripada menarik lebih banyak traffic. Meningkatkan conversion 5% di tahap checkout bisa setara dengan menggandakan budget iklan. Analis yang paham funnel tahu persis di mana peluang terbesar berada.

Membangun Funnel: Memilih Tahapan yang Tepat

Funnel adalah rangkaian event yang menandai kemajuan pengguna. Untuk e-commerce, funnel standar:

text
Kunjungi situs → Lihat produk → Tambah ke keranjang → Mulai checkout → Pembayaran selesai

Data event biasanya tersimpan dalam tabel log peristiwa:

Struktur tabel events
-- user_id, event, event_timestamp, channel, ...
CREATE TABLE events (
    user_id BIGINT,
    event VARCHAR(50),
    event_timestamp TIMESTAMP,
    channel VARCHAR(20)
);
Jumlah unik user per tahap funnel
SELECT event, COUNT(DISTINCT user_id) AS users
FROM events
WHERE event_timestamp >= '2026-01-01'
GROUP BY event;

Aturan penting: hitung user unik, bukan jumlah event — satu user yang merefresh halaman 10x bukan 10 pengguna. Dan urutkan tahapan dengan benar: jumlah pengguna harus menurun secara monoton (bocor) dari atas ke bawah; jika tidak, definisi funnel kalian salah.

Conversion Rate dan Drop-Off

Dari jumlah user per tahap, hitung dua angka kunci:

text
Conversion per tahap = users tahap berikutnya / users tahap ini
Drop-off = 1 - conversion per tahap
Overall conversion = users tahap akhir / users tahap awal
Funnel lengkap dengan conversion rate
WITH funnel AS (
    SELECT
        COUNT(DISTINCT CASE WHEN event = 'visit' THEN user_id END) AS visit,
        COUNT(DISTINCT CASE WHEN event = 'add_to_cart' THEN user_id END) AS add_to_cart,
        COUNT(DISTINCT CASE WHEN event = 'checkout' THEN user_id END) AS checkout,
        COUNT(DISTINCT CASE WHEN event = 'payment' THEN user_id END) AS payment
    FROM events
)
SELECT
    visit, add_to_cart, checkout, payment,
    ROUND(add_to_cart * 100.0 / visit, 1)    AS cart_rate,
    ROUND(checkout * 100.0 / add_to_cart, 1) AS checkout_rate,
    ROUND(payment * 100.0 / visit, 1)        AS overall_conversion
FROM funnel;

Aturan emas audit funnel: fokus pada drop-off absolut terbesar — tahap yang kehilangan paling banyak user, bukan persentase terbesar. Kehilangan 50% dari 100 user (50 user) lebih penting daripada 90% dari 10 user (9 user).

100%

Drop-off terbesar: dari checkout ke payment (kehilangan 2.025 user). Di sanalah investigasi harus dimulai.

Channel Attribution: Dari Mana Pengguna Datang

Funnel agregat menyembunyikan perbedaan antar sumber traffic. Channel attribution menjawab: kanal mana yang membawa pengguna yang benar-benar sampai bayar?

Funnel per channel
SELECT channel, COUNT(DISTINCT user_id) AS users
FROM events
WHERE event IN ('visit', 'payment')
GROUP BY channel;
Conversion per channel
SELECT channel,
       COUNT(DISTINCT CASE WHEN event = 'payment' THEN user_id END) * 100.0 /
           NULLIF(COUNT(DISTINCT CASE WHEN event = 'visit' THEN user_id END), 0) AS conversion
FROM events
GROUP BY channel
ORDER BY conversion DESC;

Insight yang sering muncul: kanal dengan traffic terbesar (misal iklan display) belum tentu kanal dengan conversion terbaik (misal organik/search). Angka ini langsung berdampak pada alokasi budget marketing.

Important

Attribution adalah medan jebakan: atribusi last-touch (kredit ke kanal terakhir) dan first-touch (kanal pertama) menghasilkan cerita yang berbeda. Selalu nyatakan model atribusi yang dipakai, dan paham bahwa funnel per channel hanya satu sudut pandang — kombinasi kanal (multi-touch) adalah cerita yang lebih utuh.

Praktik: Audit Funnel Checkout

Kasus: tim produk curiga "banyak orang berhenti di checkout". Audit yang benar:

  1. Hitung funnel penuh (query di atas) — temukan tahap bocor terbesar.
  2. Segmentasi waktu: bandingkan funnel bulan ini vs bulan lalu. Bocornya baru atau lama?
  3. Segmentasi device/kanal: apakah bocor terkonsentrasi di mobile? Chrome? Kanal tertentu?
  4. Telusuri pelengkap: keluhan support, error log pembayaran, rasio metode pembayaran.
  5. Hipotesis + eksperimen: misal dugaan "form OTP di mobile bermasalah" → A/B test (episode 21).

Hasil audit bukan sekadar "conversion 25%", melainkan rekomendasi: "Drop-off terbesar antara checkout dan payment (25% conversion), 3x lebih parah di mobile Android, dan korelasi dengan keluhan OTP SMS — rekomendasikan A/B test verifikasi alternatif."

Kesalahan Umum

  • Menghitung user sebagai event. COUNT(*) bukan COUNT(DISTINCT user_id).
  • Fokus ke persentase, bukan jumlah absolut. Cari drop-off terbesar dalam angka pengguna.
  • Funnel tanpa jendela waktu konsisten. Semua tahap harus diukur dalam periode yang sama.
  • Attribution tanpa model yang jelas. First-touch vs last-touch menghasilkan cerita berbeda.

Penutup

Inti yang harus dibawa pulang:

  • Funnel memetakan perjalanan pengguna; hitung user unik per tahap.
  • Conversion rate per tahap mengungkap titik bocor; fokus pada drop-off absolut terbesar.
  • Funnel per channel menjawab kanal mana yang benar-benar konversi.
  • Audit funnel berakhir dengan hipotesis dan eksperimen — bukan sekadar angka.

Di episode 16 selanjutnya kita memperluas arena kerja dari database kecil ke data warehouse di cloud: BigQuery, Snowflake, dan Redshift — apa bedanya dengan OLTP, bagaimana query data raksasa, dan cara mengendalikan biaya. Funnel sudah mengungkap titik kebocoran; sekarang kita pastikan kalian bisa menarik data dari skala enterprise!

Belajar Data Analyst - Analisis Funnel & Conversion | Belajar Data Analyst