El Congreso en código: por qué el poder mexicano necesita un observatorio

analisis
CongresoCiencia Datos

El vacío

Si quieres estudiar el comportamiento legislativo del Congreso de Estados Unidos, tienes NOMINATE, VoteView, datasets públicos que cubren más de dos siglos de votaciones. Si te interesa el Parlamento del Reino Unido, hay herramientas equivalentes. Brasil, incluso Chile, tienen esfuerzos serios de análisis cuantitativo de sus legislaturas. Papers, repositorios, comunidades de investigadores que intercambian metodologías.

México no tiene nada de eso.

No existe un dataset NOMINATE para el Congreso mexicano. No hay un índice de disciplina partidista que se actualice con cada votación. No hay análisis de redes legislativas automatizado. No hay un observatorio sistemático que rastree cómo votan los diputados, cómo se reagrupan, qué fracciones existen dentro de los bloques formales, quiénes son los nodos de poder reales detrás de cada decisión. Nada.

México tiene uno de los Congresos más opacos para el análisis sistemático entre las democracias de la región, y el problema no es falta de interés — es falta de infraestructura. Las fuentes oficiales de datos legislativos (la Gaceta Parlamentaria, el SITL, el SIL de Gobernación) no son accesibles programáticamente. No hay API. Los datos están en PDFs, en páginas que no permiten scraping, en formatos que cambian entre legislaturas sin aviso. La información existe, pero está enterrada de tal forma que sacarla a escala requiere trabajo manual masivo.

Lo que queda es un ecosistema donde los analistas mexicanos dependen de nota periodística para entender el Congreso. Un diputado vota en contra de su partido y la interpretación de qué significa ese voto viene del columnista de turno, no de un modelo que mapee posiciones ideológicas. La nota periodística es valiosa, pero cuando es la única lente disponible, toda la conversación pública sobre el poder legislativo se reduce a anécdotas y declaraciones. No hay sistema.

Y no es solo México. América Latina es un vacío sistemático en análisis cuantitativo de legislaturas. Hay esfuerzos aislados — tesis de doctorado, bases de datos parciales, papers individuales — pero nada que se parezca a la infraestructura analítica que existe para el Congreso estadounidense o el Parlamento Europeo. Si alguien construyera un sistema formal para estudiar el Congreso mexicano con grafos de poder, métricas de disciplina y posicionamiento ideológico, estaría construyendo algo que no existe en ningún lado de la región.


El caso cero

La reforma que no fue derrotada por la oposición

El 11 de marzo de 2026, la Cámara de Diputados votó la Reforma Político-Electoral de Claudia Sheinbaum. Necesitaba 334 votos — dos tercios de la Cámara. Obtuvo 259 a favor y 234 en contra. La reforma murió.

La narrativa inmediata fue que la oposición la bloqueó. Pero los números no sostienen esa lectura. El PAN, el PRI y Movimiento Ciudadano sumaban menos de 130 diputados — insuficientes para derrotar nada por sí solos. Lo que mató la reforma fue la tensión interna de la coalición gobernante. El PT votó en contra por 50 de 51 legisladores. El PVEM lo hizo por 49 de 62. Los aliados de Morena fueron quienes negaron la mayoría calificada.

Para entender cómo se llegó a ese punto, construí un grafo de relaciones de poder con Graphviz que mapea 20 actores: diputados, gobernadores, dirigentes partidistas y el nodo de AMLO. Lo que el grafo reveló fue una arquitectura de lealtades que no coincide con los colores oficiales.

El primer hallazgo fue que la militancia formal no coincide con la lealtad real. En septiembre de 2024, El País documentó que Morena había recibido 21 diputados del PVEM y del PT para alcanzar control casi total del Congreso. Pero la migración fue en ambas direcciones — al menos doce legisladores electos por Morena terminaron en la bancada del PVEM. Chedraui y Montemayor, pevemistas integradas a la bancada de Morena, votaron en contra de la reforma siguiendo la línea de su partido de origen. Braña Mojica, electo por Morena y migrado al PVEM, votó a favor rompiendo la disciplina verde. No son traidores — son operadores cuya lealtad apunta a quien los puso ahí.

El segundo hallazgo: el poder territorial aplasta al partidista. Las flechas más gruesas del grafo no van del partido al diputado, sino del gobernador al diputado, cruzando colores. Américo Villarreal, gobernador de Tamaulipas, influenció directamente el voto de tres diputados del PVEM que votaron a favor de la reforma. La verdadera unidad de acción en este Congreso no es el partido — es el gobernador con maquinaria política propia.

El tercero es una asimetría de disciplina reveladora. De los 7 diputados que rompieron la línea morenista, solo uno — Giselle Arellano — es militante orgánica de Morena. Los otros seis llegaron al partido por otras rutas: dos pevemistas integradas a la bancada (Chedraui y Montemayor), una ex ministra independiente (Sánchez Cordero), un ex panista (Espino), un suplente del sindicato minero (Jiménez) y un ex perredista (Peña Vidal). Juntos suman el 4.3% del bloque morenista — una cifra pequeña, pero 6 de cada 7 no son morenistas de origen. El PVEM, en contraste, tuvo 12 disidentes (19.4%) y no hubo una sola sanción. Su coordinador ni pidió perdón. La lectura del Verde es clara: sus curules son el margen de mayoría y negocia desde ahí. Que esta asimetría signifique que Morena necesita más al PVEM que a la inversa, o que el Verde simplemente esté inflando su posición de negociación, es algo que solo más datos podrán confirmar.

El caso más simbólico del grafo es José Braña Mojica. Primo hermano de AMLO. Electo por Morena en Tamaulipas. Migrado al PVEM en septiembre de 2024. Votó a favor de la reforma, rompiendo la disciplina de su nuevo partido. No es un traidor al Verde — es un operador cuya lealtad real apunta a AMLO y a Villarreal. La palabra “disidente” pierde sentido cuando dibujas las flechas correctas.

Una coalición que depende de intercambio de curules, lealtades personales a gobernadores y ausencia de sanciones consistentes no es un bloque cohesionado — es un sistema en equilibrio inestable. Funciona mientras los incentivos estén alineados, pero cualquier shock puede romper el arreglo.

Todo esto se documentó en un solo caso, de forma manual, con un grafo estático y horas de investigación. El caso cero demostró que es posible leer el Congreso de otra manera — no desde la nota periodística, sino desde la estructura de poder. Pero también mostró que el método manual no escala. Para hacer este análisis no para una votación, sino para cien, se necesita un esquema formal con datos estructurados. De ahí salió este proyecto.

El modelo: dos capas

Para entender lo que pasó en la reforma electoral, necesitamos un esquema capaz de capturar dos cosas simultáneamente: lo formal y lo informal. Lo formal es lo que aparece en el acta — quién es diputado, de qué partido, cómo votó. Lo informal es lo que no aparece en ningún acta pero determina el resultado: quién presiona a quién, de quién es leal realmente cada legislador, qué favores se deben.

El caso cero de este proyecto lo dejó claro. Cuando rastreamos a Braña Mojica — el diputado que votó a favor de la reforma desde la bancada del PVEM, rompiendo la disciplina de su partido — no encontramos la explicación en su ficha legislativa ni en su historial de votaciones. La encontramos en una línea de lealtad familiar hacia AMLO y en una línea de clientelismo territorial hacia Américo Villarreal.

Esas líneas no existen en ninguna base de datos oficial del Congreso. Y ahí está el problema: si tu esquema de datos solo captura lo formal, estás viendo la sombra, no el objeto. El modelo que propongo tiene dos capas. La primera es un estándar abierto y probado. La segunda es un conjunto de extensiones que capturan precisamente lo que el estándar no ve.

Popolo: el estándar que nadie usa en México

Existe desde 2012 un estándar internacional llamado Popolo (del latín populus, pueblo) diseñado exactamente para esto: estructurar datos legislativos de forma interoperable. Lo mantienen organizaciones como mySociety y el Open Knowledge Foundation, y lo usan proyectos serios: EveryPolitician (que mapeó a todos los legisladores del mundo), OpenSanctions (que rastrea sanciones internacionales) y varias iniciativas del Parlamento Europeo.

Popolo define 12 entidades base: Person, Organization, Membership, Post, Motion, VoteEvent, Vote, Count, Area, LegislativeSession, Event y Speech. No necesitas memorizarlas todas. Las que importan para este proyecto son unas pocas.

Una Person es un legislador. Una Organization es un partido o una comisión. Una Membership vincula a la persona con la organización. Una Motion es una propuesta legislativa y un VoteEvent es la votación correspondiente. Dentro de cada VoteEvent hay múltiples registros de Vote: cada uno representa la decisión de un legislador individual (a favor, en contra, abstención, ausente).

Esa tabla de Vote — legislador por votación por opción — es el activo más importante del esquema. Es la materia prima que alimenta todo el análisis posterior: quién vota con quién, qué tan disciplinado es cada bloque, dónde aparecen las grietas.

Popolo es como el esqueleto de un organismo. Define la estructura correcta, las articulaciones, las conexiones formales. Pero un esqueleto no te dice cómo se mueve el cuerpo, ni qué músculo tira de qué hueso. Para eso necesitamos algo más.

Lo que Popolo no ve

Aquí es donde entra el corazón del modelo. Agregué tres extensiones al esquema base de Popolo, cada una diseñada para capturar una capa de realidad que el estándar deliberadamente deja fuera.

ActorExterno captura a los actores que no son legisladores pero que influyen en el voto de manera demostrable: gobernadores, líderes sindicales, empresarios, el propio presidente. En el caso de la reforma, AMLO es ActorExterno. No es senador ni diputado, pero su influencia sobre el resultado es directa y documentable.

RelacionPoder es la capa informal. Es una tabla separada donde se registran los vínculos de poder reales entre un ActorExterno y un legislador. No es derivable automáticamente de los datos formales — requiere investigación periodística, seguimiento de declaraciones, cruce de información. Los tipos de relación que registra incluyen: clientelismo territorial (un gobernador que controla curules), lealtad familiar (lazos de sangre), presión económica (amenazas o incentivos materiales) e intercambio de favores (el trueque político clásico).

EventoPolitico registra los momentos que cambian las reglas del juego: una reforma aprobada, unas elecciones intermedias, una crisis de gabinete, una renuncia. Son eventos que alteran el landscape de incentivos para todos los actores.

Si volvemos al caso cero, el encaje es perfecto. Braña Mojica es una Person en el esquema Popolo. AMLO es un ActorExterno. Entre ellos hay una RelacionPoder de tipo “lealtad familiar” (son primos hermanos). Entre Braña y Américo Villarreal hay otra RelacionPoder de tipo “clientelismo territorial” (Villarreal es el gobernador que controla el proceso de selección de candidatos en Tamaulipas). Y la votación de la reforma es un EventoPolitico que tensionó todas esas relaciones.

Sin estas extensiones, la base de datos te diría que un diputado del PVEM votó a favor de una iniciativa de Morena. Con ellas, puedes ver por qué y a través de quién. Es la diferencia entre un mapa de calles y una radiografía.

Del esquema a los números

Hasta aquí el modelo describe cómo organizar los datos. Pero el punto de estructurar datos no es tener una base ordenada — es poder hacer preguntas que antes eran imposibles de responder con rigor.

Con Popolo correctamente implementado en una base SQLite, los datos se prestan de forma natural a dos familias de análisis que transforman anécdotas en patrones.

Teoría de grafos es la primera. Con ~35 líneas de Python usando la librería networkx, puedes construir el grafo de co-votación: un diputado es un nodo, y la similitud entre sus patrones de votación define el grosor de la arista que los conecta. Sobre ese grafo puedes calcular tres cosas inmediatamente.

Co-votación: un índice numérico que te dice qué tan similar es el historial de votos entre cualquier par de legisladores. No una impresión — un número.

Centralidad: métricas que identifican qué nodos son más conectados e influyentes en la red. No quién tiene más cargo, sino quién funciona como puente entre bloques.

Comunidades: algoritmos de detección que revelan los bloques de votación reales, que rara vez coinciden con las bancadas formales declaradas.

import networkx as nx
from itertools import combinations

# Grafo de co-votación: nodos = diputados, aristas = similitud
G = nx.Graph()
for a, b in combinations(diputados, 2):
    similitud = 1 - distancia_hamming(votos[a], votos[b])
    if similitud > 0.7:
        G.add_edge(a, b, weight=similitud)

# Centralidad: quiénes son los puentes entre bloques
centralidad = nx.betweenness_centrality(G, weight='weight')

# Comunidades: bloques de votación reales (no declarados)
from networkx.algorithms.community import greedy_modularity_communities
bloques = greedy_modularity_communities(G)

Teoría de juegos es la segunda familia, y tiene una ventaja enorme: no requiere datos de votación. Con solo conocer la distribución de escaños, puedes calcular cuánto poder real tiene cada jugador en una coalición usando el Shapley value y el Banzhaf index — dos medidas estándar de poder de votación que llevan décadas usándose en ciencia política.

Aquí es donde el margen de 1 voto en el Senado cobra toda su dimensión. La coalición de Morena, PT y PVEM tiene 87 senadores — apenas uno por encima de los 86 que exige la mayoría calificada. El PVEM aporta 14 de esos senadores. El Shapley value te permite responder con precisión: ¿cuánto poder de negociación real le da ese margen al Verde? El Banzhaf index te dice cuál es la probabilidad de que un solo senador verde sea decisivo en una votación cerrada.

Estas métricas están disponibles desde el día uno del proyecto. No necesitas acumular cien votaciones ni entrenar modelos. Con la composición actual del Senado, los números ya están ahí.

El vacío es notable. En Estados Unidos y Europa este tipo de análisis es rutinario — hay grupos académicos y de datos abiertos que lo hacen desde los años noventa. En América Latina es prácticamente un terreno virgen. Un observatorio legislativo mexicano con estas herramientas no sería un experimento académico más. Sería, probablemente, el primero de su tipo en la región.

La hoja de ruta

Esto no es un proyecto que se termine en un fin de semana. Tiene cuatro fases, y cada una depende de la anterior.

La Fase 1, donde estoy ahora, es pura estructura. Estoy montando una base de datos SQLite con el esquema Popolo-Graph: legisladores, votaciones, relaciones de poder. La tarea inmediata es migrar el caso cero — el análisis de la Reforma Electoral que armé en archivos sueltos — a la base. Y definir los procesos de ingesta, porque si no puedo cargar datos de forma sistemática, nada de lo que sigue funciona.

La Fase 2 arranca cuando tenga documentadas entre 5 y 10 votaciones. Empieza lo interesante: grafos estáticos. Voy a calcular co-votación (quién vota igual con quién), métricas de centralidad (quién es el nodo que conecta a todos) y detección de comunidades (qué bloques se forman naturalmente). Los primeros análisis cuantitativos serios.

Con 30 o más votaciones, entro a la Fase 3: grafos dinámicos. Aquí no miro una foto estática de la red, sino una película. ¿Cómo cambian las alianzas a lo largo de los meses? ¿Cuándo empieza a desplazarse la influencia de alguien como Villarreal? ¿En qué votación se fractura un bloque que parecía monolítico?

La Fase 4 es la meta ambiciosa. Con más de 100 votaciones, quiero aplicar el algoritmo NOMINATE para posicionar a cada legislador en un espacio ideológico bidimensional. Esto es lo que hace VoteView para el Congreso de Estados Unidos: un mapa donde cada diputado tiene coordenadas según cómo vota. No existe nada así para México. Si lo logro, sería una herramienta sin precedentes para entender la política mexicana con datos.

La LXVI Legislatura (2024-2027) es mi laboratorio. Tres años para documentar, medir y analizar.

Lo que quiero responder

Con este observatorio espero responder preguntas que hoy no tienen respuesta rigurosa en México:

  • ¿Cuánto poder real tiene cada partido en el Congreso, más allá del número de curules que ocupa?
  • ¿Quiénes son los legisladores puente — esos diputados que conectan bloques aparentemente opuestos y hacen posible o imposible cualquier reforma?
  • ¿Cómo cambia la red de poder cuando hay una crisis, como la reforma judicial o la reforma electoral?
  • ¿Se pueden predecir los resultados de votaciones futuras a partir de la estructura de la red?

No pretendo responderlas todas. Pero quiero empezar a formularlas con datos.


Un proyecto en curso

Quiero ser honesto: esto es un proyecto en curso, no un paper terminado. No tengo conclusiones definitivas que presentarte. Lo que tengo es una pregunta que me obsesiona, un esquema de datos que funciona y la voluntad de construir algo que no existe en México.

Los posts de seguimiento vendrán conforme avance el observatorio. Cada fase va a generar sus propios hallazgos, y quiero compartirlos aquí conforme ocurran, no esperar a tenerlo todo perfecto.

Si te interesa el Congreso, si la política vista con datos te parece más útil que la política de opinólogos, si la idea de usar teoría de grafos para entender el poder real te suena a lo que te gustaría leer… este espacio es para ti.

Soy el Cachorro. Y estoy construyendo un observatorio del poder en México. Si quieres ver cómo avanza, solo vuelve.


Fuentes

  • El País 1 — Documentación sobre los 21 diputados “prestados” del PVEM y PT a Morena (ago 2024)
  • El País 2 — Linchamiento mediático a disidentes (14/mar/2026)
  • Latinus 1 — PVEM, PT y oposición desechan reforma electoral (11/mar/2026)
  • Milenio 1 — Diputados se quitan sus colores y muestran sus verdaderas lealtades (12/mar/2026)
  • El Financiero 1 — Sheinbaum pone tope a sueldos del INE en Plan B (17/mar/2026)
  • El Financiero 2 — Batean reforma electoral (11/mar/2026)
  • La Jornada 1 — Plan B va por menos privilegios y más participación (17/mar/2026)
  • El Universal 1 — PRI adelanta voto en contra del Plan B (17/mar/2026)
  • El País 3 — Sheinbaum mantiene la elección judicial en 2027 (17/mar/2026)
  • RegeneraciónMX 1 — Bancada Morena, 12 verdes y un PT respaldan reforma (11/mar/2026)
  • Popolo Projectpopoloproject.com — Estándar internacional para datos legislativos
  • VoteViewvoteview.com — Dataset NOMINATE para el Congreso de EUA (referencia)