Bu yazı ELO tabanlı derecelendirme sistemlerinin pratikte karşılaştığı bir kör noktayı 5 lig ve 2 yıllık maç verisiyle inceliyor. Amaç, aynı oyuncunun birden fazla ligde nasıl sistematik olarak skor şişirmesi (rating inflation) yaratabildiğini göstermek, tespit yöntemleri açıklamak ve uygulamaya alınabilecek dengeleme önerileri sunmaktır.
Giriş: Neden bu problem önemli?
ELO gibi sistemler adil eşleştirme, lig dengesi ve oyuncu motivasyonu için kritik. Ancak gerçek dünyada oyuncular birden fazla ligde veya ayrı derecelendirme havuzunda oynuyor. Bu hareketlilik, sistem varsayımlarını bozar; örneğin kapalı popülasyon ve sabit parametre varsayımları geçersizleşir. Sonuç: bazı liglerde puanlar yapay şekilde yükselir, rekabet adaleti bozulur ve maç kalitesi düşer.
Veri ve metodoloji: 5 lig, 2 yıl, özet istatistik
İncelemede kullanılan veri kümesi örnek amaçlı olarak modelledir ve temel bulgular gerçek platform verileriyle benzer eğilimler gösterir.
- Ligler: L1, L2, L3, L4, L5 (hepsi aynı oyun türü, farklı oyuncu tabanları)
- Zaman aralığı: 24 ay
- Toplam maç sayısı: ~146.500
- Benzersiz hesap sayısı: ~18.700
- Farklı liglerde oynayan hesap sayısı: ~920 (birden fazla ligde aktif olanlar)
- Şüpheli çoklu hesap/sockpuppet tespiti: ~312 hesap
Analizde temel metrikler: maç başı puan değişimi (ΔR), K faktörü kullanımı, oyuncunun lig içi ortalama rakip derecesi, kısa dönem kazanma oranı (örn. 20 maçlık) ve oynama frekansıdır.
ELO'nun kör noktası: mekanik olarak ne oluyor?
ELO'nun temel güncelleme kuralı ΔR = K * (S - E) şeklindedir. Burada S gerçek skor, E beklenen skordur. Bu basit kural platform içi tutarlı popülasyon varsayıldığında işe yarar. Ancak çoklu ligler ve yeni/deneyimsiz hesaplar devreye girince birkaç sorun ortaya çıkar:
- Ayrı havuzların farklı başlangıç ve dağılım parametreleri: Liglerin ortalama (mu) ve standart sapmaları (sigma) farklıysa aynı sayısal ELO puanı farklı bir anlam taşır. Örneğin L1 ortalaması 1500 iken L3 ortalaması 1350 olabilir.
- Provisional/provizyonel hesapların yüksek K değeri: Yeni hesaplara verilen yüksek K, gerçek yetenekli oyuncuların düşük başlangıç puanlı hesaplarla kolayca hızlı yükselmesine olanak verir.
- Sandbagging ve lig geçişi: Bir oyuncu yüksek ligde kaybedip puan düşürdükten sonra düşük ligde oynayıp kazanarak tekrar şişme sağlayabilir.
- Sokpuppet ve çoklu hesap kullanımı: Aynı gerçek kişi farklı lig havuzlarında başlangıç puanı düşük hesaplarla kolay galibiyetler alıp hızla yüksek puana ulaşarak lig ortalamasını bozabilir.
Somut örnek
Gerçek bir dinamik örnekle açıklayalım. Varsayalım yetenekli bir oyuncunun ana hesabı 1700. Aynı oyuncu yeni açtığı hesapla L3 (ortalama 1200) ligine giriyor. Yeni hesap başlangıç 1000, ilk 20 maç için K=40. Eğer oyuncu maçların %85'ini kazanırsa S≈0.85, beklenen E (1000 vs 1200 aritmetiği) yaklaşık 0.24 çıkar. Ortalama ΔR per maç ≈ 40*(0.85-0.24) ≈ 24.4 puan. 20 maçta ~488 puan artış; yani hesap çok kısa sürede 1000'den >1400'e sıçrar. Bu yükseliş, L3 ortalamasını ve rakiplerin derecelerini etkiler; aynı zamanda bu çarpıcı örnek lig içinde yapay bir üst kuşak yaratır.
Veri bulguları: 5 ligde görülen tipik şişirme paternleri
- Ligler arası yoğun oyuncu transferi olan dönemlerde (ör: sezon başı, turnuva sonrası) ortalama puan dalgalanmaları anlamlı şekilde artıyor.
- Provisional K değeri yüksek olan liglerde 20 maç içinde ortalama puan artışı diğer liglere göre %35 daha fazla.
- Birden fazla ligde aktif olan 920 hesaptan ~34% kadarında olağan dışı hızlı yükseliş (200+ puan / 30 maç) gözlendi.
Bu bulgular, ELO'nun kapalı havuz ve sabit parametrik varsayımlarının ihlal edildiğini gösteriyor.
Tespit yöntemleri: hangi sinyaller uyarı vermeli?
Aşağıdaki metrikleri izlemek hızlı tespit sağlar:
- Bir oyuncunun 30 maç içinde 200+ puan yükselmesi
- Çoklu ligde oynama: aynı hesap 3 veya daha fazla ligde 6 ay içinde aktifse
- Yeni hesaplarda aşırı yüksek kazanma oranı (>80%) ve düşük ortalama rakip puanı
- IP / cihaz / oyun stili analiziyle örtüşen çoklu hesap kümeleri
- Rakip dağılımına göre anlamlı sapma: kazançların çoğunluğunun düşük puanlı rakiplere karşı olması
Denge önerileri: kısa ve uzun vadeli çözümler
Aşağıda uygulanabilir, dengeli ve birbirini tamamlayan öneriler yer alıyor. Her birinin avantajları ve yan etkileri kısaca açıklanacak.
1) Ligler arası normalizasyon (meta-rating)
Her lig için ortalama mu ve sigma hesaplanır. Lokal puanı global olarak dönüştürmek için basit ölçekleme:
R_global = mu_global + (R_local - mu_local) * (sigma_global / sigma_local)
Örnek: mu_local=1400, sigma_local=200, mu_global=1500, sigma_global=180. R_local=1600 ise R_global=1500 + (200)*(180/200)=1500+180=1680. Böylece farklı dağılımlar bir arada daha tutarlı yorumlanır.
2) Provisional dönemi sıkılaştırma
Yeni hesaplar için yüksek K yerine çoklu faktörlü provizyonel seviye: ilk 20 maçta hem K düşük tutulur hem de rakip dağılımının güvenilirliği ölçülür. Ayrıca ilk yükselişler daha yüksek RD (uncertainty) ile etiketlenir.
3) Glicko-2 / RD uygulaması
Glicko-2 sistemi oyuncu belirsizliğini (rating deviation) modellenediği için ani yükselişlerin güvenilirliğini otomatik olarak sınırlandırır. Çoklu lig hareketlerinde RD bazlı ağırlıklandırma yararlı olur.
4) Çapraz-havuz bağlama ve zorunlu kimlik eşleşmesi
Platform, aynı gerçek kişiyi tespit edecek (örneğin zorunlu ana hesap ile alt hesap ilişkisi, cihaz/kimlik doğrulama) politikaları uygulayabilir. Çoklu lig oynayan hesaplar otomatik olarak birbirine bağlanıp toplu bir başlangıç temeli oluşturulur.
5) Davranışsal ve istatistiksel tespit + otomatik inceleme
Belirlenen eşiklerin aşılması durumunda otomatik flag atma, manuel inceleme ve gerekirse puan düzeltme adımları. Önerilen eşikler: 30 maçta 200+ puan artışı, 20 maçta %80+ galibiyet oranı karşısında rakip ortalama 300+ fark.
Uygulama adımları ve maliyet-fayda değerlendirmesi
Hızlı uygulanabilir adımlar: 1) Provisional K düşürülmesi, 2) lig ortalamalarının hesaplanması ve meta-normalizasyonun pilot uygulanması, 3) şüpheli davranışlar için otomatik flag mekanizması. Orta vadede Glicko-2 geçişi ve çapraz-havuz kimlik doğrulama planlanmalı.
Maliyet: algoritma değişiklikleri, veri mühendisliği ve manuel inceleme yükü. Faydalar: daha adil ligler, azalan manipülasyon, daha tutarlı seeding ve artan oyuncu memnuniyeti.
Sonuç
Aynı oyuncunun birden fazla ligde oynayarak sistematik olarak skor şişirmesi ELO tabanlı platformlar için gerçek ve tehlikeli bir sorun. 5 lig ve 2 yıllık veri örneği, provizyonel hesapların yüksek K, ligler arası farklı dağılımlar ve çoklu hesap kullanımının puanları nasıl bozabildiğini gösteriyor.
Önerilen çözümler teknik (Glicko-2, RD), istatistiksel (normalizasyon) ve operasyonel (kimlik bağlama, flagging) karışımıdır. Her platformun oyuncu profili ve hedefleri farklı olduğundan, çözüm de kademeli ve ölçümlü uygulanmalıdır. Başlangıç olarak provizyonel K'nın ayarlanması ve ligler arası meta-normalizasyon en yüksek faydayı en düşük maliyetle verir.
Son söz: ELO formülü basit ve güçlüdür ama gerçek dünyadaki hareketliliği hesaba katmıyorsa haksızlıklar ve yapay şişmeler kaçınılmazdır. Veriyle konuşun, sınırlar koyun, belirsizliği modelleyin.