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.