
# Gerçek Zamanlı Satıcı Anketi Önceliklendirme ve Risk Puanlaması için AI Karar Motoru

Güvenlik anketleri, uyum denetimleri ve satıcı değerlendirmeleri, her B2B SaaS işleminin vazgeçilmez kapı bekçileri dir. Ancak gelen isteklerin manuel triage’i genellikle gizli bir maliyet yaratır: geciken anlaşmalar, parçalanmış risk içgörüsü ve aşırı yüklenmiş uyum ekipleri. **Procurize** zaten anketleri düzenlemek için birleşik bir merkez sunuyor, fakat bir sonraki evrim adımı, **hangi** anketi **ne zaman** ele alacağını ve **her satıcının** gerçek risk seviyesini bilen bir *karar‑verme katmanı* eklemektir.

Bu makale, size bir **AI Karar Motoru**‑nun tasarımını, uygulamasını ve iş etkisini anlatacak. Motor şu yeteneklere sahiptir:

1. **Satıcı sinyallerini** gerçek zamanlı olarak içe aktarır ([SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) raporları, [ISO 27001](https://www.iso.org/standard/27001) sertifikaları, [GDPR](https://gdpr.eu/) DPO onayları).  
2. **Risk** puanını hibrit bir Graph Neural Network (GNN) + Bayes modeli ile hesaplar.  
3. **Anket görevlerini** pekiştirmeli‑öğrenme (RL) zamanlayıcısı ile önceliklendirir.  
4. **Kararları**, sorunsuz yürütme için Procurize’in işbirlikçi çalışma alanına geri gönderir.

İlerleyen bölümlerde, istek denizini veri‑odaklı, sürekli optimize edilen bir iş akışına çevirerek yanıt döngülerini **%70**’e kadar kısaltırken cevap doğruluğunu artırmanın yollarını öğreneceksiniz.

---

## Neden Gerçek‑Zamanlı Önceliklendirme Önemli?

| Ağrı Noktası | Geleneksel Yaklaşım | AI‑Destekli Dönüşüm |
|--------------|---------------------|----------------------|
| **Fonlama turları veya ürün lansmanları sırasında hacim dalgalanmaları** | İlk gelen hizmet alır kuyruğu | Dinamik yük‑bilinçli zamanlama |
| **Risk kör noktaları – ekipler tüm satıcıları eşit olarak değerlendirir** | Manuel risk derecelendirme (genellikle eski) | Canlı verilerle sürekli risk puanlaması |
| **Kaynak israfı – genç analistler düşük etki anketlerini yanıtlar** | Kural‑tabanlı görev atama | Beceri eşleşmeli görev tahsisi |
| **Anlaşma sürtünmesi – yavaş yanıtlar fırsat kaybına yol açar** | Reaktif takip | Yüksek değerli satıcılar için proaktif uyarılar |

Bir karar motoru, **satıcı riski** ve **ekip kapasitesi** sürekli yeniden değerlendirilerek “herkese aynı” yaklaşımını ortadan kaldırır. Sonuç, yeni kanıtlar ortaya çıktıkça evrilen *canlı öncelik listesi* olur – modern güvenlik‑odaklı organizasyonların tam ihtiyacı.

---

## Mimari Genel Bakış

Aşağıdaki Mermaid diyagramı, AI Karar Motoru’nun temel bileşenlerini ve veri akışlarını, mevcut Procurize platformu ile sıkı bir entegrasyon içinde gösterir.

```mermaid
graph LR
    subgraph Data Ingestion
        A["Gerçek Zamanlı Satıcı Sinyalleri"]
        B["Politika Deposu"]
        C["Tehdit İstihbaratı Akışı"]
        A --> D["Olay Akışı (Kafka)"]
        B --> D
        C --> D
    end

    subgraph Risk Scoring
        D --> E["Özellik Deposu (Delta Lake)"]
        E --> F["Hibrit GNN + Bayes Modeli"]
        F --> G["Risk Puanı (0‑100)"]
    end

    subgraph Prioritization Scheduler
        G --> H["Pekiştirmeli Öğrenme Ajanı"]
        H --> I["Öncelik Kuyruğu"]
        I --> J["Görev Dağıtıcı (Procurize)"]
    end

    subgraph Feedback Loop
        J --> K["Kullanıcı Eylemi ve Geri Bildirim"]
        K --> L["Ödül Sinyali (RL)"]
        L --> H
    end
```

*Mermaid sözdizimi gereği tüm düğüm etiketleri çift tırnak içinde tutulmuştur.*

### Önemli Bileşenler

1. **Olay Akışı** – Apache Kafka (veya Pulsar), yeni denetim raporları, zafiyet uyarıları ve sözleşme güncellemeleri gibi tüm değişiklikleri yakalar.  
2. **Özellik Deposu** – Merkezi Delta Lake, mühendislik özelliklerini (ör. satıcı yaşı, kontrol olgunluğu, maruziyet düzeyi) tutar.  
3. **Hibrit GNN + Bayes Modeli** – GNN, birbirine bağlı kontroller üzerinden riski yayarken, Bayes modeli düzenleyici ön bilgiler ekler.  
4. **RL Zamanlayıcı** – Çok‑kolmeli bir bandit algoritması, hangi öncelik ayarlamalarının en hızlı *anlaşma kapanışı* ya da *risk azaltımı* sağladığını öğrenir; ödüller gerçek dünyadan gelen geri bildirimle beslenir.  
5. **Görev Dağıtıcı** – Procurize API’si sayesinde, yüksek öncelikli anket biletlerini doğrudan ilgili paydaşın kontrol paneline ittirir.

---

## Gerçek‑Zamanlı Veri İçeriği

### 1. Satıcı Sinyalleri

- **Uyum artefaktları**: [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) Type II, [ISO 27001](https://www.iso.org/standard/27001) sertifikaları, [GDPR](https://gdpr.eu/) DPO onayları.  
- **Operasyonel telemetriler**: CloudTrail günlükleri, SIEM uyarıları, varlık envanterleri.  
- **Harici istihbarat**: CVE akışları, dark‑web ihlal monitörleri, üçüncü‑taraf risk puanları.

Tüm sinyaller **kanonik JSON şeması**na normalize edilip `vendor.signals`, `policy.updates` ve `threat.intel` adlı Kafka konularına yayınlanır.

### 2. Özellik Mühendisliği

Bir Spark Structured Streaming işi, ham olayları sürekli zenginleştirir:

```python
from pyspark.sql import functions as F

# Örnek: son denetimden itibaren geçen günleri hesapla
df = spark.readStream.format("kafka").option("subscribe", "vendor.signals").load()
parsed = df.selectExpr("CAST(value AS STRING) as json").select(F.from_json("json", schema).alias("data"))
features = parsed.withColumn(
    "days_since_audit",
    F.datediff(F.current_date(), F.col("data.last_audit_date"))
)
features.writeStream.format("delta").option("checkpointLocation", "/tmp/checkpoints").start("/mnt/feature-store")
```

Elde edilen **Delta Lake tablosu**, risk modeli için kaynak olur.

---

## AI Risk Puanlama Motoru

### Hibrit Grafik Sinir Ağı

Satıcı‑kontrol bilgi grafı, aşağıdaki varlıkları bağlar:

- **Satıcı → Kontroller** (ör. “Satıcı X, Veri‑Şifreleme uygular”).  
- **Kontrol → Düzenleme** (ör. “Veri‑Şifreleme, GDPR Madde 32’yi karşılar”).  
- **Kontrol → Kanıt** (ör. “Kanıt #1234”).

**PyG** (PyTorch Geometric) kullanılarak iki katmanlı GCN uygulanır:

```python
import torch
from torch_geometric.nn import GCNConv

class RiskGNN(torch.nn.Module):
    def __init__(self, in_dim, hidden_dim, out_dim):
        super().__init__()
        self.conv1 = GCNConv(in_dim, hidden_dim)
        self.conv2 = GCNConv(hidden_dim, out_dim)

    def forward(self, x, edge_index):
        x = torch.relu(self.conv1(x, edge_index))
        x = torch.sigmoid(self.conv2(x, edge_index))
        return x
```

Çıktı vektörü `x`, her satıcı düğümü için **normalleştirilmiş risk**i temsil eder.

### Bayes Öncelik Katmanı

Regülasyon uzmanları, **öncelik** değerleri tanımlar (ör. “PHI işleyen tüm satıcılar 0.65 başlangıç riski alır”). Bir Bayes güncellemesi, bu öncelikleri GNN sonrası dağılımla birleştirir:

\[
P(Risk | Data) = \frac{P(Data | Risk) \cdot P(Risk)}{P(Data)}
\]

Uygulama, `pymc3` ile posterior dağılımları örnekleyerek **güven aralığı**nı da puanla birlikte sunar.

---

## Pekiştirmeli‑Öğrenme‑Tabanlı Öncelik Zamanlayıcı

### Çok‑Kollu Bandit Modeli

Her **kol**, bir öncelik seviyesi (örn. **Acil**, **Yüksek**, **Orta**, **Düşük**) temsil eder. Ajan, bir seviyesi seçer, **ödül** (anlaşma kapanışı, risk azaltımı, analist memnuniyeti) gözlemler ve politikasını günceller.

```python
import numpy as np

class BanditAgent:
    def __init__(self, n_arms=4):
        self.n = n_arms
        self.counts = np.zeros(n_arms)
        self.values = np.zeros(n_arms)

    def select_arm(self):
        epsilon = 0.1
        if np.random.rand() > epsilon:
            return np.argmax(self.values)
        else:
            return np.random.randint(0, self.n)

    def update(self, chosen_arm, reward):
        self.counts[chosen_arm] += 1
        n = self.counts[chosen_arm]
        value = self.values[chosen_arm]
        self.values[chosen_arm] = ((n - 1) / n) * value + (1 / n) * reward
```

**Ödül sinyali**, birden fazla KPI’yi birleşik olarak birleştirir:

- **Yanıt Süresi Azaltma (TTA)**.  
- **Risk‑Puan Uyumluğu** (verilen cevap risk puanını ne kadar azaltıyor).  
- **Kullanıcı‑Geri Bildirim Skoru** (analist görevin ilgili olduğunu ne kadar değerlendiriyor).

### Sürekli Öğrenme

Her 5 dakikada bir RL ajanı, en yeni ödül toplu verisiyle **Delta Lake ödül tablosu**ndan yeniden eğitilir. Güncellenen politika, **Öncelik Kuyruğu** servisine itilir ve bir sonraki görev topluluğunu anında etkiler.

---

## Procurize ile Entegrasyon

Procurize aşağıdaki API’leri sunar:

- **`/api/v1/questionnaires`** – anket listeleme, oluşturma, güncelleme.  
- **`/api/v1/tasks/assign`** – anketi bir kullanıcı/ekibe atama.  
- Webhook’lar, görev tamamlama olayları için.

Karar motoru, bu API’leri hafif bir **FastAPI** sarmalayıcısıyla tüketir:

```python
import httpx

async def dispatch_task(vendor_id, priority):
    payload = {
        "vendor_id": vendor_id,
        "priority": priority,
        "due_date": (datetime.utcnow() + timedelta(days=2)).isoformat()
    }
    async with httpx.AsyncClient() as client:
        await client.post("https://api.procurize.com/v1/tasks/assign", json=payload, headers=auth_header)
```

Bir anket **tamamlandığında**, Procurize’in webhook’u ödül tablosunu günceller ve geri besleme döngüsünü kapatır.

---

## İş Katkıları

| Metrik | Motor Öncesi | Motor Sonrası (30 gün) |
|--------|--------------|------------------------|
| Ortalama Anket Yanıt Süresi (TTA) | 4,3 gün | **1,2 gün** |
| 48 saat içinde ele alınan yüksek riskli satıcıların %'si | 22 % | **68 %** |
| Analist memnuniyeti (1‑5) | 3.1 | **4.6** |
| Anlaşma hızı artışı (kazanma oranı) | 31 % | **45 %** |

**Bileşik etki**, daha hızlı yanıtlar, daha iyi risk hizalaması ve memnun analist sayesinde ölçülebilir gelir artışı ve azalan uyum sorumluluğu olarak ortaya çıkar.

---

## Uygulama Yol Haritası (12‑Haftalık Sprint)

| Hafta | Kilometre Taşı |
|-------|----------------|
| 1‑2 | Kafka konularını kur, satıcı‑sinyal şemasını tanımla |
| 3‑4 | Delta Lake özellik deposunu oluştur, streaming işlerini yaz |
| 5‑6 | GNN modelini geliştir, geçmiş anket verileriyle eğit |
| 7 | Bayes öncelik katmanını ekle, güven aralıklarını kalibre et |
| 8‑9 | Bandit zamanlayıcısını uygula, ödül toplama mekanizmasını entegre et |
| 10 | Procurize API’lerine bağlan, uç‑uç testleri yap |
| 11 | Uyumluluk analistleriyle A/B pilotu başlat |
| 12 | Global yayına al, izleme ve alarm panellerini kur |

Başarı kriterleri: **model gecikmesi < 500 ms**, **zamanlayıcı 200 etkileşimde yakınsamış**, **özellik deposunda ≥ 80 % veri kalitesi**.

---

## Gelecek Perspektifleri

1. **Federated Learning Uzantısı** – Birden çok SaaS ortakının, ham veriyi paylaşmadan risk modelini ortak geliştirmesi.  
2. **Explainable AI Katmanı** – Doğal‑dil gerekçeler üretmek (örn. “Satıcı X yüksek puan aldı çünkü son CVE‑2024‑1234 zafiyeti tespit edildi”).  
3. **Zero‑Trust Entegrasyonu** – Karar motorunu Zero‑Trust ağla eşleştirerek kanıt erişimi için en az ayrıcalıklı erişimi otomatik sağla.  
4. **Regülasyon Dijital İkizi** – Gelecek düzenleme senaryolarını simüle edip anket önceliklerini önceden ayarlama.

Karar motoru, **uyum fonksiyonunun beyni** haline gelir; sadece anket yanıtlamayı otomatikleştirmekle kalmaz, **hangi anketi önce yanıtlayacağını ve nedenini** bilerek stratejik bir risk yönetimi sunar.

---

## Sonuç

Anket yanıtlarını otomatikleştirmek yeterli değildir. Gerçek rekabet avantajı, **hangi anketi ne zaman ve neden** yanıtlayacağınızı bilmektir. Gerçek‑zamanlı veri içeriği, grafik‑tabanlı risk puanlaması ve pekiştirmeli‑öğrenme‑tabanlı önceliklendirme birleştirildiğinde, uyum fonksiyonunu bir darboğazdan stratejik bir hızlandırıcıya dönüştürür.

Bu motoru, Procurize’in işbirlikçi platformu üzerine inşa etmek, güvenlik, hukuk ve satış ekiplerinin senkronize çalışmasını, anlaşmaları daha hızlı kapatmasını ve sürekli değişen düzenleyici gereksinimlerin bir adım önünde kalmasını sağlar. **Saniyelerin kritik olduğu** bir dünyada, AI‑destekli, risk‑bilinçli bir öncelik kuyruğu, modern uyum otomasyonunun bir sonraki zorunlu katmanıdır.

---

## Aynı Konuda Diğer Kaynaklar

- [NIST SP 800‑53 Rev 5 – Risk Management Framework](https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final)  
- [ISO/IEC 27001:2022 – Bilgi Güvenliği Yönetim Sistemi](https://www.iso.org/standard/73906.html)  
- [Google Cloud Blog: Gerçek‑Zamanlı ML Veri Boru Hatları Kafka ve Vertex AI ile Kuruluyor](https://cloud.google.com/blog/topics/inside-google-cloud/building-real-time-ml-pipelines)