Proyecto: Data Product orientado a la sostenibilidad y rentabilidad para Uber en la ciudad de New York.
Transformar el negocio de Uber en un referente de sostenibilidad y rentabilidad a largo plazo mediante la optimización operativa, la inversión en tecnología sustentable y la mejora de la imagen corporativa, para atraer tanto a clientes conscientes del medio ambiente como a inversores interesados en sostenibilidad.
Empresa de Ride-Hailing, 'Uber', que conecta pasajeros con conductores de vehículos de alquiler a través de aplicaciones móviles y sitios web.
Uber busca herramientas para mejorar su imagen corporativa, incrementar la rentabilidad y maximizar la eficiencia operativa, con el objetivo de alinear su negocio hacia un enfoque más sustentable y atractivo para los inversores.
Proponemos un MVP centrado en analizar y procesar datos proporcionados por Uber y organismos gubernamentales, ofreciendo soluciones que permitan la toma de decisiones estratégicas basadas en sostenibilidad y rentabilidad.
Ciudad de Nueva York, EEUU.
El mercado está en plena transición hacia modelos sostenibles. Las empresas que adoptan prácticas sostenibles no solo mejoran su imagen pública, sino que también aseguran su rentabilidad a largo plazo al alinearse con normativas futuras. Este proyecto posicionará a Uber como líder en sostenibilidad en el sector Ride-Hailing, atrayendo a clientes conscientes del medio ambiente y ofreciendo nuevas oportunidades de negocio e incentivos fiscales.
- KPI: Reducción de CO2 y mejora de la calidad del aire.
- Medir: Comparar las emisiones de CO2 de la flota actual con una nueva flota de vehículos híbridos y eléctricos. También se medirá la calidad del aire en áreas con alta concentración de operaciones.
- Impacto: Posicionamiento como líder en sostenibilidad, atracción de un segmento de mercado más consciente del medio ambiente, y mejora de la percepción pública.
- KPI: Costos y beneficios por vehículo eléctrico en relación a la distancia recorrida.
- Medir: Comparar los costos operativos y beneficios de los vehículos eléctricos frente a los de combustión interna.
- Impacto: Reducción de costos operativos, acceso a incentivos fiscales, y mejora en la rentabilidad a largo plazo.
-
KPI 3a: Ingresos por milla recorrida.
- Medir: (Total_amount - Tolls_amount - Congestion_Surcharge - Airport_fee) / Trip_distance.
- Impacto: Optimización de rutas, asignación de vehículos y tarifas para maximizar ingresos.
-
KPI 3b: Tasa de utilización de vehículos.
- Medir: Total de viajes / Número total de horas disponibles.
- Impacto: Incremento de la rentabilidad al mejorar la utilización de la flota.
-
KPI 3c: Promedio de pasajeros por viaje.
- Medir: Promedio(Passenger_count) por zona, tipo de servicio y hora del día.
- Impacto: Fomento del uso compartido de vehículos para incrementar la rentabilidad y reducir la cantidad de vehículos necesarios.
Implementar estos KPIs proporcionará una visión clara del desempeño de Uber en términos de sostenibilidad y rentabilidad. Basándose en estos análisis, se podrán tomar decisiones estratégicas como expandir la flota de vehículos eléctricos, optimizar rutas para reducir emisiones y costos, y rediseñar campañas de marketing centradas en el compromiso ambiental.
Este proyecto ayudará a Uber no solo a cumplir con sus objetivos de sostenibilidad, sino también a mejorar su imagen pública y garantizar su rentabilidad a largo plazo, consolidándose como un líder en innovación dentro del sector de Ride-Hailing.
Herramientas y Tecnologías:
-
Lenguaje de Programación: Python
- Descripción: Lenguaje versátil y ampliamente utilizado en ciencia de datos y machine learning.
-
Bibliotecas de Python:
- Pandas: Para la manipulación y limpieza de datos provenientes de archivos CSV o Parquet.
- PyArrow: Para leer y escribir archivos Parquet de manera eficiente.
-
Data Lake: MinIO
- Descripción: MinIO es un sistema de almacenamiento de objetos. Se utiliza para almacenar datos en bruto y transformados, facilitando su acceso durante las etapas de ETL.
-
Gestión de Entornos:
- Visual Studio Code: Facilita la gestión de paquetes y entornos virtuales, asegurando que todas las dependencias estén correctamente instaladas.
Justificación:
- Python, junto con Pandas y PyArrow, proporciona una solución robusta y flexible para la ingesta y transformación de datos, permitiendo manejar diferentes formatos de archivo de manera eficiente.
- MinIO actúa como un Data Lake, proporcionando almacenamiento centralizado y escalable para grandes volúmenes de datos en diferentes formatos, facilitando el acceso rápido y eficiente para las siguientes fases del pipeline.
-
Sistema de Gestión de Bases de Datos: MySQL
- Descripción: Base de datos relacional ampliamente utilizada, adecuada para almacenar datos transformados y modelos entrenados.
-
Interfaz de Administración: phpMyAdmin
- Descripción: Herramienta web para gestionar MySQL de manera visual y sencilla, facilitando la administración y consulta de la base de datos.
-
Conexión y ORM: SQLAlchemy
- Descripción: Biblioteca de Python para interactuar con bases de datos SQL de manera eficiente y segura.
MySQL es una opción sólida para almacenar datos estructurados, y phpMyAdmin ofrece una interfaz amigable para la administración. SQLAlchemy simplifica las interacciones entre Python y la base de datos, permitiendo una integración fluida en el pipeline.
-
Bibliotecas de Machine Learning:
- Scikit-learn: Ideal para modelos de machine learning básicos y medianamente complejos, como regresión y clasificación.
-
Serialización de Modelos:
- Pickle: Para guardar y cargar modelos entrenados de manera sencilla.
-
Entorno de Desarrollo:
- Jupyter Notebook: Para desarrollar, entrenar y documentar modelos de manera interactiva.
Scikit-learn es perfecto para comenzar con machine learning gracias a su simplicidad y eficacia. Jupyter Notebook facilita la experimentación y documentación del proceso de entrenamiento.
-
Visualización de Datos:
- Matplotlib y Seaborn: Para crear gráficos estáticos y visualizaciones detalladas.
- Plotly (opcional): Para visualizaciones interactivas si se requiere mayor dinamismo en los dashboards.
-
Generación de Informes:
- Jupyter Notebook: Para crear informes interactivos que combinan código, visualizaciones y texto descriptivo.
- ReportLab (opcional): Para generar informes en formato PDF si se necesita distribuir documentos estáticos.
-
Desarrollo de Dashboards Interactivos:
- Streamlit o Dash: Frameworks de Python para crear aplicaciones web interactivas y dashboards de manera rápida y sencilla.
Matplotlib y Seaborn ofrecen una base sólida para la visualización de datos, mientras que herramientas como Streamlit permiten transformar estos gráficos en dashboards interactivos. Jupyter Notebook combina análisis y visualización en un solo entorno, facilitando la creación de informes comprensibles y detallados.
-
Servidor Local:
- Descripción: Un servidor donde se alojarán MySQL y phpMyAdmin, accesible desde internet para permitir conexiones remotas.
-
Seguridad de la Base de Datos:
- Configuración de MySQL para Acceso Remoto: Asegurar que MySQL esté configurado para aceptar conexiones remotas de manera segura.
- Autenticación y Autorización: Gestionar permisos de usuarios para controlar el acceso a diferentes partes de la base de datos.
- Uso de SSH o VPN: Para cifrar las conexiones y proteger los datos en tránsito.
-
Orquestador:
- Apache Airflow: Para gestionar y orquestar los flujos de trabajo de ETL y entrenamiento de modelos.
Garantizar la seguridad es crucial cuando se permite el acceso remoto a la base de datos. Configurar MySQL correctamente y utilizar métodos de cifrado como SSH o VPN protege los datos y asegura que solo usuarios autorizados puedan acceder al sistema. Apache Airflow facilita la automatización y programación de tareas complejas en el flujo de trabajo.
Fase | Herramientas y Tecnologías |
---|---|
1. Ingesta de Datos y ETL | Python, Pandas, PyArrow, MinIO |
2. Ingreso en la Base de Datos | MySQL, phpMyAdmin, SQLAlchemy |
3. Entrenamiento de Machine Learning | Scikit-learn, Pickle, Jupyter Notebook |
4. Creación de Dashboards e Informes | Matplotlib, Seaborn, Plotly, Jupyter Notebook, Streamlit/Dash |
5. Orquestador | Apache Airflow |
Infraestructura y Seguridad | Servidor Local, Configuración de MySQL para Acceso Remoto, SSH/VPN |
-
Ingesta de Datos y ETL
- MinIO → Python → Pandas/PyArrow → Transformaciones → Python
-
Ingreso en la Base de Datos
- Python/SQLAlchemy → MySQL → phpMyAdmin
-
Entrenamiento de ML
- MySQL → Python/Scikit-learn → Modelo Entrenado → MySQL
-
Creación de Dashboards e Informes
- MySQL → Python/Matplotlib/Seaborn → Jupyter Notebook/Streamlit → Dashboards/Informes
-
Orquestación
- Apache Airflow → Ingesta de Datos y ETL → Entrenamiento de ML → Creación de Dashboards e Informes