Propuesta piloto — Marzo 2026

Malaga Intelligence OS MIO

Automatizacion inteligente para la Secretaria Tecnica del Malaga CF. Vuestros informes, vuestro formato, generados en segundos. Todo en un solo sitio.

4h → 10s
Tiempo generacion informe
3
Semanas hasta demo
5
Fuentes unificadas
0
Excels manuales
Diagnostico

El problema que resolvemos

La Secretaria Tecnica del Malaga CF genera informes de altisima calidad, pero el proceso es manual, disperso y consume horas que deberian dedicarse al analisis.

Horas de copy-paste

Cada informe pre-partido (PDF, 10+ paginas) requiere extraer datos de Mediacoach, Driblab y Wyscout, copiarlos a mano en PowerPoint y generar narrativa humana. Proceso repetido cada semana.

📊

Datos dispersos

5 fuentes distintas (Mediacoach, Driblab, Wyscout, WIMU, Drive cantera) sin conexion entre si. Cada analista tiene su copia local. No hay fuente unica de verdad.

📝

Cantera en Excel

Fichas de jugadores de cantera repartidas en Google Drive con problemas de alias, tildes y duplicados. Sin trazabilidad medica ni fisica integrada.

👀

Alertas de mercado manuales

Los perfiles de busqueda (metricas + ponderaciones por posicion) existen en la cabeza de los analistas o en Excel. No hay sistema automatico que avise cuando un jugador cumple el perfil Malaga.

🔒

Sin control de accesos

Los ojeadores, analistas y directivos acceden a la misma informacion sin diferenciacion. No hay log de quien ve que ni cuando.

💰

Presupuesto limitado

Administracion concursal. No hay margen para herramientas caras ni proyectos largos. Necesitan valor demostrable rapido con inversion minima.

Seccion A — Plan de ejecucion

3 semanas, 3 entregas

Cada semana tiene un entregable demostrable por si solo. Si nos cortan en la semana 2, ya hay demo.

Semana 1 — Generacion automatica

De CSV a informe en 10 segundos

Subir un export real (Mediacoach/Driblab) y que el sistema genere el PDF pre-partido del Albacete con el diseno exacto del MCF. Comparar lado a lado con el original.

Parser CSV multi-fuente Generador PDF (reportlab) Generador PPT (python-pptx) Narrativa LLM
Semana 2 — Alertas + Audio

Motor que piensa como el Malaga

Motor de alertas con perfiles/ponderaciones del club, percentil 75, historico 5 anios y regla N-de-M. Fichas automaticas con radar, texto y enlaces. Audio resumen 2 minutos con TTS.

Motor percentiles P75 Regla N-de-M Ficha alerta + radar Audio TTS 2 min
Semana 3 — Hub + WhatsApp + Permisos

Todo en un sitio, cada uno ve lo suyo

Director Inbox web funcional. Canal WhatsApp para cantera via CareOS: el entrenador dicta y el sistema crea fichas normalizadas. Permisos por rol con log de acceso.

Director Inbox (web) Historico rival/jugador WhatsApp cantera (CareOS) Roles + audit log
Semana 4 — Buffer (si necesario)

Pulir y ensayar

Refinamiento visual, ensayo de la presentacion de 15 minutos, documentacion de entrega. Solo si se necesita.

QA visual Ensayo demo Documentacion
Seccion B — Arquitectura

Pipeline end-to-end

De los exports semanales al informe final, pasando por normalizacion, motor de reglas y generacion automatica.

📥
Ingesta
  • Mediacoach CSV
  • Driblab CSV/API
  • Wyscout CSV+URLs
  • WIMU XLSX
  • WhatsApp (CareOS)
🔧
Normalizacion
  • ID unificado jugador
  • Fuzzy match (alias)
  • Tildes / duplicados
  • Validacion schema
  • Log de rechazos
🗃
Base de datos
  • Firestore / PostgreSQL
  • Jugador, Equipo, Partido
  • Metrica, Perfil, Alerta
  • Informe, Fuente
  • Usuario, Rol, Log
Motor reglas
  • Percentiles P75
  • Historico 5 anios
  • Perfil club ponderado
  • Regla N-de-M
  • Score + ranking
📄
Generacion
  • python-pptx (PPT)
  • reportlab (PDF)
  • LLM narrativa
  • TTS audio 2 min
  • Ficha alerta + radar
🌐
Hub + Salida
  • Director Inbox (web)
  • Historico rival/jugador
  • Descargas PDF/PPT
  • WhatsApp cantera
  • Permisos + audit
Stack: Python/FastAPI · Firestore · python-pptx + reportlab · Gemini/Claude (narrativa + NLP) · CareOS (WhatsApp) · Panel web (Next.js) · Caddy (HTTPS) · VM privada GCP
Seccion C — Backlog + Capacidades

5 capacidades core

Lo que MIO hace por la Secretaria Tecnica, en orden de prioridad.

01

Auto-generacion del paquete semanal

CSV de Mediacoach/Driblab entra, PDF pre-partido + PPT de ABP + PPT plantilla rival salen con el formato exacto del MCF. Incluye resumen audio de 2 minutos.

Prioridad P0. Un clic sustituye 4+ horas de copy-paste. La narrativa de cada seccion la genera el LLM con el estilo de redaccion del departamento de datos.
02

Director Inbox / Hub

Panel web donde el director deportivo ve de un vistazo: paquete de la semana actual, historico por rival/jugador, enlaces a video/cortes Wyscout y alertas activas.

Prioridad P0. Sin buscar en emails ni carpetas. Un clic para ver todo lo generado esta semana + buscar por rival o jugador en historico.
03

Motor de alertas "piensa como Malaga"

Perfiles de busqueda configurados por el club (metricas + ponderaciones por posicion). Alerta automatica cuando un jugador supera P75 historico 5 anios en N-de-M metricas.

Prioridad P1. Ficha automatica con radar, texto explicativo ("por que salta"), comparacion con plantilla actual y enlaces a Wyscout/Driblab.
04

Canal WhatsApp cantera

El entrenador de cantera envia un mensaje o audio por WhatsApp: "Pepito Garcia, sub-16, hoy ha entrenado al 80%, molestias en aductor derecho". CareOS normaliza y crea la ficha.

Prioridad P1. Confirmacion interactiva ("Te refieres a Pepito Garcia del Sub-16?") + ficha 360 en BD (tecnico, medico, fisico, rendimiento). Adios Excel.
05

Permisos y trazabilidad

Cada usuario tiene un rol: ojeador (ve solo lo que le asignan), analista (ve su area), director (ve todo). Log de acceso auditable: quien vio que informe, cuando.

Prioridad P1. Capote y Loren ven todo. Ojeadores solo sus jugadores asignados. Trazabilidad completa sin complejidad para el usuario.

Backlog MVP P0-P2

1

Subo CSV Mediacoach/Driblab → sale PDF pre-partido con formato MCF P0

2

Subo datos → sale PPT de ABP con tablas de corners/faltas P0

3

Abro hub → veo paquete semanal (PDF+PPT+audio) listo para descarga P0

4

Recibo alerta: "Extremo en liga X cumple perfil Malaga" con ficha+radar P1

5

Envio WhatsApp con datos entrenamiento → ficha cantera normalizada P1

6

Ojeador solo ve lo suyo, Capote/Loren ven todo, log de acceso P1

7

Busco "ultimos 5 partidos Albacete visitante" → historico con video P2

Post-piloto P3

8

Integracion directa con API Driblab (sin export manual)

9

Export masivo automatizado desde Wyscout

10

Ficha 360 cantera completa (medico + GPS WIMU)

11

Comparador de jugadores lado a lado

12

Pipeline 100% automatico semanal (cron: lunes ingesta → martes informes)

Seccion D — Outputs "wow"

Lo que genera MIO

Tres outputs concretos que reemplazan el trabajo manual semanal.

📄

PDF Pre-partido (10-12 pags)

  • Portada: escudos + jornada + liga (datos fixture)
  • Comparativa general: tabla doble columna con rankings en liga (Mediacoach)
  • Resumen tactico: bullets narrativos generados por LLM con estilo MCF
  • Jugadores relevantes: cuadricula por categoria (Driblab + Mediacoach)
  • Porteros: goles vs xG, paradas, distribucion
  • Defensas centrales: metricas DEF+ATQ+FIS + ranking liga
  • Defensas laterales: idem con asistencias y centros
  • Mediocentros: pases, recuperaciones, llegada
  • Extremos: regates, xA, velocidad, duelos
  • Delanteros: goles, xG, remates, desmarques
📊

PPT de ABP (8 diaps)

  • Corners a favor izquierda: lanzamientos, completados, rematados, zonas
  • Corners a favor derecha: tipo (abierto/cerrado/corto), jugadores clave
  • Corners en contra izquierda: interceptados vs rematados
  • Corners en contra derecha: patrones defensivos
  • Faltas a favor: lanzadores, objetivos, efectividad
  • Faltas en contra: volumen y peligrosidad
  • Resumen goles ABP: tabla a favor + en contra con goleadores y jornada
  • Cada slide incluye campo con posiciones de jugadores + nota "Atencion"
🎧

Audio resumen 2 min

  • Apertura: jornada, rival, contexto (15s)
  • Perfil tactico rival: posesion, estilo, fortalezas (30s)
  • ABP clave: corners peligrosos, lanzadores, zonas (30s)
  • Alertas de mercado: nuevos candidatos esta semana (30s)
  • Cantera: resumen de fichas registradas (15s)

Preview: Ficha de alerta automatica

Alerta — Extremo derecho

Jugador X — Liga Eredivisie

24 anios · Contrato hasta 2027 · Valor est. 1.2M € · Perfil: Extremo derecho Malaga

Regates exitosos P82 xA por 90' P79 Centros completados P91 Duelos defensivos P58

Cumple 3 de 4 metricas (regla 3-de-4) → ALERTA ACTIVA

"Extremo desequilibrante con fuerte perfil ofensivo. Destaca en regate y generacion de asistencias esperadas, por encima del P75 historico 5 anios en 2a Division. Area de mejora: implicacion defensiva (P58 en duelos)."

🎬 Ver cortes Wyscout  ·  📊 Perfil Driblab completo  ·  👥 Comparar con plantilla MCF

Guion del audio 2 minutos

0:00-0:15
Apertura. "Resumen semanal, jornada 27. Este domingo recibimos al Albacete Balompie en La Rosaleda."
0:15-0:45
Perfil rival. "El Albacete es el segundo equipo con menos posesion pero el primero en tiempo en campo rival. Muy eficaces en finalizacion, top 3 de la categoria. Atencion a Agus Medina, 7 goles, y a los centros cerrados por nuestra derecha."
0:45-1:15
ABP. "En balon parado, Agus lanza el 80% de los corners. Por nuestra derecha todo cerrado, buscan area pequenia. En contra, les cuesta rematar: solo 1 remate en 5 partidos por cada lado."
1:15-1:45
Mercado. "Esta semana han saltado 2 alertas de extremo derecho que cumplen perfil Malaga: un jugador en Eredivisie y otro en Liga Portugal. Fichas disponibles en el hub."
1:45-2:00
Cantera. "Se han registrado 12 fichas de entrenamiento esta semana via WhatsApp. Sin incidencias medicas relevantes."
Seccion E — Plan de datos

Modelo de datos minimo

9 entidades core que cubren todo el flujo: desde la ingesta hasta la ficha de cantera.

Jugador
  • id UUID
  • nombre_canonical str
  • aliases [str]
  • fecha_nacimiento date
  • posicion str
  • equipo_id FK
  • fuente_ids map
Equipo
  • id UUID
  • nombre_canonical str
  • aliases [str]
  • liga_id FK
  • temporada str
Partido
  • id UUID
  • jornada int
  • fecha date
  • local_id FK
  • visitante_id FK
  • resultado str
Metrica
  • jugador_id FK
  • partido_id FK?
  • fuente enum
  • nombre str
  • valor float
  • percentil float?
  • temporada str
Perfil
  • nombre str
  • posicion str
  • criterios [obj]
  • regla_n_de_m obj
  • creado_por FK
Alerta
  • perfil_id FK
  • jugador_id FK
  • cumplidas [str]
  • no_cumplidas [str]
  • score float
  • estado enum
Informe
  • tipo enum
  • partido_id FK?
  • archivo_url str
  • audio_url str?
  • generado_at datetime
Usuario
  • nombre str
  • rol enum
  • permisos [str]
FichaCantera
  • jugador_id FK
  • fecha date
  • tipo enum
  • datos JSON
  • via enum

Estrategia de IDs y normalizacion

ProblemaSolucion
Tildes / mayusculasunidecode + uppercase para matching, nombre original para display
Alias ("Agus" vs "Agustin Medina")Tabla de aliases por jugador, fuzzy match (Levenshtein < 3) en ingesta
IDs cruzados entre fuentesCampo fuente_ids en Jugador: mapeo manual inicial (~100 jugadores 2a), despues semi-automatico
Duplicados canteraConfirmacion interactiva en WhatsApp: "Te refieres a Pepito Garcia del Sub-16?"
Nombres de metricas distintos por fuenteDiccionario de sinonimos por fuente: {"xG": ["xg", "expected_goals", "goles_esperados"]}
Seccion F — Plan de demo

15 minutos, 5 momentos wow

Orden, narrativa y ejemplos concretos. Si se ensenia demasiado, se diluye el impacto.

0:00 - 1:00
Reconocimiento

"Esto es lo que haceis hoy" — su PDF del Albacete al lado del nuestro generado. Identicos.

Reaccion: "Es nuestro informe"
1:00 - 3:00
Demo en vivo: CSV → informe

Arrastrar un CSV de Mediacoach, clic en "Generar", PDF + PPT aparecen en 10 segundos.

Reaccion: "Esto nos lleva 4 horas"
3:00 - 5:00
Audio 2 minutos

Reproducir el resumen semanal generado. Voz natural, datos reales del Albacete. El director lo escucha en el coche.

Reaccion: Sorpresa emocional
5:00 - 7:00
Director Inbox

Abrir el hub web. Semana actual con documentos, historico Albacete, clic en jugador, ficha completa.

Reaccion: "Todo en un sitio"
7:00 - 9:00
Alerta de mercado

Mostrar una alerta real. Ficha con radar. "Por que salta". Enlace a Wyscout.

Reaccion: "Esto no lo tenemos" — diferenciador
9:00 - 11:00
WhatsApp cantera (en vivo)

Enviar un audio al bot: "Pepito Garcia, sub-16, entrenamiento al 80%, molestias aductor". Ficha aparece en el hub.

Reaccion: "Adios Excel"
11:00 - 13:00
Permisos

Login como ojeador: vista limitada. Login como Loren: todo. Mostrar log de acceso.

Reaccion: Confianza y control
13:00 - 15:00
Cierre + roadmap

"Esto es el piloto. Con API directa y 2 meses mas: pipeline semanal 100% automatico, sin subir ningun CSV."

Vision de futuro
Acceder al Hub del Director Panel en vivo — datos reales del piloto

Ejemplos concretos para la demo

Rival: Albacete BP (tenemos datos reales completos)  ·  Alerta: Extremo derecho de Eredivisie o Liga Portugal  ·  Cantera: Nombre ficticio del Sub-16

Seccion G — Inputs al club

Lo que pedimos al Malaga CF

6 cosas, todas las tienen ya. Un email con checklist y plazo de 3 dias.

Que necesitamosPara queFriccionComo reducirla
1 export CSV de Mediacoach (1 jornada, 2a division) Alimentar pre-partido Baja "Mandadnos el del Albacete que ya teneis"
1 export CSV de Driblab (1 posicion, 2a division) Alimentar alertas / percentiles Baja "Exportad extremos derechos de 2a, solo eso"
Perfiles / ponderaciones (Excel con metricas por posicion) Motor de reglas Media "Nos vale una foto del Excel o un PDF"
2-3 informes mas de ejemplo (otro rival) Validar generador con otro equipo Baja "Los que tengais mas recientes"
Lista jugadores cantera (nombre + categoria) Normalizacion WhatsApp Media "El Drive que ya teneis, tal cual"
Logo MCF alta resolucion + fuentes especiales Plantillas exactas Baja "El escudo y la fuente del 'MCF'"
Seccion H — Riesgos

Riesgos + mitigaciones

Prob. media
No nos dan los exports a tiempo

El club tarda en enviarnos los CSV o no tienen disponibilidad para exportar.

Mitigacion: Usamos los datos reales del Albacete que ya tenemos para toda la demo. Los exports solo son validacion adicional.
Prob. media
Formato CSV cambia entre exports

Mediacoach o Driblab cambian columnas o estructura entre temporadas/versiones.

Mitigacion: Parser flexible con validacion de schema + log de errores + fallback a mapeo manual.
Prob. alta
Wyscout sin API / sin acceso masivo

No hay API publica de Wyscout o el club no tiene acceso para export masivo.

Go/No-Go: Para el piloto, los enlaces a Wyscout son URLs manuales. Post-piloto, solicitar reunion con Wyscout para explorar API o evaluar RPA.
Prob. baja
Calidad narrativa del LLM

El texto generado no se ajusta al estilo de redaccion del departamento de datos.

Mitigacion: Usamos los informes reales como few-shot examples. Iteracion rapida del prompt. Revision humana en la demo.
Prob. media
El club se asusta con "IA" o "nube"

Preocupacion por privacidad de datos o dependencia de terceros.

Mitigacion: Enfoque: "vuestros datos, vuestro servidor, nada sale". Despliegue en VM privada (ya tenemos infra en GCP).
Prob. baja
Cantera no adopta WhatsApp

Los entrenadores de cantera prefieren seguir con Excel o no se adaptan al canal.

Mitigacion: Es un nice-to-have para la demo. Si no convence, se quita sin afectar las funcionalidades core.
Paquete 0 — Pre-reunion

Para enviar antes de la reunion

Una slide y un parrafo que anticipen lo que vamos a ensenar.

Malaga Intelligence OS — Piloto Internal·IA

Automatizacion inteligente para Secretaria Tecnica

Demo funcional con datos reales en 3 semanas

"Hemos analizado vuestro flujo de trabajo actual y tenemos una propuesta concreta: en 3 semanas os entregamos un piloto funcional que genera automaticamente vuestro paquete semanal (pre-partido, ABP, plantilla rival) con el formato exacto que usais hoy, incluyendo un resumen en audio de 2 minutos. Ademas, un hub para centralizar informes y un motor de alertas de mercado configurado con vuestros criterios. Todo en un entorno privado, con vuestros datos, y sin depender de integraciones complejas. Os lo ensenamos en 15 minutos con datos reales."