SPAB — Cruce de fuentes vivas contra el plan (ocupación y preferencias)

Fecha: 2026-09-14 · Proyecto: ~/nef/estado_turismo/spab-retrieval Base: RUTA.md §3.2 (Burbuja_Index) y §5.2 (vector de segmentación) + recetario.

Cómo se organiza (las dos dimensiones del plan)

El Burbuja_Index del plan usa precio_rel / (rating_rel × ocupacion_rel) y el vector de segmentación pide: precio relativo, rating, ocupación, estacionalidad, concentración de anfitriones, conectividad aérea y tasa delictiva. Eso se parte en dos familias:

  • OCUPACIÓN / demanda — qué tan lleno está y hacia dónde va el flujo: ocupacion_hotelera, llegadas_turistas, reviews_conteo, vistas_wikipedia, interes_busqueda, asientos_domesticos/totales.
  • PREFERENCIAS / valor — qué recibe el visitante por lo que paga: precio_hospedaje, rating, menciones_caro, anfitriones_multi.

Estado de cada fuente frente a esas dos dimensiones

FuenteAporta aModo¿Viva hoy?
Wikipedia Pageviewsocupación (interés)httpsí (cero-config)
Google Placespreferencias (rating, %caro) + demanda (reviews)httpsí (key)
Inside Airbnbpreferencias (precio, autopoiesis) + ocupaciónhttpsí (solo CDMX publicada)
OpenSky Networkocupación (llegadas de vuelos)httpsí (OAuth2; cobertura parcial)
DataTurocupación (hotelera, llegadas)fileno — falta CSV
AFACocupación (asientos)fileno — falta CSV
SESNSPpreferencias (seguridad)fileno — falta CSV
Sargazo (NOAA)preferencias (oferta ambiental)fileno — falta CSV
Google Trendsocupación (interés)httpno — 429 sin cookie

Cruce de lo vivo (último periodo por métrica, normalizado a mediana del panel)

destinowiki~relreviews~relrating~rel%caroocup
acapulco47941.04264,9500.994.230.935.4%—
bacalar45931.0084,3450.324.531.004.0%—
cancun75891.65506,9621.904.531.003.6%—
cdmx46,37710.061,354,2165.084.621.021.7%0.181
oaxaca33670.73268,3601.014.521.003.0%—
playa-del-carmen36210.79319,5881.204.711.043.7%—
puerto-escondido23590.5146,1800.174.470.995.6%—
puerto-vallarta46261.00134,5110.504.450.983.8%—
san-miguel-de-allende48311.0599,2630.374.581.012.4%—
tulum23260.50272,4561.024.701.043.3%—

Mediana del panel: wiki 4609.5 · reviews 266,655 · rating 4.5275 · %caro 3.66%.

Lectura

  • Tulum es el caso del plan: interés de Wikipedia la mitad de la mediana (0.50) pero stock de reseñas ~1.0 → demanda cayendo sobre inventario alto. Es la firma del colapso que RUTA.md usa como prueba retrospectiva.
  • Bacalar emerge: wiki en la mediana (1.00), reseñas bajas (0.32) → interés desproporcionado a su volumen histórico. Es el candidato a recibir campaña.
  • Cancún sostiene demanda alta (1.65 / 1.90).
  • Preferencias estrechas: ratings 4.23–4.71 (poca varianza); %caro alto en Puerto Escondido (5.6%) y Acapulco (5.4%), bajo en CDMX (1.7%) → ahí vive la tensión precio-valor del índice.
  • CDMX es el único con las tres piezas del índice (precio 1753, rating 4.62, ocupación 0.181 vía Airbnb). Con un solo destino con precio+ocupación, las medianas del panel son ese destino → el Burbuja_Index todavía no es calculable (necesita el panel completo).

Qué falta para cubrir TODAS las que apuntan a ocupación y preferencias

  • DataTur es la pieza crítica: es la única que da ocupacion_hotelera real para los 10 destinos (Airbnb solo cubre CDMX). Sin ella no hay índice. → depositar data/raw/datatur.csv (destino, anio, mes, ocupacion, llegadas).
  • AFAC (data/raw/aero.csv) para conectividad aérea.
  • SESNSP (data/raw/sesnsp*.csv) para seguridad (oferta).
  • Sargazo (data/raw/sargazo-*.csv) para oferta ambiental.
  • Trends: gateado por GOOGLE_TRENDS_COOKIE (Google 429).

OpenSky Network (fuente nueva, 2026-09-14)

Conector opensky (OAuth2 client_credentials, OPENSKY_CLIENT_ID/SECRET). Trae llegadas_vuelo por aeropuerto. Gotchas verificado:

  • La API solo permite 2 particiones (días) por consulta, no 7. Ventana: ayer 00:00 UTC → ahora.
  • Cobertura ADS-B parcial en México: devuelve datos de hubs (MMMX 343, MMUN 56) pero 404 para MMTU, MMPS, MMAA, MMPR aunque operen → tratados como “sin datos”, no como 0.
  • Incluso en aeropuertos con datos el conteo es cota inferior: MMOX dio 2 llegadas en 31 h, muy por debajo de su operación real → cobertura parcial.
  • Por eso no sustituye a AFAC (que sí es oficial y completo); es una nowcast complementaria para los hubs grandes. Corrida: 3 obs (cdmx 343, cancun 56, oaxaca 2). ICAO por destino en claves.aero_icao; sin aeropuerto propio: bacalar, playa-del-carmen, san-miguel-de-allende.

Bug corregido en esta sesión (Inside Airbnb)

La URL real lleva región y una fecha de snapshot: data.insideairbnb.com/mexico/**df**/mexico-city/**2026-06-15**/visualisations/listings.csv. El conector omitía la región y usaba "{periodo}-01" → 403 → 0 filas → “sin ciudad” para todos, en silencio. Ahora descubrir() lee el índice público y toma el snapshot más reciente. claves.insideairbnb pasa a ser region/ciudad (CDMX = df/mexico-city). Corrida: 3 obs de CDMX, nota clara del resto.