Gimana caranya platform kursus tau siswanya beneran belajar atau cuma daftar doang? Dataset marketplace edukasi fiktif ini punya 3.000 siswa, puluhan kursus, sampai ~31 ribu hasil quiz. Cocok buat latihan JOIN lima tabel, funnel completion, dan analisis retry quiz. Strukturnya ramah window function, jadi enak buat coba RANK sama running total. Datanya bersih, pas buat pemula yang mau naik level.
Bingung mau ngapain sama dataset ini? Kami udah siapin 10 ide analisis berjenjang, dari yang gampang buat pemula sampai project portfolio yang bisa langsung kamu pajang di CV.
Pertanyaan bisnis: Tim marketing Skillaju mau tahu channel akuisisi mana yang paling banyak nyumbang siswa, biar budget iklan nggak dibakar ke tempat yang salah.
Yang bisa kamu ulik:
acquisition_source (Instagram, Google, YouTube, Referral, TikTok, Organic)plan_type buat lihat channel mana yang bawa siswa berbayar, bukan cuma freeOutput buat portfolio/laporanmu: Satu bar chart ranking channel plus 2 kalimat rekomendasi channel mana yang layak digenjot.
Tools yang bisa kamu pake: SQL, Google Sheets (pivot table)
Konsep yang kepake: agregasi & grouping (GROUP BY / pivot table), hitung porsi jadi persentase
9 ide lainnya (Premium)
Data instruktur: expertise, kota, dan rating rata-rata.
| Kolom | Tipe | Deskripsi |
|---|---|---|
| instructor_id | text | PK — format INST01–INST30. |
| name | text | Nama lengkap instruktur (Indonesia). |
| expertise | text | Area keahlian: SQL & Data Engineering, Python & Machine Learning, Excel & Google Sheets, Power BI & Tableau, Statistics & Analytics, Data Visualization. |
| city | text | Kota: Jakarta, Bandung, Surabaya, Yogyakarta, Medan, Bali. |
| courses_count | integer | Jumlah kursus yang diajar (1–6). |
| avg_rating | decimal | Rata-rata rating instruktur (4.1–5.0). |
| joined_date | date | Tanggal instruktur join platform. |
Sumber: NgulikData Dataset Pack
Lisensi: CC BY 4.0
Isi nama sama email dulu ya, terus datanya langsung bisa kamu download.
Dengan mengisi form ini, kamu setuju menerima email edukasi dari Ngulik Data.
Masuk dulu ke akun kamu, atau lihat paket Premium biar semua ide analisis dan project portfolio kebuka.
Mulai Rp 69.000/bln, cancel kapan aja
Katalog kursus: kategori, harga, level, dan instruktur pengampu.
| Kolom | Tipe | Deskripsi |
|---|---|---|
| course_id | text | PK — format CRS001–CRS050. |
| title | text | Judul kursus dalam Bahasa Indonesia. |
| category | text | SQL, Python, Excel, Power BI, Statistics, Data Engineering. |
| instructor_id | text | FK → instructors.instructor_id. |
| price_idr | integer | Harga dalam IDR; 0 = kursus gratis. |
| duration_hours | integer | Durasi total konten (4–30 jam). |
| level | text | beginner, intermediate, advanced. |
| avg_rating | decimal | Rating kursus (4.0–4.9). |
| total_enrolled | integer | Total siswa terdaftar (nilai snapshot). |
| created_date | date | Tanggal kursus dipublikasikan. |
| status | text | published atau draft. |
Data siswa: demografi, kota, acquisition source, dan tipe plan.
| Kolom | Tipe | Deskripsi |
|---|---|---|
| student_id | text | PK — format STU00001–STU03000. |
| name | text | Nama lengkap siswa (Indonesia). |
| text | Email lowercase (gmail/yahoo/outlook/hotmail). | |
| age | integer | Usia 18–45. |
| city | text | Kota domisili (13 kota besar Indonesia). |
| registration_date | date | Tanggal daftar platform (2022-01-01 → 2025-02-28). |
| acquisition_source | text | Instagram, Google, YouTube, Referral, TikTok, Organic. |
| plan_type | text | free, basic, atau pro. |
Bridge table progres belajar per siswa per kursus (many-to-many).
| Kolom | Tipe | Deskripsi |
|---|---|---|
| enrollment_id | text | PK — format ENR000001+. |
| student_id | text | FK → students.student_id. |
| course_id | text | FK → courses.course_id. Kombinasi (student_id, course_id) unik. |
| enrolled_date | date | Tanggal enroll (≥ student.registration_date). |
| completion_date | date | Tanggal selesai — NULL jika belum selesai (nullable, bahan latihan handling NULL). |
| completion_pct | integer | Progres 0–100. |
| certificate_issued | boolean | true jika completion_pct = 100. |
| last_accessed | date | Tanggal akses terakhir. |
Hasil quiz per attempt: score, passed/failed, dengan retry hingga 3x.
| Kolom | Tipe | Deskripsi |
|---|---|---|
| quiz_id | text | PK — format QZ000001+. |
| enrollment_id | text | FK → enrollments.enrollment_id. |
| student_id | text | FK → students.student_id (denormalized untuk kemudahan query). |
| course_id | text | FK → courses.course_id (denormalized untuk kemudahan query). |
| quiz_number | integer | Nomor quiz dalam kursus (1–N). |
| attempt_number | integer | Percobaan ke- (1, 2, atau 3) — cocok untuk window function RANK. |
| score | integer | Nilai 0–100. |
| passed | boolean | true jika score ≥ 70. Untuk siswa completion_pct = 100, attempt terakhir selalu passed. |
| attempt_date | date | Tanggal attempt. |
Masuk dulu ke akun kamu, atau lihat paket Premium biar semua ide analisis dan project portfolio kebuka.
Mulai Rp 69.000/bln, cancel kapan aja