Panel SPAB — dashboard Power BI-style (Streamlit)

Fecha: 2026-09-17

Qué es

~/nef/estado_turismo/spab-retrieval/panel.py — dashboard interactivo (Streamlit + Plotly) que consolida todas las bases hasta ahora. Venv dedicado: .venv-panel (Python 3.12, streamlit 1.64, plotly, pandas).

Correr: .venv-panel/bin/streamlit run panel.py → http://localhost:8501

Pestañas

  1. Burbuja_Index — ranking por destino, color por corte (estable/inflación/tensión/crítico) + tabla detalle.
  2. Ocupación — serie mensual DataTur + mapa de calor ocupación por mes.
  3. Precio & Valor — scatter precio vs rating + % menciones “caro”.
  4. Demanda — vistas Wikipedia + llegadas extranjeras.
  5. Estacionalidad — clusters k=3 + perfiles estacionales por mes.
  6. Cobertura — matriz destino × métrica (rojo = hueco).

Hallazgo honesto (importante)

Con datos REALES, el Burbuja_Index NO muestra a Tulum/Cancún saturados (como el panel sintético: Tulum 6.05 crítico). El ranking real (mediana del panel, cortes no calibrados):

destinoíndicecorte
acapulco1.565tensión
puerto-escondido1.534tensión
san-miguel-de-allende1.517tensión
playa-del-carmen1.163inflación
puerto-vallarta1.068estable
tulum1.013estable
cancun1.007estable
oaxaca0.927estable
cdmx0.666estable
  • Tulum/Cancún salen ~1.0 (estables). El índice mide tensión precio-valor, no saturación física; la saturación vive en otras variables (sargazo, seguridad).
  • Bug corregido: CDMX salía “crítico” por mezclar ocupación DataTur (0.577) con Inside Airbnb (0.18 STR) — discrepancias de fuente que el RUTA manda NO promediar. El índice usa ocupación canónica DataTur.
  • Bacalar fuera del índice (sin ocupación) → se mide por demanda.

Pendiente

  • Cortes sin calibrar contra colapsos observados (mismo caveat de siempre).
  • Agregar SESNSP (seguridad) cuando se descargue el CSV.