Contexto
Hallazgo durante la implementación de #40: el Portal de Datos Abiertos de la CDMX publica afluencia por estación para el STC Metro — 16 años de datos diarios (enero 2010 - abril 2026, 56 MB CSV).
De todos los sistemas de transporte, solo el Metro tiene granularidad por estación en datos abiertos. Los demás sistemas (Metrobús, Trolebús, Cablebús, Tren Ligero) solo publican por línea.
Valor
Para VFT
- El Node Score usa
âᵢ (demanda observada por estación). Hoy VFT tiene que prorratear la afluencia de la línea entre estaciones con un modelo estimado
- Con estos datos, VFT tendría la demanda real observada por estación del Metro — sin estimación
- Metro = 49% de la afluencia total del sistema, así que esto cubre el sistema más importante
Para Apimetro
- Primer dataset de serie temporal larga (16 años) del esquema plutarco
- Habilita un nuevo endpoint:
GET /movilidad/analitico/afluencia-estacion
- ~37,000 registros (agregado mensual) o ~1.1M (diario) — manejable para PostgreSQL
Fuente
Dataset: Afluencia Diaria del Metro (Simple)
URL: https://datos.cdmx.gob.mx/dataset/afluencia-diaria-del-metro-cdmx
Publicador: STC Metro / SEMOVI
Licencia: CC BY 4.0
Actualización: Mensual
Columnas: fecha, linea, estacion, afluencia (por confirmar con diccionario de datos)
También existe versión Desglosada con tipo de pago (tarjeta, boleto, gratuidad).
Implementación propuesta
DDL
CREATE TABLE IF NOT EXISTS plutarco.afluencia_estacion (
id SERIAL PRIMARY KEY,
estacion_id INTEGER REFERENCES public.estacions(id),
linea_id INTEGER REFERENCES public.lineas(id),
anio SMALLINT NOT NULL,
mes_num SMALLINT NOT NULL,
mes VARCHAR(20),
afluencia BIGINT NOT NULL,
fuente TEXT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
UNIQUE(estacion_id, anio, mes_num)
);
Archivos a crear
ETL/DataCharge/LoadAfluenciaEstacion.py — ETL (descarga CSV, agrega a mensual, mapea estación)
db/migrations/v3.0_afluencia_estacion.sql — DDL + índices
cmd/pkg/controller/geojson/AfluenciaEstacionController.go — query
cmd/pkg/routes/RoutesAfluenciaEstacion.go — handler + Swagger
cmd/pkg/routes/Routes.go — wire en grupo analítico
Endpoint
GET /movilidad/analitico/afluencia-estacion
Filtros: linea_id, estacion_id, anio, mes_num
Dependencias
- 195 estaciones de Metro en
public.estacions
- Catálogo de homologación de nombres de estación (CSV usa nombres que pueden diferir de
public.estacions.nombre)
Estimación de volumen
- ~195 estaciones × 16 años × 12 meses = ~37,440 registros (mensual)
- ~195 estaciones × 16 años × 365 días = ~1,138,800 registros (diario)
Recomendación: almacenar a nivel mensual (consistente con afluencia_linea) con opción de agregar tabla diaria después si se requiere.
Contexto
Hallazgo durante la implementación de #40: el Portal de Datos Abiertos de la CDMX publica afluencia por estación para el STC Metro — 16 años de datos diarios (enero 2010 - abril 2026, 56 MB CSV).
De todos los sistemas de transporte, solo el Metro tiene granularidad por estación en datos abiertos. Los demás sistemas (Metrobús, Trolebús, Cablebús, Tren Ligero) solo publican por línea.
Valor
Para VFT
âᵢ(demanda observada por estación). Hoy VFT tiene que prorratear la afluencia de la línea entre estaciones con un modelo estimadoPara Apimetro
GET /movilidad/analitico/afluencia-estacionFuente
Dataset: Afluencia Diaria del Metro (Simple)
URL: https://datos.cdmx.gob.mx/dataset/afluencia-diaria-del-metro-cdmx
Publicador: STC Metro / SEMOVI
Licencia: CC BY 4.0
Actualización: Mensual
Columnas:
fecha,linea,estacion,afluencia(por confirmar con diccionario de datos)También existe versión Desglosada con tipo de pago (tarjeta, boleto, gratuidad).
Implementación propuesta
DDL
Archivos a crear
ETL/DataCharge/LoadAfluenciaEstacion.py— ETL (descarga CSV, agrega a mensual, mapea estación)db/migrations/v3.0_afluencia_estacion.sql— DDL + índicescmd/pkg/controller/geojson/AfluenciaEstacionController.go— querycmd/pkg/routes/RoutesAfluenciaEstacion.go— handler + Swaggercmd/pkg/routes/Routes.go— wire en grupo analíticoEndpoint
Filtros:
linea_id,estacion_id,anio,mes_numDependencias
public.estacionspublic.estacions.nombre)Estimación de volumen
Recomendación: almacenar a nivel mensual (consistente con
afluencia_linea) con opción de agregar tabla diaria después si se requiere.