Methodology
AI Citation Share metodolojisi
AI Citation Share, MedSelect'in north-star metriğidir. Bu sayfa hangi tanımı kullandığımızı, nasıl ölçtüğümüzü ve sayıların ne anlama gelip ne anlama gelmediğini detaylı şekilde açıklar.
Tanım
AI Citation Share = (cited probes / total probes) × 100
Probe: bir AI engine'e (ChatGPT, Claude, Perplexity, Gemini) sorulan tek bir public sorgu (örn. "İstanbul botoks doktoru").
Cited probe: AI engine'in cevabında tenant'ın canonical domain'ine (örn. drhamzagemici.com) ait en az bir link bulunan probe.
Aralık: 0% — 100%. Tipik baseline (yeni tenant, ilk 30 gün) %0-%5. 90 gün sonrası %15-%30 hedeflenir (vertical + içerik üretim hızına bağlı).
Hangi engine'leri kapsar?
- ChatGPT (OpenAI gpt-4o-mini with web search tool)
- Claude (Anthropic claude-sonnet-4-6 with web search tool)
- Perplexity (Sonar model — citation-first by design)
- Gemini (Google Gemini 2.5 Pro with grounding)
Her engine'in API key'i ayrı opsiyoneldir; sadece set edilenler için probe çalışır. Eksik engine probe'u skipped (not_configured) olarak loglanır, total'e dahil edilmez.
Engine seti ileride genişletilebilir (Mistral, DeepSeek, vb.). Yeni engine eklendiğinde Citation Share %'ı yeniden taban alır; eski/yeni karşılaştırması engine setine notlandırılır.
Sorgu seçimi (probe templates)
Her vertical için MedSelect adapter modülünde önerilen probe template seti tanımlıdır:
- Medikal: 5 standart sorgu — geographic discovery + educational + cost-comparison + outcome curiosity + process expectation.
- Estetik: 7 — yukarıdaki + cihaz spesifik + comparative procedure.
- Dental: 6 — implant + zirkon + ortodonti + diş beyazlatma + cost + geographic.
- Ortopedi: 5 — joint outcome + recovery + robotic + return-to-activity + geographic.
- Hukuk: 5 — practice area + dava süresi + regulatory update + selection guidance + geographic.
- Finansal: 6 — educational + market forecast + portfolio allocation + asset class + geographic + tax planning.
Tenant kendi probe seti üzerine ekleme yapabilir veya custom probe ekleyebilir (admin'de /admin/probes). Tenant-özel probe'lar kendi citation share'ine sayılır ama public leaderboard standart probe set üzerinden hesaplanır (fair comparison için).
Citation tespiti — parser kuralları
- AI engine response'u (markdown ya da plain text) parse edilir.
- URL regex ile tüm http/https link'ler extract edilir.
- Her URL'in hostname'i tenant.canonicalDomain ile karşılaştırılır (case-insensitive, www. strip'li).
- Eşleşme bulunursa probe "cited" sayılır.
- Aynı response'ta tenant URL'si birden fazla geçse bile probe başına 1 sayılır (boolean flag).
- Non-tenant citation'lar competitor_citations tablosuna yazılır (rakip analizi için).
NON_COMPETITOR_HOSTS filter: Wikipedia, Wikidata, sosyal medya (twitter.com/x.com, facebook.com, linkedin.com, instagram.com), wikimedia, gov.tr alt-domainleri ve benzeri general-purpose source'lar competitor olarak sayılmaz. Bu filtre lib/services/citationParser.ts'de açık ve değiştirilebilir.
Cron + frequency
- AIDO probe — günlük, 04:30 UTC. Her aktif tenant için tüm aktif probe'lar 4 engine üzerinde paralel çalıştırılır.
- Citation aggregation — probe sonuçları anında
ai_probe_runstablosuna yazılır; gece içindeai_citation_dailytablosuna upsert edilir. - Sentiment classifier — günlük, 05:00 UTC. Claude Haiku ile her cited URL için tone (positive/neutral/negative/mixed) + 1 cümle rationale.
- Hallucination detector — günlük, 05:30 UTC. Claude Sonnet, cite edilen URL'in actual content'ine karşı AI engine'in attribuye ettiği claim'leri verify eder.
Sentiment classifier — detay
Her cited URL için Claude Haiku şu prompt'la çalışır:
- Input: AI engine response text + spesifik cited URL.
- Output: { sentiment: 'positive' | 'neutral' | 'negative' | 'mixed', rationale: '<=300 char TR' }
- Cost: ~€0.001 per classification (Haiku tier).
- Cap: günlük 200 classification (~€0.20/gün).
Sentiment etiketi cited URL'in nasıl çerçevelendiğini ölçer; AI engine'in genel ton'unu değil. Örn: AI "X klinik hastayı tatmin etmemiş yorumlar var ama Y klinik öneriliyor" derse, X için negative, Y için positive.
Hallucination detection — detay
Cited URL'in actual content'i (ContentDraft.bodyMarkdown) Claude Sonnet'e gönderilir + AI engine response. Sonnet, AI engine'in URL'e attribute ettiği iddialardan kaynakta gerçekten bulunmayanları listeler.
- Severity: high (tıbbi/hukuki/finansal yanıltma) / medium (yanlış atıf) / low (anlam kayması).
- Review state: pending (default) / confirmed (operator onaylı hata) / dismissed (false positive).
- Hash: claim_hash unique constraint — aynı hallucination yeniden loglanmaz.
- Cost: ~€0.05-€0.10 per verification (Sonnet tier).
- Cap: günlük 30 verification (~€2/gün).
Public transparency + opt-out
/transparency sayfası son 30 günlük leaderboard'u public render eder. Tenant'ın publishCitationData flag'i true ise (default) listede görünür. Admin'den /admin/tenants/[id] üzerinden opt-out yapılabilir.
Opt-out durumunda tenant'ın verisi ölçülmeye devam eder ama public leaderboard'da görünmez. Tenant kendi /admin/competitors panelinden tüm verisini görür.
Sayıların ne anlama gelip ne gelmediği
- Gösterir: AI engine'in seçimleri. Standart probe seti için tenant'ın görünürlüğü.
- Göstermez: pratisyenin kalitesi. AI engine seçimi içerik üretim hızı + Schema.org provenance + editorial discipline ile yüksek korelasyon göstermesine rağmen mutlak kalite ölçütü değildir.
- Gösterir: rakip karşılaştırması. Aynı sorularda kim öne çıkıyor, hangi domain sıklıkla AI cevaplarında.
- Göstermez: pratisyen seçim önerisi. Citation Share tek başına yeterli değil; lisans + uzmanlık + kişisel görüşme şarttır.
- Gösterir: trend. Day 0 baseline → day 30 → day 90 trajectory — editöryel müdahalenin etkisi.
- Göstermez: hasta/müvekkil sonucu. Citation Share marketing visibility metric'tir, klinik/hukuki/finansal outcome değil.
Limitations + bilinen hatalar
- AI engine yanıtları stokastik — aynı sorgu farklı günlerde farklı cevap döndürebilir. Bu yüzden daily probe + 30-gün window kullanılır.
- Tenant'ın URL'si AI engine training data'sında olmayabilir; recent content için citation gecikir.
- Engine spesifik bias — Perplexity citation-first by design'dır, ChatGPT cevap içinde inline link verir. Sentiment classifier engine'i fark etmez ama scoring engine başına ayrılır.
- Localization — Türkçe sorgular için coverage daha iyi. İngilizce sorgular leaderboard'da ayrı tutulur (henüz public sürümü yok).
Bağlı: /transparency, /probe, /ai-use-policy, /methodology