Giriş: Lig analitiği, kulüplerden amatör analistlere kadar herkes için rekabet avantajı sağlar. Bu rehberde 30 gün içinde, Excel'i merkezde tutarak; Python, OpenRefine, açık veri kaynakları ve görselleştirme kütüphaneleriyle pratik, uygulanabilir bir yol haritası sunuyorum. Amaç; veri toplama, temizleme, özellik üretme ve etkili görselleştirme becerilerini adım adım kazandırmak.
Neden 30 Gün?
Kısa, yoğun ve pratik bir program öğrenmeyi hızlandırır. 30 günlük plan; her gün küçük bir kazanım sağlar ve proje bitiminde somut bir dashboard veya rapor ortaya çıkar.
Gereken Araçlar (Excel + Açık Kaynak)
- Excel: Power Query, PivotTable, Power Pivot (Data Model)
- Python: pandas, numpy, matplotlib, seaborn, plotly, requests, beautifulsoup4
- OpenRefine: hızlı veri temizleme ve transformasyon
- Veri Kaynakları: StatsBomb (ücretsiz örnek veriler), football-data.org API, resmi lig sayfaları, GitHub topluluk veri setleri
- İnteraktif Dashboard: Streamlit veya Plotly Dash (açık kaynak)
Etik, Hukuk ve Pratik Notlar
- Veri çekmeden önce kullanım koşullarını ve robot.txt dosyasını kontrol edin.
- API anahtarları, rate limit ve erişim ücretlerine dikkat edin.
- Ticari kullanım için telif/lisans gereksinimlerini doğrulayın.
30 Günlük Planın Özeti
Plan 4 haftaya bölünmüştür: Veri toplama ve temel Excel işleri, veri temizleme ve birleştime, analiz ve özellik mühendisliği, görselleştirme ve dashboard. Her günün sonunda küçük bir çıktı hedefleyin.
1. Hafta — Temel Kurulum ve Veri Toplama (Gün 1-7)
- Gün 1: Proje hedefini netleştirin. Hangi lig/kanallar, hangi metrikler (goller, xG, pas, şut lokasyonu)?
- Gün 2: Excel kurulum: Power Query görünümü, veri modelini tanıyın. Örnek CSV içe aktarımı yapın.
- Gün 3: Açık veri kaynaklarını keşfedin (StatsBomb GitHub, open-data repos). Bir maç datasetini indirin.
- Gün 4: Basit API çağrısı yapın (requests ile JSON çekme) ve sonucu Excel/CSV'ye kaydedin.
- Gün 5: Web scraping temelleri: BeautifulSoup ile statik sayfadan takım istatistikleri çekin. Legal kontrol.
- Gün 6: Dinamik sayfalar için Selenium veya API alternatiflerini test edin.
- Gün 7: Tüm ham verileri düzenli bir klasör yapısına koyun ve versiyonlama (git veya manuel) başlatın.
2. Hafta — Veri Temizleme ve Birleştirme (Gün 8-14)
- Gün 8: OpenRefine ile satır ayıklama, boş hücre temizliği, tekilleştirme (dedupe) yapın.
- Gün 9: Excel Power Query ile birkaç CSV'yi birleştirin (Append), sütunları normalize edin.
- Gün 10: ID eşleşmeleri: oyuncu ve takım isimleri farklı formatlardaysa join stratejileri belirleyin.
- Gün 11: Zaman damgalarını normalize edin; saat dilimi sorunlarını düzeltin.
- Gün 12: Eksik veri stratejileri: silme, imputasyon (medyan, forward-fill), etiketleme.
- Gün 13: Anomali kontrolü: hatalı skorlar, pozisyon dışı koordinatlar, top olaylarının zaman sırası.
- Gün 14: Temizlenmiş bir 'match_events' ve 'match_summary' tablosu üretin; bu veri modelinin çekirdeği olacak.
3. Hafta — Özellik Mühendisliği ve Temel Analiz (Gün 15-21)
- Gün 15: Temel metrikler: per90, xG (varsa), toplam şut, isabet oranı hesaplamaları.
- Gün 16: Rolling metrikler: son 5 maç formu için hareketli ortalamalar.
- Gün 17: Alan bazlı analiz: şut koordinatlarını 6-8 bölgeye bölerek heatmap için hazır hale getirin.
- Gün 18: Oyun içi olayların normalizasyonu: pas türleri, top kazanma bölgeleri.
- Gün 19: İleri özellikler: beklenen asist (xA), turnover rate, progressive passes. Basit modellerle tahmin edin.
- Gün 20: Gruplandırma/segmentasyon: oyuncuları oynama stillerine göre k-means ile sınıflandırın.
- Gün 21: Excel Pivot ve Python (pandas) ile çapraz tablolar hazırlayın; bulguları kısa notlarla belgeleyin.
4. Hafta — Görselleştirme ve Dashboard (Gün 22-30)
- Gün 22: Görselleştirme konsepti: hedef kitle kim, hangi etkileşimler gerekli?
- Gün 23: Excel grafiklerini iyileştirme: kombine grafikler, koşullu biçimlendirme, küçük multiple'lar.
- Gün 24: Python ile statik görselleştirme: seaborn ile ısı haritaları, dağılım grafikleri, çizgi grafikleri.
- Gün 25: Etkileşimli görselleştirme: plotly ile hover bilgisi ve filtreler oluşturun.
- Gün 26: Streamlit ile hızlı bir dashboard prototipi kurun; Excel’den çekilen tablolarla entegre edin.
- Gün 27: Performans optimizasyonu: veri özetleri (aggregations) ile yükü azaltın.
- Gün 28: KPI panosu hazırlayın: takım performansı, oyuncu formu, maç içi riskler.
- Gün 29: Sunum ve hikâyeleştirme: veri bulgularını kısa, görsel hikâyelerle destekleyin.
- Gün 30: Projeyi paketleyin: temiz veri, kod notları, dashboard bağlantısı ve çalışma talimatı.
Veri Temizleme ve Özellik Mühendisliği İpuçları
- İsim standartlaştırma: oyuncu ve takım isimleri için bir canonical list tutun.
- Zaman problemleri: maç tarihi saat bilgilerini ISO formatında saklayın.
- Null yönetimi: Null'leri anlamlı kategorilerle (unknown, not available) etiketleyin.
- Özellik üretimi: per90 normalizasyonu, pozisyon bazlı ağırlıklı metrikler, maç-başı rolling form.
Pratik örnek: 5 maçlık hareketli formlar per90 olarak saklandığında, sakatlık ve rotasyonun etkisi daha net görünür.
Excel’de Hızlı Çözümler
- Power Query ile veriyi çekin, temizleyin ve Data Model'e yükleyin.
- Power Pivot ile ilişkili tablolar kurun (match_events, players, teams).
- Pivot tablolarla hızlı çapraz kontroller, slicer'larla filtreleme.
Açık Kaynak ile Analiz ve Görselleştirme
Python tarafında pandas veri manipülasyonu için, plotly/seaborn görselleştirme için idealdir. Streamlit ile interaktif rapor üretmek teknik bilgisi sınırlı kullanıcılar için de erişilebilirlik sağlar.
Kısa Python örneği (pandas ile csv okuma):
import pandas as pd
df = pd.read_csv('match_events.csv')
df['minute'] = (df['timestamp'].astype('datetime64[ns]')).dt.minute
summary = df.groupby(['match_id','team'])['shot'].sum().reset_index()
Sık Yapılan Hatalar ve Kaçınma Yolları
- Farklı kaynaklarda aynı veriyi çakıştırıp çakışma yaratmak — birincil anahtarlar kullanın.
- Ham verilere körü körüne güvenmek — görsel inceleme ve örnek kontrol yapın.
- Aşırı karmaşık metrikler üretip aksiyon üretememek — her metriğin operasyonel karşılığını düşünün.
Ölçeklendirme ve Sonraki Adımlar
Proje büyüdükçe veri boru hattını otomatikleştirin; günlük ETL scriptleri, önbellekleme, veritabanı (Postgres) entegrasyonu düşünün. Modelleme (xG, xA) yapmak isterseniz açık kaynak modeller ve makine öğrenimi adımlarına geçin.
Sonuç
Bu 30 günlük plan, lig analitiği projesini başlangıçtan kullanılabilir rapora taşımak için pratik adımlar içerir. Her gün küçük bir hedef koyun, çıktıları belgeleyin ve en önemlisi bulgularınızı kısa, görsel hikâyelerle paylaşın. Uygulama odaklı ilerlerseniz, 30 gün sonunda hem teknik bir set hem de gerçek kullanıma hazır dashboard sahibi olacaksınız.
İyi bir proje, temiz veri, tekrar edilebilir işlemler ve net hedeflerle başlar. Başarı için düzenli geri bildirim alın.