Why do chess Elo ratings go up or down?

Crea tu Propio Sistema de Rating Elo en Excel

19/11/2011

Valoración: 4.78 (13261 votos)

¿Alguna vez te has preguntado cómo los grandes juegos y competiciones, como el ajedrez, mantienen un sistema de clasificación tan preciso y justo? La respuesta está en el sistema de puntuación Elo, un método brillante que no solo cuenta victorias y derrotas, sino que pondera la habilidad del oponente. Para los organizadores de torneos comunitarios, implementar un sistema así puede parecer una tarea titánica reservada para programadores. Sin embargo, con la herramienta adecuada y un poco de conocimiento, puedes montar tu propio sistema de ranking dinámico usando algo que probablemente ya tienes instalado: Microsoft Excel. En esta guía completa, desglosaremos el algoritmo Elo y te mostraremos, paso a paso, cómo construir una hoja de cálculo funcional para gestionar las clasificaciones de tu comunidad de jugadores.

Why do chess Elo ratings go up or down?
Having it so when the Win/Loss is edited, the ELO goes up or down depending on the outcome using a chess ELO algorithm. Also, having a max change of 30 rating. No need to reinvent the wheel. Hi! You have not responded in the last 24 hours. If your question has been answered, please change the flair to "solved" to keep the sub tidy!
Índice de Contenido

¿Qué es y por qué funciona el sistema Elo?

Antes de sumergirnos en las celdas y fórmulas, es crucial entender la filosofía detrás del Elo. Creado por el físico y ajedrecista húngaro-estadounidense Árpád Élő, este sistema fue diseñado para calcular la habilidad relativa de los jugadores en juegos de suma cero (donde la victoria de un jugador es la derrota del otro). Su genialidad radica en un principio simple: una victoria contra un oponente de alta calificación es mucho más meritoria (y por lo tanto, otorga más puntos) que una victoria contra alguien con una calificación muy inferior. Del mismo modo, perder contra un jugador mucho más débil te penalizará más que caer ante el campeón del torneo.

Esto crea un ranking vivo y fluido. Un jugador nuevo puede ascender rápidamente si demuestra su valía contra oponentes establecidos, mientras que los jugadores veteranos deben defender constantemente su posición. El sistema se basa en la probabilidad estadística, calculando un "resultado esperado" para cada partida y ajustando las puntuaciones en función de si el resultado real superó, cumplió o no alcanzó esa expectativa.

Los Componentes Clave del Algoritmo Elo

Para trasladar esto a Excel, necesitamos entender las tres piezas fundamentales del algoritmo. No te asustes por las matemáticas; las desglosaremos de forma sencilla y verás cómo Excel se encarga del trabajo pesado.

1. El Resultado Esperado (E)

Esta es la probabilidad de que un jugador gane la partida. Se calcula basándose en la diferencia de Elo entre los dos contendientes. La fórmula es:

E_A = 1 / (1 + 10^((R_B - R_A) / 400))

  • E_A es el resultado esperado para el Jugador A.
  • R_A es el rating actual del Jugador A.
  • R_B es el rating actual del Jugador B.

Por ejemplo, si dos jugadores tienen exactamente el mismo Elo, su probabilidad de ganar es del 50% (un resultado esperado de 0.5 para cada uno). Si el Jugador A tiene un Elo mucho más alto, su resultado esperado se acercará a 1, mientras que el del Jugador B se acercará a 0.

2. El Resultado Real (S)

Esto es lo más sencillo. Es el resultado numérico de la partida:

  • Victoria: S = 1
  • Derrota: S = 0
  • Empate: S = 0.5 (Aunque no lo pediste, es bueno saberlo para el futuro)

3. El Factor K (El Modificador de Volatilidad)

El Factor K es un número que determina cuánto puede cambiar el Elo de un jugador después de una sola partida. Es, en esencia, la "sensibilidad" del sistema. Un K alto significa que las puntuaciones cambiarán drásticamente con cada partida, ideal para nuevos jugadores cuyo nivel de habilidad aún no está bien definido. Un K bajo hace que los cambios sean más pequeños, adecuado para jugadores establecidos cuyo Elo es más estable.

En tu caso, mencionaste un cambio máximo de 30 puntos. El K-Factor es precisamente ese valor. Estableceremos K = 30. Esto significa que, en el escenario más extremo (una victoria con probabilidad casi nula), un jugador puede ganar un máximo de 30 puntos.

La Fórmula Final

Con estos tres componentes, la fórmula para calcular el nuevo Elo es:

Nuevo Elo = Elo Actual + K * (Resultado Real - Resultado Esperado)

R'_A = R_A + K * (S_A - E_A)

Ahora, ¡vamos a construirlo en Excel!

Paso a Paso: Creando tu Sistema Elo en Excel

La estructura que propones (Nombre, Victorias, Derrotas, %, Elo) es genial para una tabla de clasificación, pero para los cálculos, necesitamos una estructura ligeramente diferente. La razón es que el cambio de Elo depende del oponente específico en cada partida. Por lo tanto, crearemos dos hojas: una para la "Clasificación" y otra que será nuestra "Calculadora de Partidas".

Hoja 1: "Clasificación"

Esta será tu tabla principal. Configúrala de la siguiente manera:

Nombre del JugadorElo ActualPartidas JugadasVictoriasDerrotasRatio V/D
Jugador 11200000=SI(E2>0, D2/E2, 0)
Jugador 21200000=SI(E3>0, D3/E3, 0)
..................

Consejo: Un buen Elo inicial para todos los jugadores es 1200. Es un punto de partida neutro y estándar.

Hoja 2: "Calculadora de Partidas"

Aquí es donde ocurrirá la magia. Esta hoja te permitirá introducir los datos de una partida y ver instantáneamente los nuevos ratings. Después de calcularlos, solo tendrás que copiar y pegar los nuevos valores de Elo en tu hoja de "Clasificación" y actualizar sus victorias/derrotas.

Diseña esta hoja de la siguiente manera:

Celda F1: Escribe el valor de tu K-Factor. Pon `30`.

DescripciónCeldaValor / Fórmula
ENTRADA DE DATOS
Nombre Jugador AB2(Introduce el nombre)
Elo Actual Jugador AB3(Introduce el Elo)
Nombre Jugador BB4(Introduce el nombre)
Elo Actual Jugador BB5(Introduce el Elo)
Ganador (Escribe "A" o "B")B6(Introduce "A" o "B")
CÁLCULOS AUTOMÁTICOS
Resultado Esperado A (E_A)B8`=1/(1+10^((B5-B3)/400))`
Resultado Esperado B (E_B)B9`=1/(1+10^((B3-B5)/400))`
Resultado Real A (S_A)B10`=SI(B6="A", 1, 0)`
Resultado Real B (S_B)B11`=SI(B6="B", 1, 0)`
Cambio de Elo para AB12`=$F$1*(B10-B8)`
Cambio de Elo para BB13`=$F$1*(B11-B9)`
RESULTADOS FINALES
Nuevo Elo Jugador AB15`=B3+B12`
Nuevo Elo Jugador BB16`=B5+B13`

Nota: El uso de `$` en `$F$1` fija la celda, de modo que si arrastras las fórmulas, siempre hará referencia a la celda del K-Factor.

Ejemplo Práctico en Acción

Imaginemos una partida entre dos jugadores de tu torneo.

  • Jugador A: "Cronos" con un Elo de 1350.
  • Jugador B: "Viper" con un Elo de 1200.

Cronos es el favorito. Introduces sus datos en la calculadora. El sistema calcula que el Resultado Esperado para Cronos es de 0.70 (70% de probabilidad de ganar) y para Viper es de 0.30 (30%).

Escenario 1: Gana el favorito

Cronos (Jugador A) gana la partida. Introduces "A" en la celda B6.

  • Resultado Real de Cronos (S_A): 1
  • Cálculo para Cronos: `30 * (1 - 0.70) = 30 * 0.30 = +9` puntos.
  • Nuevo Elo de Cronos: `1350 + 9 = 1359`.
  • Resultado Real de Viper (S_B): 0
  • Cálculo para Viper: `30 * (0 - 0.30) = 30 * -0.30 = -9` puntos.
  • Nuevo Elo de Viper: `1200 - 9 = 1191`.

Como era de esperar, el cambio es pequeño porque el resultado coincidió con la probabilidad.

Escenario 2: ¡La sorpresa! Gana el no favorito

Viper (Jugador B) da la sorpresa y gana. Introduces "B" en la celda B6.

  • Resultado Real de Cronos (S_A): 0
  • Cálculo para Cronos: `30 * (0 - 0.70) = 30 * -0.70 = -21` puntos.
  • Nuevo Elo de Cronos: `1350 - 21 = 1329`.
  • Resultado Real de Viper (S_B): 1
  • Cálculo para Viper: `30 * (1 - 0.30) = 30 * 0.70 = +21` puntos.
  • Nuevo Elo de Viper: `1200 + 21 = 1221`.

El cambio es mucho mayor. El sistema ha recompensado a Viper por superar las expectativas y ha ajustado el Elo de Cronos por no cumplirlas. ¡El sistema funciona!

Preguntas Frecuentes (FAQ)

¿Qué K-Factor debo usar?

Un K de 30 es un buen punto de partida para una comunidad general. Sin embargo, algunos sistemas usan K-Factors variables:

  • K = 40: Para jugadores completamente nuevos (primeras 10-20 partidas) para que su Elo se ajuste rápidamente a su nivel real.
  • K = 20: Para jugadores establecidos y torneos regulares.
  • K = 10: Para maestros o jugadores de élite cuyo nivel de habilidad es muy consistente.

Puedes empezar con 30 para todos y ajustarlo más adelante si lo ves necesario.

¿Cómo manejo los empates?

Si tu juego permite empates, puedes modificar la calculadora. Añade una opción "E" (Empate) en la celda B6. Luego, ajusta las fórmulas de Resultado Real (S_A y S_B) para que si B6="E", el valor sea 0.5 para ambos. El sistema repartirá los puntos de Elo de forma acorde.

¿Se puede automatizar aún más?

¡Sí! Para usuarios avanzados, se podría crear un "Registro de Partidas" donde cada fila es una partida jugada. Usando funciones como `VLOOKUP` o `INDEX/MATCH`, podrías hacer que la tabla de "Clasificación" busque el último Elo de un jugador en el registro de partidas. Sin embargo, esto añade complejidad. Para la mayoría de torneos comunitarios, el método de la calculadora y la actualización manual es más que suficiente y mucho más fácil de gestionar y depurar.

Mi Elo se está inflando o desinflando mucho, ¿qué hago?

El sistema Elo es de suma cero, lo que significa que los puntos que un jugador gana, el otro los pierde. El total de puntos Elo en tu comunidad debería permanecer constante. Si ves tendencias extrañas, revisa tus fórmulas en la calculadora, especialmente que estés sumando y restando correctamente los cambios de Elo y que no haya errores de tipeo en los ratings actuales al introducirlos.

Con esta guía, tienes en tus manos una herramienta poderosa y personalizable para llevar tus torneos comunitarios al siguiente nivel. No solo proporciona un ranking justo y competitivo, sino que también añade una capa extra de emoción y narrativa a tus eventos, donde cada partida cuenta y una sorpresa puede cambiarlo todo.

Si quieres conocer otros artículos parecidos a Crea tu Propio Sistema de Rating Elo en Excel puedes visitar la categoría Guías.

Subir