Para la gente que me conoce, no es un misterio que me gusta jugar al ajedrez. Es un juego hermoso, con mucha historia, y además, ofrece retos técnicos díficiles de dejar pasar.

Hoy te contaré uno de esos retos que me rondaba la cabeza: como saber la fuerza “real” de un jugador. Pero antes, un poco de contexto.

¿Cómo sabemos “quién es quién” en el ajedrez?

Normalmente, entre los ajedrecistas, no es raro escuchar cosas como ¡aquel es muy fuerte, tiene 2300 Elo FIDE!. Pero, la FIDE y las plataformas como Lichess o Chess.com usan ese “número” para medir el rendimiento. Somos nosotros los jugadores los que hemos transformado esa estadística como sinónimo de “fuerza de juego”. Pero, ¿realmente la miden? Veamos para que sirven estos sistemas de puntuación:

  • Elo: Simplificando mucho: es una fórmula de intercambio. Si le ganas a alguien, le robas puntos. Si pierdes, se los das.
  • Glicko-2: Añade la Incertidumbre (RD). Si dejas de jugar, el sistema “confía menos” en tu rating y tus puntos fluctúan más. Es más preciso que el Elo, pero sigue siendo una medida de rendimiento, no de fuerza absoluta.

Ahora, un par de preguntas:

  1. ¿Son suficientes para saber si alguien es fuerte? Sí. Tarde o temprano el jugador más fuerte tendrá el mejor rating (rendimiento). Un buen ejemplo es Magnus Carlsen.

  2. ¿Son suficientes para saber las dinámicas de fuerza entre un grupo establecido de jugadores? Para nada. Imagina lo siguiente:

Dos jugadores (A y B) podrían tener un rendimiento similar (digamos +2600 en Lichess) pero jugar dentro de grupos diferentes. Tal vez A está peleando con el grupo top y está perdiendo. Mientras tanto, B podría estar “farmeando” puntos contra un grupo menos fuerte.

Por lo tanto, necesitamos mirar el contexto completo: quién juega contra quién , qué tan fuertes eran los oponentes y cómo se compara su desempeño en diferentes niveles.

¿Y cómo analizamos ese “contexto”?

¡La respuesta está en los grafos! El ajedrez es un sistema de interacciones entre múltiples jugadores y con resultados claros. En un grafo, ¡los jugadores son los nodos, las partidas las aristas y los resultados los pesos!.

De hecho, en varios recursos (te los dejo en las referencias) se plantea que

El éxito en una disciplina deportiva no sólo depende de ganar, sino la calidad de la red en la que compites.

Y tiene sentido. No es lo mismo estar en la Champions y ganarle al Manchester United que ganarle a la Jaiba Brava del Tampico-Madero cualquier lunes por la noche. Sabemos que el primero es más fuerte, pero ¿como lo demostramos de forma matemática?

PageRank para calcular la fuerza de un jugador de ajedrez

De forma muy simplificada, PageRank calcula la importancia de cada nodo basándose en la estructura completa de un grafo. En el caso del ajedrez, un jugador es fuerte si:

  1. Gana muchas partidas
  2. Esas victorias son contra jugadores fuertes
  3. Esos jugadores fuertes también ganan contra otros fuertes

La parte técnica

Me encantaría mostrarte el código en python que utilicé para hacer todos los cálculos, pero el artículo me quedaría mucho más denso. Te tendrás que conformar con saber que partí de la base de datos de partidas (enero 2026) que ofrece Lichess de forma gratuita. Que recorrí las 94 millones de partidas solo para filtrar partidas bliz entre humanos con un rating mayor de 2600 que tuvieran suficiente actividad.

Para hacer los cálculos usé los siguientes criterios:

  • Se usó la librería networkx y el algoritmo PageRank.
  • El grafo es dirigido: la arista va del perdedor al ganador.
  • Utilicé un factor de amortiguación α = 0.85.
  • El peso de cada arista depende del impacto real de la victoria, no es binario.

Este último cálculo tiene un peso proporcional al cambio del rating del ganador que tuvo la partida. Formalmente se hace uso de:

  • El peso base es |Δrating| del ganador.
  • Se aplica un multiplicador según el tipo de finalización:
    • Victoria normal: 1.0
    • Por tiempo: 0.7
    • Material insuficiente: 0.5
    • Abandono temprano: 0.3

Esto penaliza partidas de baja calidad competitiva y premia victorias “limpias” contra oponentes relevantes. Dicho sencillamente: el resultado es un grafo donde no todas las victorias valen lo mismo.

Además de todo lo anterior, quería saber si la gente “farmea”. Por lo tanto, usé los siguientes parámetros:

1. Elo Diferencial: El Elo promedio - Elo promedio de los oponentes

  • Si es positivo (ej: 150), el usuario jugó contra gente más débil que él. Potencial farmeo.
  • Si es negativo, el usuario jugó contra gente más fuerte. Verdadera competencia.

2. Elite Gap: Diferencia entre el ranking global vs un ranking entre los top 10%

  • Si es cercano a 0: se es fuerte en ambos contextos. Verdadera fortaleza.
  • Si es alto (positivo): es mejor contra débiles. Farmeo.
  • Si es negativo: eres mejor contra élite. Fortaleza pura.

Los resultados

Después de una intensa batalla entre mi computadora de hace 14 años, la base de datos y mi paciencia algunos de los resultados fueron los siguientes:

Los 4 Arquetipos de Jugadores Élite

Arquetipo Características Ejemplo Elo PageRank_Elite Elo_Diff Implicación
La crema y nata Bajo Elo_Diff + Alto PageRank_Elite kuhjft 2777 0.0167 +77 Domina élite a pesar de jugar vs débiles
El farmer que si la despioja Alto Elo_Diff + Alto PageRank_Elite cutemouse83 2963 0.0176 +209 Elo inflado pero sigue siendo fuerte
El farmer que no la despioja Alto Elo_Diff + Bajo PageRank_Elite athena-pallada 2901 0.0049 +199 Elo muy inflado, no puede contra élite
El jugador nivelado Elo_Diff ≈ 0 + Medio PageRank overvalue 2687 N/A +0.05 Juega su nivel, no hay distorsión

Correlación Elo vs PageRank (Top 20 Global)

Player Elo PageRank_Global Rank_por_Elo Rank_por_PR Diferencia Conclusión
switzerlandchair 2796 0.00817 6 1 +5 ↑ PageRank lo ve más fuerte que Elo
fabsid 2751 0.00600 9 2 +7 ↑ PageRank lo valúa mejor
italiangangster 2682 0.00568 18 3 +15 ↑ PageRank lo valúa MUCHO mejor
massterofmayhem 2639 0.00498 20 4 +16 ↑ Ranking de PageRank es diferente
tjychess 2817 0.00379 1 10 -9 ↓ Elo lo sobrevúa, PageRank lo infravalúa
wonderland305 2880 0.00320 2 18 -16 ↓ Mucha discrepancia

Correlación observada: Débil. Elo y PageRank producen rankings muy diferentes.

Paradojas - Casos donde Elo miente

Caso Player Elo PageRank_Elite Elo_Diff ¿Qué pasó?
Elo muy alto, PageRank bajo cutemouse83 2963 ⭐ 0.0176 +209 Farmeo extremo. Elo inflado.
Elo bajo, PageRank alto switzerlandchair 2796 0.0439 ⭐ +104 Tan fuerte que domina incluso vs débiles.
Elo alto, pero inconsistente wonderland305 2880 ⭐ 0.0182 +168 Farmea pero sigue siendo competitivo.
Elite_Gap extremo invisibleguest2023 2852 0.0077 +94.7 166 partidas. Datos ruido estadístico.
Verdadero equilibrio overvalue 2687 N/A +0.05 No farmea. Juega su nivel.

La crema y nata

Criterios: Total_Games > 400 AND Elite_Gap < 15 AND PageRank_Elite > 0.015

Player Elo Total_Games Elite_Gap PageRank_Elite
switzerlandchair 2796 970 0.0 0.0439
kuhjft 2777 406 -3.0 0.0167
tjychess 2817 534 2.0 0.0182
vistagausta 2856 761 2.0 0.0127
emremecitintikam1 2813 170 9.0 0.0191

Conclusión: Estos 5 son genuinamente fuertes. No discrepancia Elo/PageRank.

Los farmers que si la despiojan

Criterios: Elo_Differential > 150 AND PageRank_Elite > 0.015 AND Elite_Gap < 100

Player Elo Elo_Diff PageRank_Elite Elite_Gap
calisthenicsboy 2930 +177.5 0.0193 55.0
winx_m 2898 +172.4 0.0187 61.0
cutemouse83 2963 +208.9 0.0176 50.0
wonderland305 2880 +168.1 0.0182 9.0
tigersiberian 2876 +136.9 0.0190 59.0

Conclusión: Elo inflado pero PageRank confirma que sí son fuertes. El farmeo no explica todo su poder.

Los farmers que no la despiojan

Criterios: Elo_Differential > 150 AND PageRank_Elite < 0.010 AND Total_Games < 300

Player Elo Elo_Diff PageRank_Elite Total_Games
athena-pallada 2901 +199.5 0.0049 208
trainiing123 2838 +112.3 0.0052 167
invisibleguest2023 2852 +94.7 0.0077 166
liamputnam2008 2828 +119.7 0.0077 152

Conclusión: Elo muy inflado, PageRank bajo, pocas partidas. Son farmeros reales. ¡No pueden contra élite!.

Conclusión

Después de todo este análisis, podemos deducir la Jaiba Brava no la despioja y que PageRank es teóricamente superior a Elo y Glicko-2 para medir la fuerza “real” de un jugador de ajedrez. Se ha demostrado que jugadores con rendimiento similar no siempre tienen la misma fuerza.

Sin embargo, hay algo que tenemos que tener en cuenta:

  1. El dato es frío y la fuerza de un jugador de ajedrez tiene muchas variables que no estamos considerando. Si bien escogimos todo el mes ¿realmente esas partidas revelan fuerza real?
  2. El ranking con Elo y Glicko es adictivo. Ese número que sube y baja después de cada partida te mantiene motivado a seguir jugando, a seguir mejorando. Es gamificación pura.
  3. El cálculo de Elo y Glicko es computacionalmente trivial. Y PageRank requiere: iterar sobre millones de nodos, recalcular constantemente la estructura del grafo, almacenar la red completa en memoria, etc. Seguramente las plataformas no quieren (y no deberían) recalcular todo cada que alguien termina una partida.
  4. Simplicidad. Un jugador entiende Elo en 10 segundos: te suman puntos al ganar, te restan al perder. Si usaramos PageRank ¿Cómo le explico que a pesar de jugar como un mago frente a la élite, sigue estando dentro del grupo menos top?

Después de todo este análisis ahora tengo más preguntas que respuestas

  1. Las estructuras de peones son condicionales debido a las aperturas que se juegan. ¿Son los jugadores más o menos fuertes de acuerdo a ciertas posiciones? Si analizó ciertas posiciones ¿podría detectar comprensión o fuerza “estrátegica”? ¿Cómo se programa esto?
  2. El ajedrez es psicológico, ¿un jugador sería menos fuerte después de perder 1,2 o 3 partidas? ¿Se puede calcular o predecir?

Ahí me las dejo, preguntas más filosóficas que técnicas.

Bibliografía y Enlaces de Interés