Un predictor de carreras que dice “Verstappen, 41%” y nada más te pide que le creas por fe. Construí BoxBox para que cada número venga con una razón que puedas leer.
Validado carrera a carrera
BoxBox usa un modelo XGBoost que da a cada piloto su probabilidad de ganar y de podio. Lo valido carrera a carrera, porque una temporada es una secuencia y el modelo debe juzgarse como se va a usar: en la próxima carrera, no en un reparto al azar del pasado.
Reentrenado tras cada Gran Premio
La Fórmula 1 cambia durante el año. Los equipos traen mejoras y un coche lento en marzo puede ser rápido en agosto. Después de cada Gran Premio el modelo se entrena de nuevo con el resultado, y la siguiente predicción parte de cómo está la parrilla ahora.
Un desglose del porqué
Cada predicción trae un desglose SHAP, que muestra cuánto empujó cada dato hacia arriba o hacia abajo la probabilidad de un piloto. La posición en parrilla, el clima y la forma reciente tienen su parte, y se ve.
El stack
Python y XGBoost para el modelo, FastAPI para servirlo, PostgreSQL para los datos y un panel Next.js bilingüe encima. Eliges un Gran Premio, ajustas la parrilla y el clima, y los números se actualizan.
Pruébalo en boxbox.ocobosoftware.dev.