Game-Changers-PF / Proyecto-Final

0 stars 0 forks source link

banner GameChangers2

Análisis de Datos de la NBA 🏀

Bienvenido a nuestro proyecto de análisis de datos centrado en la NBA. Este estudio ha sido diseñado para proporcionar información detallada sobre la dinámica de los traspasos en la liga, utilizando una base de datos robusta que ofrece insights valiosos para los actores involucrados en el mercado de traspasdos tales como: entrenadores, directores deportivos y ojeadores

Contexto del Proyecto 🎯

En la NBA, el baloncesto es cada vez más un juego de estrategia y táctica 🏀. Este análisis está dirigido a entrenadores, directores deportivos y ojeadores que buscan transformar su enfoque en la construcción y refuerzo de equipos mediante datos para tomar decisiones informadas y efectivas. Nuestra misión es proporcionar datos estructurados y precisos que faciliten la toma de decisiones clave en la contratación de jugadores. Con nuestra ayuda, podrán mejorar significativamente el rendimiento de sus equipos y optimizar sus finanzas 💰, transformando cada decisión en una ventaja competitiva.

Nuestro Objetivo del Proyecto 🎯

<p style="text-align: justify;">

Nuestro objetivo es ofrecer una visión revolucionaria sobre cómo los traspasos pueden transformar la competitividad y el éxito de los equipos en la NBA. Imagina poder descifrar el impacto de cada transacción estratégica con datos de rendimiento de jugadores y equipos desde 2015 hasta 2022 📊. Con nuestro análisis, descubrirás cómo cada movimiento puede ser la clave para alcanzar el campeonato, optimizando cada decisión y maximizando el rendimiento de tu equipo. Prepárate para tener a tu disposición insights que te pondrán un paso adelante en el juego 🏀🚀.

Rendimientos de Nuestra Propuesta 📈

Descubre insights imprescindibles y métricas clave que desvelan los secretos detrás del éxito o fracaso de cada traspaso. Nuestro dashboard móvil te ofrece acceso instantáneo a información vital, permitiéndote tomar decisiones con una precisión y eficiencia sin igual 📱. Imagina tener el poder de convertir cada transacción en una jugada maestra y llevar a tu equipo al siguiente nivel. ¡No solo toma decisiones, toma las mejores decisiones con nuestra herramienta a la vanguardia de la tecnología deportiva! 🚀🏀

Dashboard en Versión Móvil 📊📱

Para cumplir con la premisa de "data a la mano", hemos desarrollado un dashboard en versión móvil utilizando Power BI, facilitando el acceso a la información desde cualquier lugar 🌐.

Fuente de Datos 📚

<p style="text-align: justify;">
    Los datos empleados en este análisis fueron extraídos de <a href="https://www.kaggle.com/datasets/wyattowalsh/basketball" target="_blank">Kaggle</a> 📊.
</p>

Actividades Realizadas:

El proceso de desarrollo que seguimos, basado en la propuesta inicial, está reflejado en nuestro diagrama de Gantt 📅, el cual puedes consultar en la sección "Project" ubicada en la barra de este repositorio.

Nuestros Avances Fueron:

  1. Exploración de Datos 🔍:

    En esta fase, analizamos los componentes de nuestras tablas 📊, identificando los ítems disponibles y los que necesitábamos para avanzar en el cumplimiento de nuestros objetivos.

  2. Creación de Repositorio Público 🌐:

    Administramos y compartimos nuestra información mediante un repositorio público 💾, facilitando el acceso y la colaboración en nuestro proceso de trabajo. Además, nos ayudó a organizar y seguir un paso a paso detallado y a realizar el seguimiento de las tareas necesarias.

  3. EDA (Análisis Exploratorio de Datos) 📈:

    Este proceso implicó la limpieza de datos 🧹, asegurando la calidad del análisis. Filtramos cuidadosamente los datos necesarios para obtener insights cruciales e importantes para el desarrollo de los objetivos planteados, garantizando así que proporcionáramos datos de alta calidad al cliente.

  4. Creación de Base de Datos en SQL Server 💻:

    Desarrollamos la base de datos utilizando SQL Server Management Studio, verificando el acceso de los integrantes 🔒, la compatibilidad de los datos obtenidos y realizando diagramas de entidad-relación basados en nuestro filtrado de datos. Esto nos permitió avanzar en el proceso y agregar información complementaria, así como crear las consultas necesarias para el análisis descriptivo de equipos, jugadores y la liga.

    esquema actualizado blanco
  5. Método de Automatización e Ingesta de Datos 🤖:

    Implementamos un método de automatización para la ingesta de datos, lo que permite el acceso a un servidor y asegura la actualización continua de los datos 📈🔄. Esta automatización garantiza que nuestro proceso de análisis se mantenga actualizado y eficiente, facilitando la gestión y el análisis de datos en tiempo real.

Documentación 📊📱

Sprint 1

  1. Creación del repositorio público y compartirlo con el equipo 🌐

    Para facilitar la colaboración y el seguimiento del proyecto, se creó un repositorio público en GitHub y se compartió con el equipo. El repositorio se titula Game-Changers-PF/Proyecto-Final, el cual se configuró como público para asegurar que todos los miembros del equipo tengan acceso completo. Se envió invitación a través de GitHub y una vez aceptada ya se tenía acceso al repositorio. El repositorio está disponible públicamente en GitHub en el siguiente enlace: https://github.com/Game-Changers-PF/Proyecto-Final

  2. Identificar los archivos a usar y armar la estructura de carpetas a usar en el repositorio 📂

    Para organizar eficientemente los archivos y recursos del proyecto, hemos definido una estructura de carpetas y hemos identificado los archivos principales a utilizar:

    • README.md: Este archivo contiene la descripción principal del proyecto, incluyendo su propósito, instrucciones de instalación, y otros detalles relevantes.
    • .Vscode/: Esta carpeta contiene configuraciones específicas de Visual Studio Code, como ajustes de configuración y extensiones utilizadas para el desarrollo del proyecto.
    • Machine Learning/: Carpeta que contiene archivos relacionados con el desarrollo de modelos de aprendizaje automático, como scripts de entrenamiento, evaluación de modelos, y otros recursos asociados.
    • MachineLearningModel.ipynb: Archivo Jupyter Notebook que contiene código para actualizar o mejorar el modelo de aprendizaje automático existente.
    • Csv_filtrados/: Almacena los archivos CSV filtrados específicamente para el análisis de datos.
    • Csv_originales/: Contiene los archivos CSV originales sin procesar, utilizados como datos de entrada para el proyecto.
    • Diseños/: Contiene el logo del proyecto.
    • Limpieza/: Contiene scripts y archivos relacionados con la limpieza de datos, incluyendo procesos ETL (Extract, Transform, Load).
    • Myenv/: Contiene el entorno virtual myenv utilizado para gestionar las dependencias y el ambiente de desarrollo específico del proyecto.
    • Conexion_API_y_consulta.ipynb: Archivo Jupyter Notebook que contiene código para la conexión a una API externa y la consulta de datos, lo cual nos aportó un valor agregado al archivo brindado por Henry.
    • Matriz correlacion.png: Imagen que muestra una matriz de correlación utilizada para visualizar las relaciones entre variables en el análisis de datos.
  3. Creación base de datos SQL Management Studio 🗃️

    Creamos la base de datos en SQL y para asegurarnos de que todo el equipo pueda conectarse a la misma configuramos las credenciales de cada miembro para acceder al servidor SQL. Esto implica proporcionar nombres de usuario y contraseñas adecuadas.

  4. Entidades/tablas que se usaron en la BD 📊

    Se generó el modelo relacional con todas las tablas y sus relaciones.

  5. Crear las tablas y objetos SQL necesarios 🛠️

    Creámos las estructuras de datos necesarias para almacenar información sobre equipos, jugadores y partidos relacionados con la NBA.

  6. Flujo de importación de los datos a la base de datos 🔄

    Los datos que importamos provienen de fuentes diversas, como archivos CSV descargados de sitios oficiales de la NBA, servicios web que proporcionan actualizaciones en tiempo real de estadísticas de jugadores y partidos, o incluso ingreso manual de datos. Utilizamos scripts y herramientas para extraer los datos del origen y se realizaron transformaciones básicas para limpiar o estructurar los datos antes de cargarlos en la base.

  7. Validación de acceso a la base de datos 🔑

    Nos aseguramos de que todos los miembros del equipo puedan acceder correctamente a la base de datos de la NBA para realizar sus análisis y consultas. Definimos qué usuarios específicos tienen acceso a la base de datos y qué tipo de permisos tienen (lectura, escritura, administración, etc.). Se configuró el firewall y las reglas de red para que solo las personas autorizadas puedan acceder de manera segura y protegida a la información almacenada en esa base de datos.

  8. Creación método de automatización de ingesta de datos nuevos ⚙️

    Se importan las librerías necesarias para trabajar con archivos CSV, bases de datos SQL Server, AWS S3, y para cargar variables de entorno desde un archivo .env usando dotenv. Conectamos con la base de datos SQL Server (connect_to_database() usando las credenciales y detalles de conexión del archivo .env. y utilizamos pyodbc para la conexión ODBC. Leemos el archivo CSV almacenado en un bucket de Amazon S3 especificado (read_csv_from_s3(bucket_name, key) y con boto3 interactuamos con S3 y pandas para leer el archivo CSV en un DataFrame. Insertamos los datos del DataFrame en la tabla especificada en la base de datos. Construimos y ejecutamos una consulta SQL de inserción para cada fila del DataFrame y automatizamos el proceso completo de carga de datos, primero leemos el archivo CSV desde S3 (read_csv_from_s3), luego insertamos los datos en la base de datos (insert_data_to_database), se devuelve un diccionario con un estado de código y un mensaje indicando si la operación fue exitosa o si ocurrió algún error. Definimos los parámetros (bucket_name, key, table_name) necesarios para la carga de datos dentro de un bloque que se ejecutará solo cuando se ejecuta el archivo. Llamamos a la función principal y mostramos la respuesta que indica si la operación fue exitosa o si hubo algún error.

Sprint 2

  1. Creación del archivo .pbix en Power BI 📈

    Creamos un archivo .pbix en Power BI como nuestro centro de análisis para datos estadísticos detallados de jugadores en la NBA.

  2. Importación e integración de datos 🔄

    Importamos datos detallados de juegos, rendimiento de jugadores, estadísticas de equipos, porcentajes de tiros, rebotes y otras métricas clave desde fuentes confiables como una API de la NBA que se consiguió, bases de datos y CSV de juegos y salarios.

  3. Limpieza y preparación de datos 🧹

    Aplicamos procesos de limpieza y transformación para asegurar que los datos estén consistentes y libres de errores. Esto incluye la corrección de formatos, la eliminación de datos duplicados y la estandarización de nombres y categorías para facilitar el análisis.

  4. Creación de medidas/columnas/relaciones 📏

    Se crearon medidas y cálculos que permiten evaluar el rendimiento de los jugadores en diferentes aspectos del juego, como puntos anotados por partido, porcentaje de tiros de campo, efectividad en tiros de tres puntos, promedio de rebotes por juego, asistencias, robos de balón, y bloqueos, entre otros.

  5. Diseño de reportes y gráficos a usar 📊

    Diseñamos reportes interactivos y visualizaciones gráficas que muestran de manera clara y comprensible las estadísticas y el rendimiento de los jugadores. Estas visualizaciones incluyen gráficos de barras, gráficos de líneas, araña, tarjetas y tablas dinámicas que permiten a los usuarios explorar los datos desde diferentes perspectivas.

  6. Análisis general del tablero 📋

    Creamos paneles de control personalizados en Power BI que permiten a gerentes, técnicos y otros interesados en la compra de jugadores acceder fácilmente a las estadísticas clave y a un ranking de los 10 mejores jugadores. Estos paneles pueden incluir resúmenes de salarios, comparativas entre jugadores, análisis histórico de desempeño y recomendaciones basadas en datos.

  7. Pruebas de calidad del reporte ✅

    Realizamos pruebas exhaustivas para validar la precisión de los datos y la funcionalidad de los reportes. Aseguramos que todas las métricas calculadas sean precisas y reflejen correctamente el desempeño real de los jugadores.

  8. Entrega y soporte continuo 📦

    Entregamos el archivo .pbix finalizado junto con documentación detallada sobre su uso y mantenimiento. Proporcionamos soporte continuo para responder preguntas y realizar ajustes según las necesidades específicas de los usuarios.

  9. Vistas del tablero 🖥️

    Creamos vistas específicas dentro de nuestros paneles en Power BI que permiten a gerentes, técnicos y otros interesados explorar los datos a nivel de equipo, jugador, partido y temporada. Esto incluye vistas filtrables y segmentables que facilitan la exploración y análisis de los datos desde diferentes perspectivas. 🔍📈

  10. Automatización y programación de actualizaciones ⏰🔄

    Implementamos procesos de actualización automática de los datos para garantizar que el dashboard esté siempre actualizado con la información más reciente. Configuramos actualizaciones programadas que sincronizan los datos en tiempo real. 🔄📅

Dashboard en Versión Móvil 📊📱

Hemos creado un dashboard móvil que te permite ver estadísticas detalladas de jugadores de la NBA desde tu teléfono o tableta. Este dashboard te proporciona toda la información que necesitas sobre el rendimiento de los jugadores, estés donde estés. 🌟📊

Decidimos qué estadísticas eran más importantes para los fanáticos de la NBA, como puntos por partido, asistencias, rebotes y porcentaje de tiros. 🏀📈

Pensamos en cómo organizar esta información de manera que fuera fácil de leer en una pantalla pequeña. 📱💡

Hicimos bocetos para ver cómo se verían las estadísticas en el teléfono, asegurándonos de que todo fuera claro y accesible. ✏️📐

Diseñamos la disposición de los gráficos y tablas para que se adaptaran bien a diferentes tamaños de pantalla. 📊📏

Se ajustó el dashboard para que fuera fácil de usar con el tacto. Los botones y controles están diseñados para ser tocados con precisión, y los filtros permiten seleccionar jugadores o estadísticas específicas sin complicaciones. 🖱️🖐️

Incorporamos opciones para comparar estadísticas de diferentes jugadores con solo unos toques. 🤳🔍

Probamos el dashboard en varios teléfonos y tabletas para asegurarnos de que se viera y funcionara bien en todos ellos. 📱🔬

Publicamos el dashboard en Power BI, asegurándonos de que estuviera disponible en la aplicación móvil para que cualquier usuario autorizado pudiera acceder a él. 📤🔓

Ahora tienes acceso a un dashboard móvil que te muestra estadísticas detalladas de jugadores de la NBA. Esta herramienta está diseñada para que puedas ver fácilmente la información que necesitas sobre el rendimiento de los jugadores, estés en casa o en movimiento. Todo está pensado para que sea fácil de usar y accesible desde tu teléfono o tableta. 🚀📲