> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mmmytics.com/llms.txt
> Use this file to discover all available pages before exploring further.

# L1 — Data Hub

> Haftalık medya verinizi yükleyin, DQS kalite skorunu görün, bağlam değişkenlerini etkinleştirin.

# L1 — Data Hub

`/dashboard/data` adresindeki ilk istasyon. **Tüm MMM yolculuğunun temeli** — veriniz buradan başlar.

## Ne Yapar?

* **CSV upload** — haftalık medya + KPI agregat verinizi yükler
* **PII detection** — TCKN/email/isim/telefon içeren CSV'leri reddeder (KVKK)
* **DQS (Data Quality Score)** — Gold/Silver/Bronze/Below-min tier hesaplar
* **Bağlam değişkenleri** — FX, CPI, Ramadan otomatik enrichment
* **Kampanya etiketleme** — F4 ile veri kampanya bazında organize edilebilir

## CSV Format Şartları

| Sütun                             | Tip                                       | Zorunlu   |
| --------------------------------- | ----------------------------------------- | --------- |
| `week`                            | ISO 8601 date (Pazartesi)                 | ✅         |
| `<kpi>`                           | numerik (registrations, unit\_sales, vb.) | ✅         |
| `<channel>_spend` (en az 2 kanal) | numerik (TL veya USD)                     | ✅         |
| `<context_var>` (custom)          | numerik veya string                       | Opsiyonel |

[Detaylı format kılavuzu →](/docs/mintlify/getting-started/first-data)

## Sekmeler

L1 Data Hub'ın 4 sekme yapısı vardır:

<CardGroup cols={2}>
  <Card title="Veri Yükleme" icon="cloud-arrow-up">
    CSV drag-and-drop + preview + DQS hesaplama. Yeni dataset eklemek için ana sekme.
  </Card>

  <Card title="Veri Kalitesi (DQS)" icon="gauge-high">
    Mevcut datasetinizin DQS breakdown'ı (5 faktör) + iyileştirme önerileri. Tier histogram.
  </Card>

  <Card title="Bağlam Değişkenleri" icon="globe">
    Otomatik FX/CPI/Ramadan + manuel custom değişkenleri yönet. Backfill durumu (last sync).
  </Card>

  <Card title="Kampanyalar" icon="bullhorn">
    F4 — kampanya CRUD, dataset'lere kampanya etiketi atama. Engine filter ile çalışır.
  </Card>
</CardGroup>

## DQS — Detaylı Bakış

DQS skorunun **5 faktörü**:

| Faktör                       | Ağırlık | Hesaplama                                            |
| ---------------------------- | ------- | ---------------------------------------------------- |
| **Hafta Sayısı**             | 25%     | 26 hafta = 50, 52+ hafta = 100, lineer interpolasyon |
| **Kanal Çeşitliliği**        | 20%     | 2 kanal = 50, 6+ kanal = 100                         |
| **Eksik Veri Oranı**         | 25%     | %0 = 100, %5 = 75, %10 = 50, %20+ = 0                |
| **Outlier Ratio**            | 15%     | Z-score > 3 hafta sayısı / toplam (ters orantılı)    |
| **Bağlam Değişken Coverage** | 15%     | FX + CPI + Ramadan otomatik = 60, custom +40         |

**Toplam = ağırlıklı toplamı**. Tier mapping:

* 90-100 → 🥇 Gold (model güvenilir)
* 70-89 → 🥈 Silver (kabul edilebilir, öneriler var)
* 50-69 → 🥉 Bronze (R-hat eşiği aşabilir, dikkatli yorumla)
* \< 50 → ❌ Below Min (yükleme reddedilir)

## DQS Tier Önerileri

<Tabs>
  <Tab title="Gold (90-100)">
    **Tebrikler!** Modeliniz çok güvenilir sonuç verir.

    * R-hat \< 1.05 yüksek olasılık
    * MAPE genelde \< 15-20%
    * Her istasyon yeşil indicator
  </Tab>

  <Tab title="Silver (70-89)">
    Model çalışır, **bazı zayıflıklar var**:

    * Eksik kanal (örn: Affiliate, Influencer)
    * Bağlam değişken coverage düşük
    * Birkaç outlier hafta var

    **Önerim:** Önerileri uygula, tekrar yükle. Gold'a çıkmak Silver'dan çok daha güvenilir model verir.
  </Tab>

  <Tab title="Bronze (50-69)">
    Model çalışacak ama **R-hat > 1.05 riski yüksek**.

    * Hafta sayısı düşük (26-40)
    * Eksik veri %5+
    * 2-3 kanaldan az

    **Yapılacak:** Daha fazla veri eklemeden ileri gitmek **önerilmez**. Sonuçları "directional" olarak yorumla, kesin karar verme.
  </Tab>

  <Tab title="Below Min (<50)">
    **Reddedildi.** Yükleme tamamlanmaz. Ekrandaki uyarıları takip et:

    * Min 26 hafta gerekli
    * Min 2 kanal gerekli
    * Eksik veri %20'den az olmalı
  </Tab>
</Tabs>

## Bağlam Değişkenleri (Contextual Variables)

MMM'nin doğru çalışması için **dış faktörler** kritik:

### Otomatik Backfill

Sistem her hafta otomatik günceller:

| Değişken            | Kaynak                             | Cadence             |
| ------------------- | ---------------------------------- | ------------------- |
| **FX (USD/TRY)**    | TCMB EVDS                          | Pazartesi 06:00 UTC |
| **CPI (Enflasyon)** | TCMB EVDS3                         | Ayın 5'i 07:00 UTC  |
| **Ramadan Index**   | Diyanet takvim + 9-hafta amplitude | Pazartesi 06:30 UTC |
| **Public Holidays** | Türkiye resmi tatiller             | Yıllık update       |

Yeni brand yarattığınızda 18-24 ay geriye doğru otomatik backfill yapılır.

### Manuel Bağlam Değişkenleri

CSV'nize ek sütun olarak ekleyebilirsiniz:

```csv theme={null}
week,registrations,tv_spend,...,competitor_launch,promo_active
2025-03-15,180,...,1,0
2025-03-22,165,...,0,1
```

Bu sütunlar:

* `competitor_launch` — rakip yeni model lansmanı (binary 0/1)
* `promo_active` — kendi promosyon dönemi
* `weather_index` — sıcaklık/yağış (Retail için)
* `interest_rate` — faiz oranı (Finans için)

L2 Model Studio'da seçilebilir hale gelirler.

## Veri Silme & Güncelleme

### Tek Hafta Düzeltme

Yanlış girilmiş bir hafta varsa:

1. L1 Data Hub → "Veri Yönetimi" sekmesi
2. İlgili haftayı seç → "Düzelt"
3. Yeni değerleri gir → kaydet
4. Audit log otomatik update

### Tüm Dataset Sil

`destek@mmmytics.com` üzerinden talep. KVKK Madde 5/2 kapsamında 48 saat içinde tüm copy'ler silinir (DB + storage + cache).

## API Endpoint'leri

İleri seviye kullanıcılar için (programmatic upload):

```bash theme={null}
# Upload
curl -X POST https://api.mmmytics.com/api/v1/data/upload \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: multipart/form-data" \
  -F "file=@my-data.csv" \
  -F "brand_id=$BRAND_UUID" \
  -F "campaign_id=$CAMPAIGN_UUID"

# DQS check
curl https://api.mmmytics.com/api/v1/data/dqs/$BRAND_UUID \
  -H "Authorization: Bearer $TOKEN"
```

Detay: [API Reference](https://api.mmmytics.com/docs) (FastAPI Swagger)

## Sonraki Adım

DQS Silver+ aldınız mı? **L2 Model Studio'da blueprint zamanı**:

[L2 Model Studio →](/docs/mintlify/6-istasyon/l2-model-studio)
