Tüm veriler gospor_dev.duckdb'den canlı çekilir — sınır/örnekleme YOK.
Her oyuncunun TÜM maç/sezon/takım verisi tek sahada birleştirilir.
Görseller HTML5 canvas ile çizilir (binlerce pas oku performanslı).
⚖️ Karşılaştır: 2–4 oyuncu yan yana. Üst-üste binmiş
gruplu radar + kıyas tablosu + skaut güçlü/zayıf yön özeti.
Her değer /api/player ve /api/radar uç-noktalarından
birebir çekilir (tek doğruluk kaynağı, yeniden hesaplama YOK). Radar yüzdelikleri
aynı mevki emsaline göredir; farklı mevkili oyuncularda ⚠ elma-armut
uyarısı görünür.
⚠ Dürüstlük notu: Bu veri setinde maç-düzeyinde teknik adam ataması YOK.
Her sezon satırı takımın tam-sezon kaydıdır; orta-sezon değişimi olduğunda
(paylaşılan sezon) o kayıt teknik adama özel bölünmemiştir.
Paylaşılan satırlar/teknik adamlar görünür biçimde ⚠ ile işaretlenir.
Sayılar coach_career / coach_season'dan birebir gelir.
🧬 Arketipler: player_roles tablosu,
≥900 dk oynayan 6.335 saha oyuncusunun per-90/% stil vektörleri üzerinde
gözetimsiz k-means kümeleme (8 küme) sonucudur. Her küme etiketi, o kümeyi
ayıran ilk 2 metriktir (merkez imzası) — resmî mevki değildir.
Sayılar player_roles'dan birebir gelir; örnek oyuncular
player_career_summary ile (dokunuşa göre) birleştirilir.
🏟️ Takım stili: team_style tablosu,
her (lig, sezon, takım) için tek satır — gerçek Opta takım verisinden
oyun-stili profili. Topa sahiplik / pres / şut maç-başı ortalama; pas /
uzun-top / hava-topu / ileri-pas yüzdedir. Yüzdelik dilim aynı sezonun lig
havuzuna göredir (≥6 takım varsa); küçük havuzda tüm takım-sezon havuzuna
düşer ve panelde hangisi olduğu yazar. «arketip» stil metrikleri üzerinde
gözetimsiz k-means etiketidir (etiket = ilk 2 metrik), kalite sıralaması
DEĞİL. Sayılar team_style'dan birebir gelir.
⚖️🏟️ Takım Karşılaştır: 2–4 takım-sezon yan yana.
Üst-üste stil radarı + başlık metrik tablosu (satır-bazında en iyi ◀) +
karşılaştırmalı çubuklar. Her değer /api/team uç-noktasından (tek doğruluk
kaynağı; xG / pres / duran-top / kontra / xPts / oyun-durumu / Elo blokları)
birebir çekilir — yeniden hesaplama / yeni SQL YOK. ⚠ Elo
yalnızca Avrupa-bağlantılı kulüplerde geçerlidir; bazı oranlar lig-görelidir —
farklı liglerden takımları kıyaslarken dikkat (uyarı panelde görünür).
⚖️ Hakem analizi: referee_stats tablosu,
her hakem için tek satır (gerçek Opta resmî-görevli verisi). İki dürüst boyut:
SIKILIK = maç-başı kart (sarı+kırmızı) ve EV-SAHA YANLILIĞI =
gösterilen kartların yüzde kaçı EV SAHİBİ takıma. Lig geneli ev-saha kart payı
~%47.2 (<%50) — yani hakemler ortalamada
deplasman takımlarına daha çok kart gösteriyor (belgelenmiş ev-saha avantajı /
hakem yanlılığı; EPL & Şampiyonlar Ligi literatürüyle aynı yönde).
⚠ Uyarı: sıkılık lige bağlıdır
(Güney Avrupa ligleri kart-yoğun) ve ev-saha payı takım kalitesine de bağlı
olabilir — bu bir yön göstergesidir, kesin kanıt değil. Sayılar
referee_stats'tan birebir gelir; sıralama için yeterli maç gerekir.
🌍 Ligler: league_profile tablosu,
her (lig/turnuva, sezon) için tek satır — Türkiye'den Güney Amerika'ya,
Avrupa kupaları dahil çok-lig veri genişliğini tek karşılaştırmada kullanır.
gol/maç (hücum), ev-galibiyet/beraberlik/deplasman %, ev-avantajı
(ev%−deplasman%), kart/maç (sertlik), kırmızı/maç ve net-fırsat
dönüşüm% (klinik) boyutları. Sayılar league_profile'dan
birebir gelir (maç sonuçları skor rekonstrüksiyonundan, kart
match_bookings_f9, net-fırsat match_player_stats_f9).
⚠ Dürüstlük notu: renk kodu
betimleyicidir — yüksek kart "kötü", yüksek gol "iyi" anlamına GELMEZ;
sadece ligin karakterini gösterir (gollü / sert / ev-avantajlı / klinik).
En az 50 maçlı lig-sezonlar.
📊 Veri Kapsamı: "ana havuzun yüzde kaçını çektik?"
sorusunun canlı cevabı. Izgara matches_f4 (fikstür/skor) +
match_player_stats_f9 (oyuncu evreni) tablolarından birebir
gelir — hiçbir sayı elle yazılmaz, ben veri ekledikçe panel kendini günceller.
Her hücre bir (lig, sezon): maç sayısı + tamamlanma rengi
(yeşil = tüm maçlar oynanmış,
sarı = devam eden sezon,
gri = veri yok). ⚠ Dürüstlük notu: kapsam
çekirdek Avrupa'da (top-5 + Eredivisie / Portekiz / Türkiye / Yunanistan)
çok-sezon TAM; bazı ligler tek-sezon — derinlik açığı var.
"Tüm dünya kapsandı" gibi bir iddia YOKTUR; gösterilen genişlik
gerçek-DB ölçümüdür.
🌍 Ülke Envanteri: "hangi ülke-sezon kapsandı,
hangisi YOK?" sorusunun canlı cevabı — böylece bakmadığımız ülkelere
odaklanırız. Satır = ülke, sütun = sezon; hücre = o ülkede o sezon kaç lig + kaç maç.
Kırmızımsı/boş hücre = o ülke-sezon YOK.
Tüm sayılar matches_f4'ten birebir gelir; ülke eşlemesi
güvenilir kaynaktan (comp_id haritası + DB country +
comp_registry.json) çözülür — hiçbiri tahmin değildir.
⚠ Dürüstlük: kıtasal/uluslararası
kupalar (UEFA / CONMEBOL) tek bir ülkeye yazılmaz, ayrı grupta tutulur;
"kaç ülke" sayımı yalnız ulusal ligleri içerir. Bir ülkeye tıkla → ligleri
+ sezonları açılır. Ben veri ekledikçe panel kendini günceller.
⚽ Maç raporu: match_summary tablosu
(maç başına tek satır), gol zaman çizelgesi match_goals_f9'dan,
şut haritası player_shots'tan birebir gelir.
Skor başlığı = home_score/away_score; gol çizelgesindeki taraf-başı
sayı skora eşittir (kendi-kale golleri lehte olan takıma yazılır — DB'de
doğrulandı). Şut haritasında ev takımı sağ kaleye, deplasman takımı
sol kaleye hücum eder (deplasman koordinatları aynalanır: x→100−x, y→100−y);
gol noktası gerçek goldür (outcome=goal). Hiçbir
veri uydurulmaz — her öğe gerçek bir DB satırıdır.
🔥 Dikkat Çeken Maçlar: iki anlatı listesi.
En Büyük Geri Dönüşler = kazananın aştığı en büyük gol açığı
(match_comeback.comeback_from'tan birebir); açık büyüdükçe satır
daha sıcak renklenir. Hak Edip Kaybedenler = net fırsat (büyük şans)
üstünlüğü kurup kazanamayan taraf (match_summary h_bc/a_bc, canlı
hesap). ⚠ Büyük şans = Opta editöryel yüksek-kalite
fırsat sayısıdır; GOL DEĞİLDİR ve "kazanmalıydı" anlamına GELMEZ — yalnızca
betimleyici "daha çok hak etti" anlatısıdır. Her satır tıklanınca o maçın tam
raporu açılır.
🔎 Keşif (transfer kısa listesi): StatsBomb IQ /
TransferLab / Comparisonator tarzı çok-kriterli oyuncu arama — mevki ·
lig · dakika tabanı + yüzdelik-dilim eşikleri (VE ile birleşir) →
sıralı kısa liste. scout_index tablosundan (7.011 oyuncu, oyuncu
başına tek satır, 22 lig) birebir çekilir. Her eşik aynı mevki
değil tüm havuz yüzdeliğidir (0–100). Eşiği daralttıkça liste kısalır,
gevşettikçe havuz genişler. Satıra tıkla → oyuncunun tam profili açılır.
Hiçbir veri uydurulmaz — her satır
gerçek bir scout_index satırıdır; sonuçlar aynı filtrelerle atılan
doğrudan DB sorgusuyla birebir aynıdır.
📡 Canlı Analist: maç-durumunu (takımlar · dakika ·
skor · kırmızı kart) girersin; sistem tahmin yapmaz, sadece o duruma
benzer maçların geçmişte nasıl sonuçlandığını söyler. Canlı kazanma-frekansı
wp_surface (dakika 5'er yuvarlanır, skor farkı [-4,4] kıstırılır)
ampirik frekansından birebir gelir — yanında n (örneklem)
verilir. An önemi (kaldıraç) wp_leverage'dan; takım
davranışı (geç-gol payı, comeback/çöküş mentalitesi) team_goal_timing
/ team_comeback / team_gamestate_minutes'tan;
maç-öncesi güç team_adjusted (rakip-ayarlı) tablolarından
okunur. Analist notu bu sayılardan şablonla üretilir ve
halu_guard.scan() kalite kapısından geçer (abartı/halüsinasyon
reddi). Hiçbir veri uydurulmaz; hiçbir bahis
tüyosu / “başarı oranı” iddiası verilmez — bu, inplayradar'ın aşırı-iddiasına
karşı dürüst cevaptır.
Ne yapmak istiyorsun?