¿100 CFDI en 40 segundos? Valida XML del SAT con Excel

Imagen
🤯 ¿100 CFDI en 40 segundos? Automatiza la validación de XML con Excel ¿Cuánto tiempo dedicas a revisar archivos XML de facturas electrónicas? Si trabajas con contabilidad, cuentas por pagar, cuentas por cobrar o administración, sabes que validar muchos comprobantes fiscales puede convertirse en una tarea repetitiva. 🚀 ¿Y si pudieras procesar 100 archivos XML en aproximadamente 40 segundos? En esta demostración utilizo una macro de Excel diseñada para automatizar la validación masiva de CFDI y consultar su estado ante el Servicio de Administración Tributaria (SAT). 📊 ¿Qué hace esta macro de Excel? La herramienta permite seleccionar una carpeta con archivos XML y procesar múltiples comprobantes sin tener que revisarlos individualmente. Procesa varios archivos XML de CFDI. Extrae información de los comprobantes fiscales. Consulta el estado de los CFDI ante el servicio del SAT....

⚽Sports Analytics con Python: Los partidos con menor actividad ofensiva del Mundial FIFA 2026

Identificando los partidos con menor actividad ofensiva del Mundial FIFA 2026 mediante Python

¿Un partido con pocos goles es necesariamente aburrido? No siempre. Existen encuentros que terminan 0-0 y ofrecen múltiples oportunidades de gol, mientras que otros finalizan con varios goles tras muy pocas ocasiones claras.

Con el objetivo de realizar un análisis basado en datos y no únicamente en percepciones, desarrollé un Match Excitement Score (MES), una métrica que resume la producción ofensiva de cada partido utilizando estadísticas avanzadas del Mundial FIFA 2026. Me lleve una gran sorpresa.

Todo el análisis fue realizado en Python utilizando un dataset completo del torneo y el código del notebook será compartido al final de este artículo para que cualquier persona pueda reproducir los resultados. El dataset lo obtienen de  Kaggle Dataset: Football 2026 World Cup Dataset



¿Cómo se calculó el Match Excitement Score?

El índice se construyó utilizando seis indicadores ofensivos disponibles en el dataset oficial del Mundial:

  • ⚽ Goles
  • 📈 Expected Goals (xG)
  • 🎯 Tiros a puerta
  • 🥅 Total de disparos
  • 🔥 Big Chances
  • 📍 Toques dentro del área rival

Cada una de estas variables fue estandarizada mediante Z-Score para eliminar diferencias de escala y posteriormente se calculó el promedio de todas ellas.

Los partidos con un MES más bajo representan encuentros con menor producción ofensiva, mientras que valores altos indican partidos con mayor generación de oportunidades de gol.

Ranking de los 10 partidos con menor actividad ofensiva del Mundial FIFA 2026, calculado mediante el Match Excitement Score (MES).



Top 10 partidos con menor actividad ofensiva

La siguiente visualización muestra los diez partidos que obtuvieron el menor Match Excitement Score durante el Mundial FIFA 2026.

Cada barra representa un partido y el valor mostrado corresponde al MES. Cuanto menor es el valor, menor fue la producción ofensiva registrada durante el encuentro.

Top 10 partidos con menor actividad ofensiva del Mundial FIFA 2026 según el Match Excitement Score (MES), análisis de Sports Analytics realizado con Python.

NOTAS a titulo personal:

  • Mi sorpresa el ver 2 partidos de México en la lista!!!! ustedes que opinan. 
  • Australia aparece 2 veces en la lista
  • Argentina que fue el segundo lugar de la copa, tambien sale este top10 de menos actividad ofensiva
  • España el campeón tambien sale un partido en esta lista, aunque en este yo creo que si concuerdo, esperaba mas ataque de Francia.


¿Qué caracteriza a estos partidos?

La mayoría de los encuentros incluidos en este ranking presentan una combinación de:

  • Pocos disparos a puerta.
  • Bajo número de grandes oportunidades.
  • Escasa generación de Expected Goals (xG).
  • Poca presencia ofensiva dentro del área rival.

Es importante destacar que este análisis no intenta determinar si un partido fue "aburrido". La emoción de un encuentro también depende de factores como el contexto, la importancia del partido, los goles en los minutos finales o la tensión competitiva.

El objetivo del MES es medir exclusivamente la actividad ofensiva a partir de estadísticas objetivas.


Análisis visual de los 15 partidos con menor actividad ofensiva

Además del ranking, la siguiente figura muestra la distribución de los quince partidos con menor actividad ofensiva utilizando tres variables simultáneamente:

  • Eje X: Toques dentro del área rival.
  • Eje Y: Tiros a puerta.
  • Tamaño del marcador: Goles anotados.
  • Color: Número de Big Chances.

Esta representación permite identificar rápidamente qué partidos generaron pocas ocasiones claras incluso cuando el marcador final pudo parecer atractivo.

Visualización de los 15 partidos con menor actividad ofensiva del Mundial FIFA 2026, comparando toques dentro del área, tiros a puerta y grandes oportunidades mediante Sports Analytics en Python.



Repositorio y Notebook

Uno de los objetivos de este proyecto es promover el análisis deportivo reproducible utilizando Python.

Por ello comparto el notebook completo con todo el proceso de limpieza, construcción del Match Excitement Score y generación de las visualizaciones utilizadas en este artículo.

👉 Aquí puedes descargar el notebook completo.

fifa-world-cup-2026-python-analysis


Conclusiones

Más que identificar "el partido más aburrido" del Mundial, este trabajo propone una metodología cuantitativa para evaluar la producción ofensiva de cada encuentro utilizando estadísticas avanzadas.

El Match Excitement Score (MES) puede reutilizarse para analizar otras competiciones internacionales, ligas nacionales o temporadas completas, permitiendo comparar partidos mediante una metodología consistente y completamente reproducible.

Dejen sus comentarios y opiniones, ¿estan de acuerdo con el top10?

Comentarios

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

👉 Cómo obtener el tipo de cambio en Excel con API de Banxico (paso a paso)

Cómo crear un Predictor de Partidos de Fútbol con JavaScript y API-Football