DataTur real — llegadas extranjeras por aeropuerto (SECTUR/UPM)
Fecha: 2026-09-14 · Proyecto: ~/nef/estado_turismo/spab-retrieval
Problema
El Monitoreo Hotelero (ocupación) no deja entrar sin sesión. Pero DataTur tiene una página pública sin login con base de datos descargable.
Fuente encontrada
Página: https://datatur.sectur.gob.mx/SitePages/upmresidencia.aspx
Descarga: https://datatur.sectur.gob.mx/Documentoscompartidos/upm/BD_Residencia.zip
(→ BD_Residencia.xlsx, ~19 MB, hoja BDUPM_Res)
Columnas: Año, Fecha, MesNum, Mes, Aeropuerto, Origen, Pais, Región, Sexo, Valor
= llegadas de extranjeros por aeropuerto × país de residencia × sexo, mensual,
desde 2012 hasta el último mes cerrado (hoy 2026-07). NO chocó el límite de
Excel (1,048,574 filas y termina en 2026-07, no truncada).
Cómo se hizo el datatur.csv
Script reproducible: scripts/datatur_desde_upm.py (agrega SUM(Valor) por
aeropuerto-mes, mapea aeropuerto → slug, escribe el CSV del conector).
python3 scripts/datatur_desde_upm.py # descarga el zip y genera
python3 scripts/datatur_desde_upm.py ruta.xlsx # o desde un xlsx localSalida: data/raw/datatur.csv → destino,anio,mes,ocupacion,llegadas
(ocupacion vacía: esta fuente no la trae). Verificado idempotente.
Mapeo aeropuerto → destino (7 de 10):
| Aeropuerto en la base | slug |
|---|---|
| A.I Tulum Felipe Carrillo Puerto, Q. Roo. | tulum |
| Cancún, Q. Roo | cancun |
| Acapulco, Gro. | acapulco |
| Oaxaca, Oax. | oaxaca |
| Puerto Escondido, Oax. | puerto-escondido |
| Puerto Vallarta, Jal. | puerto-vallarta |
| Ciudad de México (AICM) | cdmx |
Sin aeropuerto propio (no mapeados): bacalar (~Chetumal), playa-del-carmen (~Cozumel), san-miguel-de-allende.
Resultado
Corrida: 1,006 obs (llegadas_turistas), 2012–2026. Señal clara:
- Acapulco 3,403 (2012-01) → 756 (2026-07): caída.
- Puerto Vallarta 109,919 → 67,018: caída.
- Oaxaca 1,121 → 6,603 y Puerto Escondido 1 → 1,161: emergentes.
- Tulum arranca 2024-02 (su aeropuerto abrió dic-2023) → 8,215 (2026-07).
Límites honestos
- Es llegada de extranjeros (UPM, por residencia), no llegadas totales ni
ocupación hotelera. Métrica usada:
llegadas_turistas(documentar el sesgo). - La ocupación hotelera sigue pendiente (Monitoreo con sesión) — es la pieza del Burbuja_Index que aún falta.
- Solo 7 destinos tienen aeropuerto mapeable.
Repetir cuando salga el corte nuevo
Correr el script (descarga el zip actualizado) y re-correr
POST /api/retrieve {"fuentes":["datatur"]}. El almacén es append-only y toma
la captura más reciente.