ELO Nasıl Hesaplanır?
MünazaRank'in her adımını şeffaf bir şekilde açıklayan tam teknik döküman. Matematiği kendiniz doğrulayabilirsiniz.
🧭 Genel Bakış
Sistemimiz, geleneksel Elo'yu turnuva münazerası için özelleştirmiş bir varyantı kullanır. Temel farklılıklar şunlardır: tur bazlı hesaplama (turnuva sonu değil, her tur ayrı ayrı), konuşmacı puanına (SP) dayalı performans ödülü, ve dinamik K-faktörü (deneyim arttıkça daha istikrarlı Elo).
1️⃣ Dinamik K-Faktörü
K-faktörü, bir oyuncunun Elo'sunun ne kadar hızlı değişeceğini belirler. Yeni oyuncular için büyük, deneyimliler için küçüktür. Biz "maç sayısı" yerine girilen salon (oda) sayısını kullanırız; çünkü 6 rakibe karşı aynı anda oynanan British Parliamentary formatında H2H sayacı pairwise kayıtlar nedeniyle şişirilebilir.
match_count = girilen salon sayısı (her tur +1) K-Faktörü: match_count ≤ 20 → K = 40 (Yerleştirme dönemi) match_count ≤ 100 → K = 35 (Gelişim dönemi) match_count > 100 → K = 30 (Veteran) Unranked Barajı: total_tournaments < 4 ise oyuncu sıralamada “Unranked” görünür. 4. turnuvasında gerçek sırasına yerleşir.
2️⃣ Takım Elosu ve Beklenen Skor (EA)
Her tur başlamadan önce, her oyuncunun takım Elosu hesaplanır: oyuncunun kendi Elo'su ile takım arkadaşının Elo'sunun ortalaması. Bu değer, beklenen skoru (EA) üretmek için rakiplerin Elosu ile karşılaştırılır.
TeamElo = (oyuncuElo + ortakElo) / 2 // EA için rakip TeamElo = aynı salondaki diğer 3 takımın ortalama TeamElosu // (team1 + team2 + team3) / 3 (kendi takımı hariç) EA = 1 / (1 + 10^((rakipTeamElo - TeamElo) / 400))
EA 0 ile 1 arasındadır. 0.5 → iki taraf eşit güçte; 0.8 → oyuncu ezici favori demektir.
3️⃣ Gerçekleşen Skor (SA) ve Dağıtım Modu
Takımın kazandığı veya kaybettiği toplam ELO, takım üyeleri arasında "mutlak SP farkı" eşiğine göre ikiye ayrılır.
İki partner birebir aynı SP aldığında düşük Elo’luya büyük pay verilir. Gelişim şansı tanınır.
A_Kazanım_Payı = Elo_B / (Elo_A + Elo_B) // Düşük Elo’lu → büyük pay (ters oranlı)
Herhangi bir SP farkı varsa Gelişim ödülü iptal; daha yüksek SP alan aslan payını alır. ELO eşitliği sonucu değiştirmez.
mult = 0.5 + (SP_A - SP_B) / 20 [cap: 0.1 – 0.9] // Fark=1→55/45 | Fark=2→60/40 | Fark=5→75/25 | Fark≥8→90/10
Takım kaybederse daha yüksek SP alan oyuncu daha az Elo kaybeder. Dağılım ters SP oranıyla belirlenir. Outround'larda SP olmadığından Elo-bazlı kayıp uygulanır.
mult = 0.5 - (SP_A - SP_B) / 20 [cap: 0.1 – 0.9] // SP_A > SP_B ise A daha az kaybeder | Outround'da ELO-bazlı
Bir yarışmacının maça gelmeyip 0 SP aldığı, partnerinin ise IRON olarak (iki konuşma yaparak) tek başına yarıştığı turlar için özel moddur.
Eğer S1 = 0 SP ise: S1_Payı = 0 % (Ne kazanır ne kaybeder) S2_Payı = 100 % (Takımın tüm kaderi onda biter)
4️⃣ Elo Delta (Ham Değişim)
Her tur için Elo değişimi klasik formülle hesaplanır:
EloDelta = K × (SA - EA) Örnek: K = 32, EA = 0.45 (hafif underdog), SA = 1.0 (1. sıra) EloDelta = 32 × (1.0 - 0.45) = +17.6 ≈ +18 K = 32, EA = 0.70 (favori), SA = 0.0 (4. sıra) EloDelta = 32 × (0.0 - 0.70) = -22.4 ≈ -22
Tüm prelim ve outround (eleme) turlarındaki delta'lar kümülatif olarak toplanır. Eleme turları, SP yoksa Gelişim / Kayıp modunda hesaplanır.
⚔️ Outround (Eleme) Turu — Pairwise Maç Mantığı
Eleme turlarında tam bir 1–2–3–4 puanlı sıralama olmayabilir; bunun yerine "tur atlandı / elendi" bilgisi vardır. Sistem bu duruma göre otomatik olarak doğru pairwise skorunu üretir.
| Karşılaşma | SA | SB | Açıklama |
|---|---|---|---|
| Çıkan 1 ↔ Çıkan 2 | 0.5 | 0.5 | İkisi de geçti → berabere |
| Elenen 3 ↔ Elenen 4 | 0.5 | 0.5 | İkisi de elendi → berabere |
| Çıkan ↔ Elenen | 1 | 0 | Çıkan kazandı sayılır |
Admin panelinde takımlar 1.–2.–3.–4. şeklinde sıralanmışsa klasik pairwise çalışır: 1. > 2. > 3. > 4. (her üst sıra alttaki tüm sıraları yener). Sadece şampiyon biliniyorsa, şampiyon diğer 3'ünü yener (SA=1), kalan 3 birbiriyle berabere (SA=0.5).
spDiff = 0kabul eder ve otomatik olarak Gelişim / Kayıp modu devreye girer. Admin panelinden SP'leri manuel girdiysen ve fark > 1 ise Performans modu tetiklenir.5️⃣ Kümülatif Başarı Bonusları
Turnuvalarda elde edilen başarılar, kariyerde kalıcı bir bonus oluşturur. Her break +5 Elo, her En İyi Konuşmacı (Best Speaker) ödülü ise +15 Elo değerindedir. Bu bonuslar bir defaya mahsus değil, kariyerdeki tüm başarılar kümülatif olarak eklenir.
BonusTotal = (career_break_count × 5) + (best_speaker_count × 15) // Örnek: 3 kez break eden ve 1 kez en iyi konuşmacı olan oyuncu BonusTotal = (3 × 5) + (1 × 15) = +30 Elo // Hesaplama sonu: EloSonu = EloBaşlangıcı + toplam_prelim_delta + BonusTotal
başarılarher turnuva için ayrı ayrı takip edilir.6️⃣ Tam Hesaplama Akışı — Örnek Senaryo
Aşağıdaki örnek, bir oyuncunun 4 prelim turunu ve 1 break'i kapsayan tam hesaplama adımlarını gösterir:
| Tur | K | TeamElo | RakipElo | EA | Mod | SA | Delta |
|---|---|---|---|---|---|---|---|
| Tur 1 | 40 | 1000 | 1050 | 0.43 | Gelişim | 0.60 | +7 |
| Tur 2 | 40 | 1007 | 990 | 0.52 | Performans | 0.85 | +13 |
| Tur 3 | 40 | 1020 | 1100 | 0.39 | Gelişim | 0.40 | +0 |
| Tur 4 | 40 | 1020 | 1020 | 0.50 | Performans | 0.20 | -12 |
| 🏆 Çeyrek Final | 40 | 1008 | 1080 | 0.40 | Outround-Gelişim | 0.63 | +9 |
| Toplam (Prelim + Outround) | +17 | ||||||
| Break Bonusu (1. break → +5) | +5 | ||||||
| Yeni Elo (1000 + 17 + 5) | 1022 | ||||||
7️⃣ Sıralama Tiers
Oyuncular Elo değerlerine göre altı sınıfa ayrılır: