CASO 08 / DATA SCIENCE

¿Cuántas salidas habrá mañana?

Usé viajes reales de Ecobici para estimar las salidas observadas por estación y día. Separé entrenamiento y prueba en el tiempo y comparé el modelo con una referencia simple.

Buenos Aires Data · Recorridos 2024 y 2025 · Modelo ejecutado localmente

VIAJES DEDUPLICADOS6.715.465

salidas desde estaciones registradas en 2024–2025

WAPE del modelo28,64%
Referencia de 4 semanas31,94%
UNIDAD DE ANÁLISISEstación × día

Se estiman salidas registradas, no demanda sin atender ni disponibilidad de bicicletas.

PRUEBA TEMPORAL24.395

estación-días entre noviembre y diciembre de 2025, después de entrenar hasta octubre.

ERROR ABSOLUTO MEDIO6,906

salidas por estación-día, frente a 7,701 de la referencia de cuatro semanas.

01 / EVALUACIÓN

El promedio oculta un mes difícil.

Comparé el modelo con una regla que cualquiera puede calcular: el promedio de los cuatro mismos días de la semana anteriores para cada estación.

Prueba fuera de entrenamiento

02 / APLICACIÓN

Así pasé de viajes a una estimación para mañana.

Primero normalicé los IDs de estación entre los archivos de 2024 y 2025, quité un viaje repetido y agrupé las salidas por estación y fecha. Completé los días sin viajes solo entre la primera y la última salida observada de cada estación. Con eso definí una fila por estación y día, que es exactamente la unidad que quiero pronosticar.

Para cada día usé calendario, salidas del día anterior y de la semana anterior, promedios de 7 y 28 días y el promedio de los cuatro mismos días de semana previos. Desplacé todas las variables de viajes hacia atrás: al estimar mañana, el modelo solo puede ver lo que ya habría ocurrido hoy.

Un cero en la serie puede significar que no hubo viajes o que la estación estuvo cerrada. Tampoco tengo inventario, clima ni eventos especiales. Por eso llamo al objetivo “salidas observadas”, no demanda total, y probaría más meses y estaciones antes de usar el pronóstico para redistribuir bicicletas.

03 / MÉTODO Y CALIDAD

Dejé visible cómo evalué el modelo.

01 / FUENTE

Conté y limpié viajes

Reuní 3.559.284 filas de 2024 y 3.156.182 de 2025. Un ID de viaje de 2024 estaba repetido; después de deduplicar quedaron 6.715.465 viajes.

02 / VARIABLES

Usé solo el pasado

Construí retardos de 1 y 7 días y medias móviles calculadas después de desplazar la serie. Comparé un HistGradientBoostingRegressor con la referencia de cuatro semanas.

03 / PRUEBA

Respeté el tiempo

Entrené con datos hasta el 31/10/2025 y reservé noviembre y diciembre para prueba. Calculé MAE y WAPE sobre los mismos 24.395 estación-días para ambas alternativas.

04 / PLATAFORMA

Separé ejecución y preparación

La auditoría y el modelo corrieron localmente con DuckDB, pandas y scikit-learn. Preparé un notebook con PySpark, Delta y MLflow, pero todavía no ejecuté ni validé el resultado en Databricks.

Fuente y ejecución

Buenos Aires Data, Bicicletas Públicas, licencia CC BY 2.5 AR. El export a Parquet conserva año, ID de viaje, inicio y estación; excluye datos de usuario. El código y las métricas locales están disponibles para revisar.

Datos oficiales ↗
Descargar código y resultados ↗
HABLEMOS

¿Buscás ciencia de datos con evaluación honesta?

Puedo preparar datos, comparar modelos con referencias y explicar dónde funcionan y dónde todavía fallan.

Contactarme en LinkedIn ↗