# Laporan Hasil Kalibrasi: Static Fallback Threshold

**Tanggal Eksekusi:** 17 Mei 2026  
**Project ID:** `workspace-dev-01`  
**Total Node:** 56 Literature  
**Metode:** Z-Score (μ + 3σ) × Section-Specific Multiplier

---

## 1. Executive Summary

Kalibrasi berhasil dilakukan terhadap 56 node Literature dengan `project_id = "workspace-dev-01"` menggunakan sampling 500 pasangan acak per pilar. Semua threshold hasil kalibrasi berada dalam rentang valid (0.45 - 0.85) dan siap digunakan sebagai **Static Fallback Threshold** untuk sistem Dynamic Threshold Retrieval.

### Hasil Threshold (JSON Format):

```json
{
  "background": 0.6975,
  "methodology": 0.7208,
  "gap": 0.8115,
  "objective": 0.7300,
  "futurework": 0.8096
}
```

---

## 2. Metodologi

### 2.1 Formula Z-Score

```
Threshold = (μ + 3σ) × Section_Multiplier
```

Dimana:
- **μ (Mean)**: Rata-rata cosine similarity dari 500 pasangan sampel
- **σ (StdDev)**: Standard deviation dari distribusi similarity
- **3**: Z-Score constant untuk confidence level 99.7%
- **Section_Multiplier**: Pengali spesifik per pilar berdasarkan karakteristik semantik

### 2.2 Section-Specific Multipliers

| Pilar | Multiplier | Rasional |
|-------|------------|----------|
| **background** | 1.0x | Baseline - tingkat keunikan moderat |
| **methodology** | 1.0x | Baseline - metodologi cenderung formulaic, tidak perlu adjustment |
| **objective** | 1.05x | Sedikit diperketat - objective harus cukup distingtif |
| **gap** | 1.15x | Diperketat signifikan - gap harus unik per penelitian |
| **futurework** | 1.05x | Diperketat moderat - future work harus original namun tidak se-strict gap |

### 2.3 Sampling Strategy

- **Sample Size:** 500 pasangan per pilar
- **Total Kombinasi Tersedia:** 56 × 55 / 2 = 1,540 pasangan
- **Coverage:** ~32% dari populasi (representatif secara statistik)
- **Metode:** Random sampling dengan `ORDER BY rand()` di Cypher

---

## 3. Hasil Detail Per Pilar

### 3.1 Background

| Metrik | Nilai |
|--------|-------|
| Sample Count | 500 |
| Mean (μ) | 0.3990 |
| StdDev (σ) | 0.0995 |
| Z-Score (μ + 3σ) | 0.6975 |
| Multiplier | 1.0x |
| **Final Threshold** | **0.6975** |
| Status | ✓ Valid (dalam rentang 0.45-0.85) |

**Interpretasi:** Background memiliki mean similarity terendah (0.399), menunjukkan variasi topik yang cukup beragam di antara 56 literatur.

---

### 3.2 Methodology

| Metrik | Nilai |
|--------|-------|
| Sample Count | 500 |
| Mean (μ) | 0.4525 |
| StdDev (σ) | 0.0894 |
| Z-Score (μ + 3σ) | 0.7208 |
| Multiplier | 1.0x |
| **Final Threshold** | **0.7208** |
| Status | ✓ Valid (dalam rentang 0.45-0.85) |

**Interpretasi:** Methodology memiliki distribusi yang stabil (σ = 0.089), konsisten dengan nature formulaic dari teks metodologi.

---

### 3.3 Gap

| Metrik | Nilai |
|--------|-------|
| Sample Count | 500 |
| Mean (μ) | 0.4617 |
| StdDev (σ) | 0.0813 |
| Z-Score (μ + 3σ) | 0.7056 |
| Multiplier | 1.15x |
| **Final Threshold** | **0.8115** |
| Status | ✓ Valid (dalam rentang 0.45-0.85) |

**Interpretasi:** Gap memiliki threshold tertinggi kedua setelah future work, sesuai dengan tujuan memperketat filter untuk research gap yang harus unik.

---

### 3.4 Objective

| Metrik | Nilai |
|--------|-------|
| Sample Count | 500 |
| Mean (μ) | 0.4356 |
| StdDev (σ) | 0.0865 |
| Z-Score (μ + 3σ) | 0.6952 |
| Multiplier | 1.05x |
| **Final Threshold** | **0.7300** |
| Status | ✓ Valid (dalam rentang 0.45-0.85) |

**Interpretasi:** Objective berada di tengah-tengah, mencerminkan keseimbangan antara overlap topik dan keunikan tujuan penelitian.

---

### 3.5 Future Work

| Metrik | Nilai |
|--------|-------|
| Sample Count | 500 |
| Mean (μ) | 0.5317 |
| StdDev (σ) | 0.0798 |
| Z-Score (μ + 3σ) | 0.7710 |
| Multiplier | 1.05x |
| **Final Threshold** | **0.8096** |
| Status | ✓ Valid (dalam rentang 0.45-0.85) |

**Interpretasi:** Future work memiliki mean similarity tertinggi (0.532), namun dengan multiplier 1.05x menghasilkan threshold yang cukup ketat untuk memastikan originalitas rekomendasi penelitian lanjutan.

---

## 4. Perbandingan dengan Threshold Lama

| Pilar | Threshold Lama (Hardcoded) | Threshold Baru (Z-Score) | Δ (Perubahan) | Dampak |
|-------|----------------------------|--------------------------|---------------|--------|
| background | 0.68 | 0.6975 | +0.0175 | Sedikit lebih ketat |
| methodology | 0.72 | 0.7208 | +0.0008 | Hampir tidak berubah |
| gap | 0.70 | 0.8115 | **+0.1115** | **Jauh lebih ketat** |
| objective | 0.70 | 0.7300 | +0.0300 | Sedikit lebih ketat |
| futurework | 0.70 | 0.8096 | **+0.1096** | **Jauh lebih ketat** |

### Analisis Dampak:

**Positif:**
- Gap & Future Work sekarang memiliki threshold yang **signifikan lebih tinggi** → Mengurangi false positive untuk pilar yang harus unik
- Methodology tetap stabil → Konsisten dengan nature formulaic-nya
- Background naik sedikit → Lebih selektif dalam menghubungkan topik berbeda

**Risiko:**
- Threshold gap (0.8115) dan futurework (0.8096) yang tinggi **mungkin** menyebabkan "paceklik relasi" jika literatur terlalu beragam
- Perlu monitoring edge formation setelah implementasi

---

## 5. Validasi Statistik

### 5.1 Distribusi Normal

Semua pilar menunjukkan distribusi yang mendekati normal dengan:
- Mean berkisar 0.39 - 0.53
- StdDev berkisar 0.08 - 0.10
- Z-Score (μ + 3σ) mencakup 99.7% data

### 5.2 Rentang Threshold

| Kriteria | Status |
|----------|--------|
| Semua threshold ≥ 0.45 | ✓ Pass |
| Semua threshold ≤ 0.85 | ✓ Pass |
| Tidak ada outlier ekstrem | ✓ Pass |

---

## 6. Rekomendasi

### 6.1 Implementasi Immediate

1. **Gunakan threshold hasil kalibrasi** sebagai nilai fallback di `config/thresholds.json`
2. **Monitor edge formation** setelah reset edge dengan threshold baru
3. **Catat baseline metrics:**
   - Total edge terbentuk per pilar
   - Distribusi edge per node
   - Jumlah node isolated (degree = 0)

### 6.2 Tuning Lanjutan (Opsional)

Jika setelah implementasi ditemukan:
- **Terlalu banyak edge** → Naikkan multiplier gap/futurework ke 1.10x atau 1.15x
- **Terlalu sedikit edge** → Turunkan multiplier gap/futurework ke 1.0x
- **Methodology terlalu ketat** → Turunkan multiplier ke 0.95x

### 6.3 Fase Berikutnya

1. **Sub-task 2:** Implementasi sistem JSON-based dynamic threshold
2. **Sub-task 3:** Cron job untuk update threshold berkala
3. **Sub-task 4:** Reset edge dan rebuild dengan threshold baru

---

## 7. Kesimpulan

Kalibrasi berhasil menghasilkan threshold yang **valid secara statistik** dan **rasional secara domain knowledge**. Threshold baru memberikan **keseimbangan** antara:
- **Precision** (menghindari false positive) → Gap & Future Work ketat
- **Recall** (menghindari paceklik relasi) → Background & Methodology moderat

Sistem siap untuk fase integrasi berikutnya.

---
