Assignment Week 5
ITSB
Syafif Azmi Lontoh (52250060)
Student Major in Data Science
1 Dynamic Multi-Formula Function (R)
🎯 Tujuan:
Menghitung beberapa fungsi: linear, kuadrat, kubik, eksponensial
Menggunakan loop + validasi input + plot dalam 1 grafik
Interpretasi:
Setiap fungsi menunjukkan pola pertumbuhan yang berbeda: linear meningkat stabil, kuadrat dan kubik meningkat lebih cepat, dan eksponensial tumbuh paling signifikan. Ini menegaskan bahwa jenis fungsi sangat mempengaruhi laju perubahan nilai.
2 Nested Simulation: Multi-Sales & Discounts (R)
🎯 Tujuan:
Simulasi data penjualan Ada: - nested loop
fungsi tambahan (nested function)
logika diskon
statistik + visualisasi
| salesperson | day | sales_amount | discount_rate | cumulative_sales |
|---|---|---|---|---|
| SP_1 | 1 | 437 | 0.05 | 437 |
| SP_1 | 2 | 350 | 0.05 | 787 |
| SP_1 | 3 | 584 | 0.10 | 1371 |
| SP_1 | 4 | 583 | 0.10 | 1954 |
| SP_1 | 5 | 774 | 0.10 | 2728 |
| SP_1 | 6 | 215 | 0.05 | 2943 |
| salesperson | total_sales | avg_sales | max_sales |
|---|---|---|---|
| SP_1 | 5418 | 541.8 | 979 |
| SP_2 | 6683 | 668.3 | 907 |
| SP_3 | 6468 | 646.8 | 978 |
| SP_4 | 5436 | 543.6 | 881 |
| SP_5 | 6401 | 640.1 | 991 |
Interpretasi:
Cumulative sales selalu meningkat, tetapi dengan laju berbeda antar salesperson, menunjukkan perbedaan performa. Diskon lebih tinggi diberikan pada transaksi besar, sehingga mendorong peningkatan nilai penjualan.
3 Multi-Level Performance Categorization (R)
🎯 Tujuan:
Mengkategorikan sales_amount ke 5 level:
– Excellent
– Very Good
– Good
– Average
– Poor
Hitung persentase tiap kategori
Buat bar plot + pie chart
| performance_category | n | percentage |
|---|---|---|
| Average | 11 | 22 |
| Excellent | 12 | 24 |
| Good | 7 | 14 |
| Poor | 2 | 4 |
| Very Good | 18 | 36 |
Interpretasi: Distribusi kategori menunjukkan mayoritas data berada pada level tertentu (misalnya “Good” atau “Very Good”), yang mencerminkan performa umum sistem. Ketimpangan distribusi mengindikasikan adanya dominasi atau kelemahan performa.
4 Multi-Company Dataset Simulation (R)
🎯 Tujuan:
Generate data:
company_id, employee_id, salary, department
performance_score, KPI_score
Pakai:
nested loop
conditional logic (KPI > 90 = top performer)
Output:
summary per company
tabel + visualisasi
| company_id | employee_id | salary | department | performance_score | KPI_score | top_performer |
|---|---|---|---|---|---|---|
| C_1 | E_1_1 | 10734 | IT | 78 | 85 | No |
| C_1 | E_1_2 | 11907 | Marketing | 63 | 95 | Yes |
| C_1 | E_1_3 | 10201 | Finance | 99 | 78 | No |
| C_1 | E_1_4 | 10343 | IT | 95 | 64 | No |
| C_1 | E_1_5 | 3839 | IT | 72 | 91 | Yes |
| C_1 | E_1_6 | 7190 | Operations | 72 | 71 | No |
| company_id | avg_salary | avg_performance | max_KPI | total_employee | total_top_performer |
|---|---|---|---|---|---|
| C_1 | 9120.48 | 81.40 | 98 | 50 | 4 |
| C_2 | 9444.64 | 79.60 | 99 | 50 | 2 |
| C_3 | 9328.96 | 82.28 | 99 | 50 | 8 |
| C_4 | 8793.14 | 78.44 | 99 | 50 | 13 |
| C_5 | 9539.00 | 78.96 | 100 | 50 | 8 |
Interpretasi:
Perusahaan memiliki rata-rata gaji, performa, dan KPI yang berbeda, menunjukkan variasi kualitas internal. Karyawan dengan KPI > 90 (top performer) tidak merata, sehingga performa unggul terkonsentrasi pada kelompok tertentu.
5 Monte Carlo Simulation: π & Probability (R)
🎯 Tujuan: - Estimasi nilai π - Hitung probabilitas titik jatuh di sub-square - Visualisasi titik: dalam lingkaran luar lingkaran
| Metric | Value |
|---|---|
| Estimated Pi | 3.112 |
| Probability (Small Square) | 0.259 |
Interpretasi:
Estimasi π mendekati nilai sebenarnya, menunjukkan metode Monte Carlo efektif. Penyebaran titik acak memperlihatkan bahwa probabilitas bergantung pada luas area, bukan posisi spesifik.
6 Data Transformation & Feature Engineering (R)
🎯 Tujuan:
Normalisasi data
Hitung Z-score
Buat fitur baru
Bandingkan distribusi
| company_id | employee_id | salary | department | performance_score | KPI_score | top_performer | performance_category | salary_bracket |
|---|---|---|---|---|---|---|---|---|
| C_1 | E_1_1 | 10734 | IT | 78 | 85 | No | Medium | High |
| C_1 | E_1_2 | 11907 | Marketing | 63 | 95 | Yes | Low | High |
| C_1 | E_1_3 | 10201 | Finance | 99 | 78 | No | High | High |
| C_1 | E_1_4 | 10343 | IT | 95 | 64 | No | High | High |
| C_1 | E_1_5 | 3839 | IT | 72 | 91 | Yes | Medium | Low |
| C_1 | E_1_6 | 7190 | Operations | 72 | 71 | No | Medium | Medium |
Interpretasi:
Normalisasi dan z-score menyamakan skala data, sehingga perbandingan lebih objektif. Fitur baru membantu mengelompokkan data menjadi lebih informatif dan mudah dianalisis.
7 Mini Project: Company KPI Dashboard & Simulati
🎯 Tujuan:
Generate data perusahaan (5–10 company, 50–200 employee)
Analisis:
- avg salary
- avg KPI
- top performers
- Kategorisasi KPI
- Visualisasi
| company_id | avg_salary | avg_KPI | total_employee | total_top |
|---|---|---|---|---|
| C_1 | 9247.60 | 74.43 | 100 | 21 |
| C_2 | 8623.52 | 75.08 | 100 | 22 |
| C_3 | 8474.05 | 73.28 | 100 | 18 |
| C_4 | 9117.70 | 75.17 | 100 | 20 |
| C_5 | 9715.89 | 74.44 | 100 | 16 |
| employee_id | company_id | salary | performance_score | KPI_score | department | kpi_tier |
|---|---|---|---|---|---|---|
| E_1_1 | C_1 | 5462 | 74 | 100 | IT | Excellent |
| E_1_24 | C_1 | 13451 | 76 | 95 | IT | Excellent |
| E_1_36 | C_1 | 14427 | 81 | 98 | Finance | Excellent |
| E_1_38 | C_1 | 6463 | 80 | 94 | Finance | Excellent |
| E_1_39 | C_1 | 13858 | 72 | 95 | HR | Excellent |
| E_1_47 | C_1 | 13761 | 72 | 92 | IT | Excellent |
| department | avg_salary | avg_KPI |
|---|---|---|
| Finance | 9150.567 | 75.61111 |
| HR | 9121.723 | 74.76596 |
| IT | 9015.388 | 74.58163 |
| Marketing | 9074.517 | 73.93333 |
| Operations | 8820.745 | 73.73469 |
Interpretasi:
Perusahaan dengan rata-rata KPI tinggi tidak selalu memiliki gaji tertinggi, menunjukkan bahwa kompensasi tidak sepenuhnya menentukan performa. Distribusi KPI antar departemen mengungkap area dengan kontribusi performa terbesar.