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
| Fuente | Aporta a | Modo | ¿Viva hoy? |
|---|---|---|---|
| Wikipedia Pageviews | ocupación (interés) | http | sí (cero-config) |
| Google Places | preferencias (rating, %caro) + demanda (reviews) | http | sí (key) |
| Inside Airbnb | preferencias (precio, autopoiesis) + ocupación | http | sí (solo CDMX publicada) |
| OpenSky Network | ocupación (llegadas de vuelos) | http | sí (OAuth2; cobertura parcial) |
| DataTur | ocupación (hotelera, llegadas) | file | no — falta CSV |
| AFAC | ocupación (asientos) | file | no — falta CSV |
| SESNSP | preferencias (seguridad) | file | no — falta CSV |
| Sargazo (NOAA) | preferencias (oferta ambiental) | file | no — falta CSV |
| Google Trends | ocupación (interés) | http | no — 429 sin cookie |
Cruce de lo vivo (último periodo por métrica, normalizado a mediana del panel)
| destino | wiki | ~rel | reviews | ~rel | rating | ~rel | %caro | ocup |
|---|---|---|---|---|---|---|---|---|
| acapulco | 4794 | 1.04 | 264,950 | 0.99 | 4.23 | 0.93 | 5.4% | — |
| bacalar | 4593 | 1.00 | 84,345 | 0.32 | 4.53 | 1.00 | 4.0% | — |
| cancun | 7589 | 1.65 | 506,962 | 1.90 | 4.53 | 1.00 | 3.6% | — |
| cdmx | 46,377 | 10.06 | 1,354,216 | 5.08 | 4.62 | 1.02 | 1.7% | 0.181 |
| oaxaca | 3367 | 0.73 | 268,360 | 1.01 | 4.52 | 1.00 | 3.0% | — |
| playa-del-carmen | 3621 | 0.79 | 319,588 | 1.20 | 4.71 | 1.04 | 3.7% | — |
| puerto-escondido | 2359 | 0.51 | 46,180 | 0.17 | 4.47 | 0.99 | 5.6% | — |
| puerto-vallarta | 4626 | 1.00 | 134,511 | 0.50 | 4.45 | 0.98 | 3.8% | — |
| san-miguel-de-allende | 4831 | 1.05 | 99,263 | 0.37 | 4.58 | 1.01 | 2.4% | — |
| tulum | 2326 | 0.50 | 272,456 | 1.02 | 4.70 | 1.04 | 3.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);
%caroalto 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_hotelerareal para los 10 destinos (Airbnb solo cubre CDMX). Sin ella no hay índice. → depositardata/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.