73 lines
4.5 KiB
Markdown
73 lines
4.5 KiB
Markdown
# Gereksinim Keşfi: Lig Etiketleme + Milli Takım / Dünya Kupası Desteği
|
||
|
||
> `/sc:brainstorm` çıktısı — REQUIREMENTS ONLY. Tasarım/kod sonraki adım (/sc:design, /sc:workflow).
|
||
> Tarih: 2026-06 · Kaynak: 10k backtest + canlı DB/API kanıtı.
|
||
|
||
## Doğrulanmış Gerçekler (kanıta dayalı, varsayım değil)
|
||
|
||
### Lig performansı
|
||
- 10k backtest 18 ligde BET üretti; ROI dağılımı: ~7 güçlü kârlı (+25%..+102%),
|
||
~4 başabaş, ~7 zararlı (−12%..−62%).
|
||
- `live_matches` distinct lig ≠ `qualified_leagues.json` (48 lig). live_matches'te
|
||
qualified olmayan ligler var → kullanıcının "gereksiz ligler" sezgisi DOĞRU.
|
||
- Lig isimleri backtest CSV'de boş; DB'den `leagues` tablosundan çözülür.
|
||
|
||
### Milli takım / Dünya Kupası (ÖNEMLİ — ilk hipotez ÇÜRÜDÜ)
|
||
- Milli takımlar DB'de VAR: Türkiye(9s2kpeunkes0g17l95r3t91j6, elo 1675),
|
||
Almanya(3l2t2db0c5ow2f7s7bhr6mij4, 1689), Kolombiya(1692), Andorra(1243).
|
||
ELO + matches_played (30-37) MEVCUT.
|
||
- Milli maç hacmi yüksek: DK Elemeler 645, Hazırlık Maçları Ülkeler 522,
|
||
Uluslar Ligi 148, Avrupa Şamp. Elemeleri 120 bitmiş maç. Ayrı ligler halinde.
|
||
- football_ai_features milli maçlar için %98 üretiliyor (196/200) — kulüpten yüksek.
|
||
- **KÖK SEBEP (canlı API ile kanıtlandı):** Sistem milli maçı tahmin EDİYOR
|
||
(MS olasılıkları + 9-10 market geliyor, data_quality MEDIUM 0.57-0.74). Sorun:
|
||
`betting_brain approved=0` — hiçbir market "oynanabilir" işaretlenmiyor. Ortak
|
||
flag `ai_features_inferred_from_history` → data_quality MEDIUM tavanı (0.74) +
|
||
lig qualified değil → brain eşikleri geçilemiyor. Yani "yetersiz veri" mesajı
|
||
aslında "brain güvenmiyor, BET yok" demek. Model/veri sorunu DEĞİL, gate/tuning sorunu.
|
||
|
||
## Kullanıcı Kararları (bu oturumda alındı)
|
||
- Lig filtresi: **"Hepsi görünsün ama etiketli"** (gizleme yok; güven rozeti: Yüksek/Orta/Düşük).
|
||
- Milli takım: başta "ayrı model" istendi; veri görülünce yön = mevcut motoru milli
|
||
maçlara uyarlamak (ayrı ML modeli gereksiz — ELO+feature+geçmiş zaten var).
|
||
- Öncelik: **önce lig etiketleme** (hazır veri), sonra milli takım.
|
||
- Dünya Kupası: hazırlık maçlarında test edilebilmeli (yakın takvim baskısı).
|
||
|
||
## Fonksiyonel Gereksinimler
|
||
|
||
### A. Lig Güven Etiketleme
|
||
- FR-A1: Her lig için backtest'e dayalı güven seviyesi (Yüksek/Orta/Düşük) hesaplanmalı
|
||
(metrik: BET ROI + örneklem sayısı; düşük örneklem = otomatik Düşük/Bilinmiyor).
|
||
- FR-A2: live_matches'teki maçlar lig güven rozetiyle gösterilmeli (gizlenmeden).
|
||
- FR-A3: Etiket kaynağı tek yerde (config/tablo) tutulmalı, backtest tazelendikçe güncellenebilmeli.
|
||
- FR-A4: Forward-test (Model Performansı) verisi biriktikçe etiketler canlı sonuçla doğrulanmalı.
|
||
|
||
### B. Milli Takım / Dünya Kupası Desteği
|
||
- FR-B1: Milli maçlarda da BET önerisi çıkabilmeli (şu an approved=0).
|
||
- FR-B2: `ai_features_inferred_from_history` flag'i olan milli maçlar için data_quality
|
||
tavanı / brain eşikleri milli-maça uygun kalibre edilmeli (kör gevşetme DEĞİL).
|
||
- FR-B3: Milli maç ligleri (DK Elemeler, Hazırlık Maçları Ülkeler, Uluslar Ligi, Avrupa
|
||
Şamp., Dünya Kupası) "tanınan" kapsama alınmalı (qualified benzeri).
|
||
- FR-B4: Hazırlık maçlarında uçtan uca test edilebilmeli (tahmin + forward-test kaydı).
|
||
- FR-B5: Milli maç kalibrasyonu ayrı izlenmeli (kulüple karışmasın) — Model Performansı
|
||
sayfasında "milli" kırılımı.
|
||
|
||
## Fonksiyonel Olmayan Gereksinimler
|
||
- NFR-1: Gerçek para — milli maç eşik değişiklikleri backtest/forward-test ile doğrulanmadan
|
||
canlı agresifleştirilmemeli.
|
||
- NFR-2: Lig etiketleme mevcut hacmi düşürmemeli (gizleme değil işaretleme).
|
||
- NFR-3: Değişiklikler additive; mevcut kulüp tahmin akışını bozmamalı.
|
||
|
||
## Açık Sorular (sonraki tasarım turunda netleşecek)
|
||
- OQ-1: Lig güven eşikleri tam olarak ne? (örn. Yüksek = ROI>+10% & N≥30 BET)
|
||
- OQ-2: Milli maçlar için brain eşiği nasıl ayarlanacak — ayrı tier mi, data_quality
|
||
flag istisnası mı? Önce backtest: milli maçlarda mevcut motor kaç BET/ne ROI verirdi
|
||
(eşik gevşetilse)? Bu ölçülmeden tuning yapılmamalı.
|
||
- OQ-3: Etiket nerede saklanacak: yeni tablo mı, mevcut league_tiers mı, config mi?
|
||
- OQ-4: Dünya Kupası grup maçlarında lineup geç gelir — probable_xi cezası milli maçta
|
||
nasıl ele alınacak?
|
||
|
||
## Sonraki Adım
|
||
1. (Önce) Lig güven etiketleme → /sc:design veya doğrudan uygulama (veri hazır).
|
||
2. (Sonra) Milli maç backtest'i: eşik gevşetildiğinde milli maçlarda ROI ne? → ona göre tuning.
|