25 Pertanyaan Wawancara Data Analytics Terpopuler Tahun 2026
Persiapkan wawancara data analyst dengan 25 pertanyaan terpopuler tahun 2026, mencakup SQL, Python, statistik, visualisasi, dan pertanyaan behavioral lengkap dengan contoh kode.

Persaingan di bidang data analytics semakin ketat setiap tahunnya. Pada tahun 2026, perusahaan tidak hanya mencari kandidat yang mahir secara teknis, tetapi juga yang mampu mengomunikasikan insight dengan jelas kepada pemangku kepentingan non-teknis. Artikel ini menyajikan 25 pertanyaan wawancara data analyst yang paling sering diajukan, lengkap dengan contoh jawaban dan kode yang dapat langsung dipraktikkan.
Persiapan yang matang adalah kunci keberhasilan. Pelajari setiap pertanyaan, pahami konsep di baliknya, dan latih kemampuan menjelaskan solusi dengan bahasa yang sederhana namun tetap akurat.
Pertanyaan SQL Fundamental
SQL tetap menjadi keterampilan wajib bagi setiap data analyst. Kemampuan menulis query yang efisien dan memahami perbedaan mendasar antar klausa menjadi tolok ukur kompetensi teknis kandidat.
1. Apa perbedaan antara WHERE dan HAVING?
Pertanyaan klasik ini menguji pemahaman tentang urutan eksekusi query SQL. Klausa WHERE memfilter baris sebelum agregasi dilakukan, sedangkan HAVING memfilter hasil setelah agregasi selesai.
-- monthly_revenue.sql
SELECT
DATE_TRUNC('month', order_date) AS month,
SUM(amount) AS revenue
FROM orders
WHERE status = 'completed' -- row-level filter
GROUP BY month
HAVING SUM(amount) > 10000; -- group-level filterPada contoh di atas, WHERE status = 'completed' menyaring baris yang berstatus completed sebelum pengelompokan. Setelah agregasi, HAVING SUM(amount) > 10000 hanya menampilkan bulan dengan total pendapatan di atas 10.000.
2. Jelaskan cara kerja window function dan berikan contoh penggunaannya
Window function memungkinkan perhitungan agregat tanpa mengurangi jumlah baris hasil. Fungsi ini sangat berguna untuk analisis ranking, running total, dan perbandingan antar baris.
-- user_ranking.sql
SELECT
user_id,
purchase_date,
amount,
ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY purchase_date) AS purchase_rank,
SUM(amount) OVER (PARTITION BY user_id ORDER BY purchase_date) AS running_total,
LAG(amount) OVER (PARTITION BY user_id ORDER BY purchase_date) AS prev_amount
FROM purchases;Query ini menghitung urutan pembelian setiap pengguna, akumulasi total belanja, dan nilai pembelian sebelumnya dalam satu query yang efisien.
3. Bagaimana cara mendeteksi dan menghapus data duplikat?
Duplikasi data merupakan masalah umum dalam ETL pipeline. Teknik berikut menggunakan CTE (Common Table Expression) untuk mengidentifikasi dan mempertahankan hanya satu record dari setiap grup duplikat.
-- deduplicate_events.sql
WITH ranked AS (
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY user_id, event_type, DATE_TRUNC('minute', created_at)
ORDER BY created_at
) AS rn
FROM events
)
SELECT * FROM ranked WHERE rn = 1;Pendekatan ini memberikan nomor urut pada setiap grup duplikat berdasarkan kriteria yang ditentukan, kemudian memfilter hanya baris pertama dari setiap grup.
4. Bagaimana cara membuat analisis cohort retention?
Analisis cohort retention mengukur berapa banyak pengguna yang tetap aktif setelah periode waktu tertentu sejak akuisisi awal. Metrik ini krusial untuk memahami loyalitas pelanggan.
-- weekly_cohort_retention.sql
WITH cohorts AS (
SELECT
user_id,
DATE_TRUNC('week', MIN(event_date)) AS cohort_week
FROM user_events
GROUP BY user_id
),
activity AS (
SELECT
c.cohort_week,
DATE_TRUNC('week', e.event_date) AS active_week,
COUNT(DISTINCT e.user_id) AS active_users
FROM user_events e
JOIN cohorts c ON c.user_id = e.user_id
GROUP BY c.cohort_week, DATE_TRUNC('week', e.event_date)
)
SELECT
cohort_week,
EXTRACT(WEEK FROM active_week - cohort_week) AS weeks_since_signup,
active_users
FROM activity
ORDER BY cohort_week, weeks_since_signup;5. Kapan sebaiknya menggunakan CTE dibandingkan subquery?
CTE (Common Table Expression) meningkatkan keterbacaan query kompleks dan memungkinkan penggunaan ulang hasil sementara dalam query yang sama. CTE lebih disarankan ketika:
- Query memiliki beberapa tingkat logika yang perlu dipisahkan
- Hasil sementara perlu direferensikan lebih dari sekali
- Tim perlu melakukan code review pada query yang panjang
Siap menguasai wawancara Data Analytics Anda?
Berlatih dengan simulator interaktif, flashcards, dan tes teknis kami.
Pertanyaan Python untuk Data Analytics
Python menjadi bahasa pemrograman utama dalam ekosistem data science. Penguasaan library pandas dan numpy menjadi ekspektasi standar dalam wawancara data analyst.
6. Bagaimana cara menangani missing values dalam dataset?
Penanganan missing values memerlukan pertimbangan konteks bisnis. Tidak ada pendekatan universal yang cocok untuk semua situasi.
# handle_missing.py
import pandas as pd
import numpy as np
df = pd.read_csv('sales.csv')
# Inspect the extent of missing data
print(df.isnull().sum())
print(df.isnull().mean().round(3)) # percentage per column
# Strategy 1: drop rows where critical columns are null
df_clean = df.dropna(subset=['customer_id', 'amount'])
# Strategy 2: fill numeric columns with median (robust to outliers)
df['amount'] = df['amount'].fillna(df['amount'].median())
# Strategy 3: fill categorical columns with the mode
df['region'] = df['region'].fillna(df['region'].mode()[0])Langkah pertama selalu menganalisis distribusi missing values sebelum memutuskan strategi yang tepat.
7. Jelaskan perbedaan antara merge, join, dan concat di pandas
Ketiga fungsi ini sering membingungkan pemula. Pemahaman yang jelas tentang kapan menggunakan masing-masing sangat penting.
# combine_dataframes.py
import pandas as pd
orders = pd.read_csv('orders.csv')
customers = pd.read_csv('customers.csv')
# Key-based merge (equivalent to SQL JOIN)
result = orders.merge(customers, on='customer_id', how='left')
# Stack rows from multiple sources
all_events = pd.concat([events_q1, events_q2], ignore_index=True)
# Add columns side-by-side (same row count required)
combined = pd.concat([features, labels], axis=1)merge() digunakan untuk menggabungkan berdasarkan kolom kunci, concat() untuk menumpuk baris atau kolom, dan join() adalah shortcut untuk merge berbasis index.
8. Bagaimana cara menggunakan groupby dengan agg dan transform?
Kombinasi groupby(), agg(), dan transform() memungkinkan analisis agregat yang fleksibel dan powerful.
# sales_analysis.py
import pandas as pd
df = pd.read_csv('transactions.csv', parse_dates=['date'])
# Monthly revenue by product category
monthly = (
df.groupby([pd.Grouper(key='date', freq='M'), 'category'])
.agg(revenue=('amount', 'sum'), orders=('order_id', 'nunique'))
.reset_index()
)
# Add a column with each category's share of total monthly revenue
monthly['share'] = (
monthly.groupby('date')['revenue']
.transform(lambda x: x / x.sum())
.round(4)
)
print(monthly.head(10))Perbedaan utama: agg() mengembalikan DataFrame dengan jumlah baris sesuai grup, sedangkan transform() mengembalikan Series dengan panjang sama seperti input.
9. Bagaimana cara mendeteksi outlier dalam dataset?
Deteksi outlier menggunakan metode IQR (Interquartile Range) merupakan pendekatan yang robust dan mudah diinterpretasikan.
# detect_outliers.py
import pandas as pd
import numpy as np
df = pd.read_csv('transactions.csv')
# IQR method
Q1 = df['amount'].quantile(0.25)
Q3 = df['amount'].quantile(0.75)
IQR = Q3 - Q1
lower = Q1 - 1.5 * IQR
upper = Q3 + 1.5 * IQR
outliers = df[(df['amount'] < lower) | (df['amount'] > upper)]
print(f'Outliers found: {len(outliers)} ({len(outliers)/len(df)*100:.1f}%)')
# Cap instead of remove (winsorization)
df['amount_capped'] = df['amount'].clip(lower=lower, upper=upper)Keputusan untuk menghapus atau melakukan capping pada outlier bergantung pada konteks analisis dan dampak bisnis.
Pertanyaan Statistik dan Analisis Data
Pemahaman statistik yang kuat membedakan data analyst yang kompeten dari yang biasa-biasa saja.
10. Apa yang dimaksud dengan p-value dan bagaimana interpretasinya?
P-value mengukur probabilitas mendapatkan hasil seektrem atau lebih ekstrem dari yang diamati, dengan asumsi hipotesis nol benar. P-value kurang dari 0.05 (threshold umum) mengindikasikan hasil yang secara statistik signifikan, namun bukan berarti secara praktis penting.
Kesalahan umum adalah menginterpretasikan p-value sebagai probabilitas hipotesis nol benar. Interpretasi yang tepat adalah: jika hipotesis nol benar, berapa kemungkinan melihat data seperti ini.
11. Kapan sebaiknya menggunakan median dibandingkan mean?
Median lebih robust terhadap outlier dan distribusi yang skewed. Gunakan median ketika:
- Data memiliki outlier ekstrem (misalnya pendapatan rumah tangga)
- Distribusi sangat tidak simetris
- Ingin menggambarkan nilai "tipikal" yang lebih representatif
Mean lebih tepat ketika distribusi relatif normal dan total agregat memiliki makna bisnis (misalnya rata-rata nilai transaksi untuk proyeksi revenue).
12. Jelaskan perbedaan antara korelasi dan kausalitas
Korelasi mengukur hubungan linear antara dua variabel, sedangkan kausalitas menyatakan bahwa perubahan pada satu variabel menyebabkan perubahan pada variabel lain. Korelasi tinggi tidak otomatis berarti kausalitas karena:
- Bisa ada variabel confounding yang memengaruhi keduanya
- Hubungan bisa bersifat kebetulan (spurious correlation)
- Arah kausalitas bisa terbalik dari asumsi awal
Untuk membuktikan kausalitas diperlukan eksperimen terkontrol (A/B testing) atau metode inferensi kausal yang lebih canggih.
13. Apa perbedaan antara Type I dan Type II error?
Type I error (false positive) terjadi ketika menolak hipotesis nol yang sebenarnya benar. Type II error (false negative) terjadi ketika gagal menolak hipotesis nol yang sebenarnya salah.
Dalam konteks bisnis: Type I error seperti meluncurkan fitur baru yang sebenarnya tidak efektif, sedangkan Type II error seperti tidak meluncurkan fitur yang sebenarnya berpotensi meningkatkan konversi.
Siap menguasai wawancara Data Analytics Anda?
Berlatih dengan simulator interaktif, flashcards, dan tes teknis kami.
Pertanyaan Power BI dan Visualisasi Data
Kemampuan membuat visualisasi yang efektif dan dashboard yang informatif menjadi nilai tambah signifikan bagi data analyst.
14. Apa perbedaan antara DAX dan SQL?
SQL dioptimalkan untuk query relational database dengan operasi berbasis set. DAX (Data Analysis Expressions) dirancang khusus untuk model data Power BI dengan konsep filter context yang unik. DAX memungkinkan:
- Kalkulasi yang aware terhadap filter visual
- Time intelligence built-in (YTD, QTD, same period last year)
- Row context dan filter context yang fleksibel
Keduanya saling melengkapi: SQL untuk ekstraksi dan transformasi data, DAX untuk kalkulasi dinamis di level laporan.
15. Kapan menggunakan Import mode vs DirectQuery di Power BI?
Import mode memuat data ke memori Power BI, memberikan performa query yang cepat tetapi memerlukan refresh berkala. DirectQuery mengirim query langsung ke sumber data, memastikan data selalu terkini tetapi performa bergantung pada kapasitas sumber.
Gunakan Import mode untuk:
- Dataset berukuran kecil hingga menengah
- Analisis yang memerlukan respons cepat
- Sumber data yang tidak mendukung DirectQuery
Gunakan DirectQuery untuk:
- Dataset sangat besar yang tidak muat di memori
- Kebutuhan data real-time
- Kebijakan keamanan yang mengharuskan data tetap di sumber
16. Bagaimana memilih antara bar chart dan line chart?
Bar chart optimal untuk membandingkan kategori diskrit atau ranking. Line chart lebih tepat untuk menunjukkan tren waktu atau perubahan kontinyu. Prinsip dasarnya:
- Gunakan line chart ketika sumbu X merepresentasikan waktu atau urutan kontinyu
- Gunakan bar chart ketika sumbu X adalah kategori yang tidak memiliki urutan alami
- Kombinasikan keduanya (combo chart) untuk menampilkan metrik dengan skala berbeda
17. Bagaimana cara mengoptimalkan performa dashboard Power BI?
Beberapa strategi optimasi yang efektif:
- Kurangi jumlah visual per halaman (maksimal 8-10)
- Gunakan agregasi di level sumber data
- Hindari kalkulasi DAX yang kompleks pada tabel besar
- Implementasikan incremental refresh untuk dataset besar
- Nonaktifkan interaksi visual yang tidak diperlukan
Pertanyaan Behavioral dengan Metode STAR
Kemampuan teknis saja tidak cukup. Pewawancara juga menilai soft skill dan pengalaman menangani situasi nyata.
18. Ceritakan pengalaman menghadapi konflik dengan stakeholder terkait interpretasi data
Gunakan framework STAR (Situation, Task, Action, Result) untuk menjawab pertanyaan ini secara terstruktur. Fokuskan jawaban pada:
- Bagaimana mengidentifikasi akar perbedaan interpretasi
- Langkah konkret untuk memvalidasi analisis
- Cara mengomunikasikan temuan dengan empati
- Hasil akhir dan pembelajaran yang didapat
19. Bagaimana cara menjelaskan konsep teknis kepada audiens non-teknis?
Beberapa teknik yang efektif:
- Gunakan analogi dari kehidupan sehari-hari
- Fokus pada implikasi bisnis, bukan detail teknis
- Visualisasikan data dengan grafik sederhana
- Hindari jargon dan akronim tanpa penjelasan
- Siapkan berbagai tingkat detail untuk pertanyaan lanjutan
20. Bagaimana memprioritaskan permintaan analisis ketika semua terasa urgent?
Jawaban yang baik menunjukkan kemampuan manajemen waktu dan komunikasi:
- Klarifikasi deadline dan dampak bisnis masing-masing permintaan
- Diskusikan prioritas dengan manajer atau pemangku kepentingan
- Komunikasikan timeline yang realistis
- Identifikasi quick wins yang bisa diselesaikan sambil mengerjakan proyek besar
Pertanyaan Data Cleaning dan ETL
Kualitas analisis bergantung pada kualitas data. Kemampuan membangun pipeline ETL yang andal menjadi keterampilan yang sangat dihargai.
21. Bagaimana cara memvalidasi hasil ETL pipeline?
Validasi yang komprehensif mencakup beberapa aspek:
# etl_validation.py
import pandas as pd
def validate_pipeline(source_df: pd.DataFrame, target_df: pd.DataFrame) -> dict:
checks = {}
# Row count match
checks['row_count_match'] = len(source_df) == len(target_df)
# Null rate on critical columns
for col in ['user_id', 'event_date', 'amount']:
null_rate = target_df[col].isnull().mean()
checks[f'{col}_null_rate'] = round(null_rate, 4)
# Revenue reconciliation
source_total = source_df['amount'].sum()
target_total = target_df['amount'].sum()
checks['revenue_diff_pct'] = round(
abs(source_total - target_total) / source_total * 100, 2
)
return checks
results = validate_pipeline(source, target)
for check, value in results.items():
print(f'{check}: {value}')22. Kapan menggunakan skema normalized vs denormalized?
Skema normalized (3NF) meminimalkan redundansi dan menjaga integritas data, cocok untuk sistem transaksional (OLTP). Skema denormalized mengurangi jumlah JOIN yang diperlukan, meningkatkan performa query untuk analisis (OLAP).
Dalam praktik modern, data warehouse biasanya menggunakan pendekatan hybrid dengan star schema atau snowflake schema yang menyeimbangkan kedua kebutuhan.
Pertanyaan Advanced Analytics
23. Bagaimana merancang dan menganalisis A/B test?
Langkah-langkah utama dalam A/B testing:
- Definisikan hipotesis dan metrik keberhasilan dengan jelas
- Hitung sample size yang diperlukan untuk statistical power yang memadai
- Pastikan randomisasi yang benar antara grup kontrol dan treatment
- Jalankan tes selama durasi yang cukup untuk menangkap variasi natural
- Analisis hasil dengan mempertimbangkan signifikansi statistik dan praktis
- Dokumentasikan temuan dan rekomendasi
24. Bagaimana melakukan funnel analysis?
Funnel analysis mengidentifikasi titik-titik di mana pengguna keluar dari proses konversi. Langkah analisisnya:
- Definisikan setiap tahap funnel dengan jelas
- Hitung conversion rate antar tahap
- Segmentasi berdasarkan dimensi relevan (device, source, cohort)
- Identifikasi tahap dengan drop-off tertinggi
- Analisis kualitatif untuk memahami penyebab
- Rekomendasikan perbaikan berdasarkan data
25. Apa saja komponen kunci dalam membangun KPI dashboard?
Dashboard KPI yang efektif memiliki karakteristik berikut:
- Hierarki visual yang jelas dengan metrik terpenting di posisi dominan
- Konteks perbandingan (vs periode sebelumnya, vs target)
- Kemampuan drill-down untuk investigasi lebih dalam
- Refresh rate yang sesuai dengan kebutuhan bisnis
- Definisi metrik yang terdokumentasi dengan baik
Siap menguasai wawancara Data Analytics Anda?
Berlatih dengan simulator interaktif, flashcards, dan tes teknis kami.
Kesimpulan
Persiapan wawancara data analyst yang menyeluruh mencakup berbagai aspek kompetensi. Berikut rangkuman poin-poin penting:
- SQL: Kuasai window functions, CTE, dan teknik optimasi query
- Python: Pahami pandas secara mendalam termasuk groupby, merge, dan penanganan missing values
- Statistik: Pastikan pemahaman yang solid tentang p-value, hypothesis testing, dan perbedaan korelasi dengan kausalitas
- Visualisasi: Ketahui kapan menggunakan jenis chart yang tepat dan cara mengoptimalkan dashboard
- Soft skills: Latih kemampuan mengomunikasikan insight teknis kepada audiens non-teknis
- ETL: Pahami prinsip data quality dan teknik validasi pipeline
Dengan menguasai kelima bidang tersebut dan mempersiapkan contoh konkret dari pengalaman kerja, kandidat akan memiliki keunggulan kompetitif dalam proses rekrutmen data analyst di tahun 2026.
Tag
Bagikan
Artikel terkait

SQL untuk Data Analyst: Window Functions, CTE, dan Query Tingkat Lanjut
Panduan lengkap SQL window functions, CTE, dan pola query analitik tingkat lanjut untuk data analyst. Dilengkapi contoh kode praktis dan teknik optimasi performa.

Power BI vs Tableau 2026: Alat Mana yang Harus Dipelajari?
Perbandingan lengkap Power BI vs Tableau meliputi harga, fitur AI, visualisasi, dan prospek karier di tahun 2026. Panduan berbasis data untuk analis yang memilih platform BI berikutnya.

25 Pertanyaan Wawancara Data Science Teratas di 2026
Pertanyaan wawancara data science mencakup statistika, machine learning, rekayasa fitur, deep learning, SQL, dan desain sistem — dengan contoh kode Python dan jawaban mendalam untuk tahun 2026.