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ı

  1. AI engine response'u (markdown ya da plain text) parse edilir.
  2. URL regex ile tüm http/https link'ler extract edilir.
  3. Her URL'in hostname'i tenant.canonicalDomain ile karşılaştırılır (case-insensitive, www. strip'li).
  4. Eşleşme bulunursa probe "cited" sayılır.
  5. Aynı response'ta tenant URL'si birden fazla geçse bile probe başına 1 sayılır (boolean flag).
  6. 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_runs tablosuna yazılır; gece içinde ai_citation_daily tablosuna 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).
    MedSelect — AI Citation Share metodolojisi · Asclepia