Visualización interactiva de datos operativos, financieros y de mercado para una aerolínea comercial.
Este proyecto representa la evolución del análisis de datos para DevFlights Airways. Se ha migrado de reportes estáticos a una Aplicación Web Interactiva que permite a los directivos explorar métricas clave (KPIs) en tiempo real.
La solución se construye sobre un Data Warehouse con Esquema Estrella, procesando grandes volúmenes de transacciones de vuelos, reservas y flota para ofrecer insights sobre rentabilidad, eficiencia operativa y comportamiento del cliente.
- Centralizar la información: Unificar datos de ventas, rutas y aviones.
- Democratizar el acceso: Permitir a usuarios no técnicos filtrar y explorar datos.
- Responder preguntas de negocio: Identificar rutas rentables, estacionalidad y perfiles de clientes.
El proyecto sigue una arquitectura desacoplada y modular:
- Base de Datos (Data Warehouse): PostgreSQL. Los datos transaccionales fueron transformados a un modelo dimensional (Fact Tables y Dimensions) en un esquema
analytics. - Backend: Python + SQLAlchemy para la conexión segura y Pandas para la manipulación vectorial de datos.
- Frontend: Streamlit + Plotly para la renderización de gráficos interactivos y mapas geoespaciales.
- Gestión de Dependencias: Utilización de
uvpara un entorno virtual rápido y reproducible.
devflights_analytics/
├── .streamlit/ # Configuración del tema (Branding DevFlights) y Secretos
├── assets/ # Recursos estáticos (Logos, imágenes)
├── src/
│ ├── database.py # Gestión de conexión a DB (Engine & Caching)
│ └── queries.py # Consultas SQL optimizadas (Business Logic)
├── app.py # Orquestador de la UI (Frontend)
├── pyproject.toml # Definición de dependencias (uv)
└── README.md # DocumentaciónEl Dashboard está organizado en 5 pestañas estratégicas que responden a las necesidades del negocio:
- Visualización de la red de conectividad global.
- Feature: Mapa interactivo con proyección equirectangular.
- Funcionalidad: Filtro de densidad para visualizar desde las top 50 hasta 2000 rutas simultáneas.
- Análisis financiero de las operaciones.
- Rutas Estrella (Scatter Plot): Correlación entre Volumen de Tickets vs. Ingresos Totales. Permite identificar rutas de alto valor ("Cash Cows") vs rutas de alto volumen.
- Share de Mercado: Composición de ingresos por Clase (Economía/Ejecutiva) o Categoría de Avión.
- Evaluación del rendimiento de los activos.
- KPI: Factor de ocupación y generación de ingresos por modelo de avión.
- Insight: Comparativa entre fabricantes (Boeing vs Airbus vs Embraer) para detectar subutilización de aeronaves grandes.
- Perfilado del pasajero.
- Histograma de Anticipación: Análisis de días de antelación de compra (Lead Time), segmentado por clase. Revela patrones de compra corporativos vs turísticos.
- Demografía: Segmentación por rango etario y nacionalidad.
- Análisis de series de tiempo.
- Evolución de Ventas: Gráfico de área con agrupación dinámica (Diaria/Mensual/Trimestral) para detectar estacionalidad y picos de demanda.
Este proyecto utiliza uv para una gestión de dependencias ultrarrápida.
- Python 3.10 o superior.
- PostgreSQL (Local o en la nube) con el esquema
analyticscargado. - uv instalado.
git clone https://github.com/tu-usuario/devflights-analytics.git
cd devflights-analyticsCrea un archivo .streamlit/secrets.toml con las credenciales de base de datos:
[postgres]
host = "localhost"
port = "5432"
dbname = "devflights_airways"
user = "tu_usuario"
password = "tu_password"uv sync
uv run streamlit run app.py- Lenguaje: Python
- Frontend: Streamlit
- Visualización: Plotly Express & Graph Objects
- Data Manipulation: Pandas
- Database ORM: SQLAlchemy
- Package Manager: uv
Desarrollado como proyecto final de Data Analytics de DevFlights.
DevFlights Airways © 2025