Elo-Rechner
Ein Spieler mit 1400, der einen Gegner mit 1600 bei einem K-Faktor von 32 schlägt, gewinnt rund 24 Punkte, der Gegner verliert ebenso viele. Geben Sie beide Wertungen, das Ergebnis und den K-Faktor Ihrer Liga ein und sehen Sie die neuen Zahlen. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Dieser Rechner wandelt ein Partieergebnis in neue Elo-Wertungen für beide Spieler um. Geben Sie die aktuelle Elo-Wertung jedes Spielers ein, wählen Sie, ob Spieler A gewonnen, unentschieden gespielt oder verloren hat, und nennen Sie den positiven K-Faktor Ihrer Liga oder Ihres Spiels. Das Ergebnis enthält für beide Teilnehmer die erwartete und tatsächliche Punktzahl, die vorzeichenbehaftete Wertungsänderung und die neue Wertung. Damit können Sie Ranglistensoftware prüfen, eine Änderung nachvollziehbar erklären oder Turnierabläufe ohne Tabellenkalkulation automatisieren.
Geben Sie Wertungen und Ergebnis eindeutig ein
Beginnen Sie mit den beiden Wertungen unmittelbar vor der Partie. Spieler A und Spieler B sind nur Bezeichnungen für diese Berechnung und keine dauerhaften Rollen; jeder Teilnehmer kann daher an jeder Position stehen. Tragen Sie zuletzt den K-Faktor ein, den Ihre Wertungsordnung vorgibt.
Er muss größer als null sein. Ein hoher Wert lässt Wertungen stärker auf einzelne Partien reagieren, ein niedriger Wert macht sie beständiger. Der Rechner wählt den Faktor bewusst nicht selbst, weil Organisationen ihn oft nach Erfahrung, Alter, Veranstaltung, Wertungsbereich oder Zahl der gespielten Partien staffeln.
Verwenden Sie den in Ihrem System vorgeschriebenen Wert und speichern Sie ihn für spätere Prüfungen beim Partiedatensatz. Die Wertungen dürfen beliebige endliche Zahlen sein, sodass auch Elo-Skalen mit anderen Ausgangsniveaus unterstützt werden.
Verstehen Sie Erwartungswert und Wertungsänderung
Elo überführt zunächst den Wertungsunterschied in eine erwartete Punktzahl. Dieser Rechner verwendet die logistische Standardformel mit einer 400-Punkte-Skala: Der Erwartungswert von Spieler A ist eins geteilt durch eins plus zehn hoch der durch 400 geteilten Differenz zwischen B und A. Spieler B erhält den komplementären Erwartungswert, sodass beide zusammen eins ergeben.
Danach wird das tatsächliche Ergebnis mit der Erwartung verglichen. Die Differenz multipliziert mit dem K-Faktor ergibt die Wertungsänderung. Gewinnt der Favorit, erhält er meist nur wenige Punkte, weil dieses Ergebnis bereits wahrscheinlich war; siegt der Außenseiter, gewinnt er deutlich mehr.
Ein Remis kann die niedrigere Wertung erhöhen und die höhere senken. Die beiden vorzeichenbehafteten Änderungen sind Gegenwerte, wodurch die Summe vor der Ausgaberundung erhalten bleibt. Die Antwort enthält alte Wertung, Erwartungswert, tatsächliche Punktzahl, Änderung und neue Wertung für beide Spieler.
Aktualisieren Sie Wertungen im Ablauf konsequent
Speichern Sie bei einer einzelnen Partie die zurückgegebenen neuen Wertungen als Ausgangswerte für die nächste Partie der Teilnehmer. Bei einer Serie ist die Reihenfolge entscheidend: Berechnen Sie zuerst das erste Ergebnis, aktualisieren Sie die betroffenen Datensätze und verarbeiten Sie erst danach die nächste Begegnung mit den neuesten Wertungen. Berechnen Sie keine ganze Runde mit veralteten Werten, sofern Ihre Wettbewerbsordnung nicht ausdrücklich eine gebündelte Aktualisierung verlangt.
Bewahren Sie die ursprünglichen Wertungen, das Resultat und den K-Faktor gemeinsam mit der zurückgegebenen Änderung auf, statt nur den Endwert zu speichern; damit lässt sich jede Bewegung genau erklären. Diese Funktion bildet das übliche Elo-Verfahren für zwei Spieler ab, nicht Varianten mit Sieghöhe, Teams, Wertungsuntergrenzen, vorläufigen Boni, Inaktivitätsabzug oder verbandseigener Rundung. Enthält Ihr Regelwerk solche Bestandteile, verwenden Sie dieses Resultat als Basis und wenden Sie dokumentierte Anpassungen in einem separaten, testbaren Schritt an.
Anwendungsfälle
Eine Turnierrangliste aktualisieren
Wenden Sie nach jedem Ergebnis den dokumentierten K-Faktor an und speichern Sie beide neuen Wertungen für die nächste Runde.
Wertungssoftware überprüfen
Vergleichen Sie Erwartungswerte und Änderungen Ihrer Anwendung in automatisierten Tests mit einer deterministischen Referenzausgabe.
Die Folgen einer Überraschung erklären
Zeigen Sie anhand von Erwartung, tatsächlichem Ergebnis und Änderung, weshalb der Außenseiter mehr Punkte gewann.
Häufige Fragen
Welche Elo-Formel wird verwendet?
Verwendet wird die logistische Standarderwartung für zwei Spieler auf einer 400-Punkte-Skala, danach neue Wertung = alte Wertung + K × (tatsächliche Punktzahl − Erwartungswert).
Wie wird ein Remis angegeben?
Setzen Sie result auf draw. Beide erhalten eine tatsächliche Punktzahl von 0.5; der niedriger bewertete Spieler kann zulegen, während der andere denselben Betrag verliert.
Darf der K-Faktor null oder negativ sein?
Nein. Der K-Faktor muss eine endliche Zahl größer als null sein; null oder negative Werte führen zu einem Fehler wegen ungültiger Eingabe.
Werden neue Wertungen auf ganze Zahlen gerundet?
Nein. Berechnete Felder werden mit bis zu sechs Dezimalstellen ausgegeben. Runden Sie nur dann separat auf Ganzzahlen, wenn Ihre Wettbewerbsordnung dies verlangt.
Was kostet eine Anfrage?
Die Berechnung ist außerdem im Browser mit demselben deterministischen Löser verfügbar.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/game/elo-rating-update \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"player_a_rating":1600,"player_b_rating":1400,"result":"player_a_win","k_factor":32}'const res = await fetch("https://api.kit.forhosting.com/game/elo-rating-update", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"player_a_rating": 1600,
"player_b_rating": 1400,
"result": "player_a_win",
"k_factor": 32
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/game/elo-rating-update",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"player_a_rating": 1600,
"player_b_rating": 1400,
"result": "player_a_win",
"k_factor": 32
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/game/elo-rating-update", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"player_a_rating":1600,"player_b_rating":1400,"result":"player_a_win","k_factor":32}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"player_a_rating":1600,"player_b_rating":1400,"result":"player_a_win","k_factor":32}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/game/elo-rating-update", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"player_a_rating": 1600,
"player_b_rating": 1400,
"result": "player_a_win",
"k_factor": 32
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "game.elo_rating_update",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Geben Sie Wertungen und Ergebnis eindeutig ein
Wählen Sie anschließend das Ergebnis aus Sicht von Spieler A: player_a_win bedeutet 1 Punkt für A und 0 Punkte für B, draw weist beiden 0.5 zu, und player_b_win kehrt die Siegpunkte um. Diese klare Perspektive verhindert einen häufigen Integrationsfehler, bei dem die Gewinnerangabe der falschen Wertung zugeordnet wird.
Verstehen Sie Erwartungswert und Wertungsänderung
Berechnete Dezimalfelder werden für vorhersehbares JSON und reproduzierbare Tests auf sechs Stellen gerundet, wobei die Aktualisierung selbst vor dieser Darstellungsrundung erfolgt.
Aktualisieren Sie Wertungen im Ablauf konsequent
Der Endpoint arbeitet deterministisch, sodass dieselben vier Eingaben stets dasselbe JSON liefern. Eine API-Anfrage kostet $0.002; der Browser nutzt dieselbe reine Logik.