|
| 1 | +# Proceso de Análisis Exploratorio con SQL |
| 2 | + |
| 3 | +Este documento detalla el proceso de análisis exploratorio por etapas implementado en este proyecto, explicando el propósito y los insights obtenidos en cada fase. |
| 4 | + |
| 5 | +## Etapa 0: Inicialización de la Base de Datos |
| 6 | + |
| 7 | +**Script**: `00_init_database.sql` |
| 8 | + |
| 9 | +**Propósito**: |
| 10 | +- Crear la base de datos `DataWarehouseAnalytics` |
| 11 | +- Establecer el esquema `gold` |
| 12 | +- Crear las tablas dimensionales (`dim_customers`, `dim_products`) y de hechos (`fact_sales`) |
| 13 | +- Cargar los datos iniciales desde archivos CSV |
| 14 | + |
| 15 | +**Importancia para el Análisis**: |
| 16 | +Esta etapa establece la estructura de datos en un modelo de data warehouse tipo estrella, con tablas de dimensiones y hechos claramente definidas, facilitando el análisis multidimensional. |
| 17 | + |
| 18 | +## Etapa 1: Exploración de la Base de Datos |
| 19 | + |
| 20 | +**Script**: `01_Database exploration.sql` |
| 21 | + |
| 22 | +**Propósito**: |
| 23 | +- Explorar la estructura general de la base de datos |
| 24 | +- Identificar todas las tablas disponibles |
| 25 | +- Examinar las columnas y sus tipos de datos |
| 26 | + |
| 27 | +**Técnicas SQL utilizadas**: |
| 28 | +- Consultas a vistas del sistema (`INFORMATION_SCHEMA`) |
| 29 | +- Exploración de metadatos |
| 30 | + |
| 31 | +**Insights**: |
| 32 | +- Comprensión de la estructura general de los datos |
| 33 | +- Identificación de las relaciones entre tablas |
| 34 | +- Familiarización con los campos disponibles para análisis |
| 35 | + |
| 36 | +## Etapa 2: Exploración de Dimensiones |
| 37 | + |
| 38 | +**Script**: `02_Dimensions exploration.sql` |
| 39 | + |
| 40 | +**Propósito**: |
| 41 | +- Analizar las tablas de dimensiones (clientes y productos) |
| 42 | +- Entender la distribución de atributos clave |
| 43 | + |
| 44 | +**Técnicas SQL utilizadas**: |
| 45 | +- Consultas de agregación |
| 46 | +- Funciones de conteo y agrupación |
| 47 | + |
| 48 | +**Insights**: |
| 49 | +- Distribución de clientes por país, estado civil y género |
| 50 | +- Categorización de productos y líneas de producto |
| 51 | +- Identificación de dimensiones clave para análisis posteriores |
| 52 | + |
| 53 | +## Etapa 3: Exploración Temporal |
| 54 | + |
| 55 | +**Script**: `03_Date exploration.sql` |
| 56 | + |
| 57 | +**Propósito**: |
| 58 | +- Analizar la distribución temporal de las ventas |
| 59 | +- Identificar patrones estacionales o tendencias |
| 60 | + |
| 61 | +**Técnicas SQL utilizadas**: |
| 62 | +- Funciones de fecha |
| 63 | +- Agrupación por períodos de tiempo |
| 64 | +- Análisis de series temporales básico |
| 65 | + |
| 66 | +**Insights**: |
| 67 | +- Patrones de ventas por mes/año |
| 68 | +- Identificación de temporadas altas y bajas |
| 69 | +- Análisis de la evolución de ventas a lo largo del tiempo |
| 70 | + |
| 71 | +## Etapa 4: Exploración de Métricas |
| 72 | + |
| 73 | +**Script**: `04_Measures exploration.sql` |
| 74 | + |
| 75 | +**Propósito**: |
| 76 | +- Calcular métricas clave del negocio |
| 77 | +- Establecer KPIs fundamentales |
| 78 | + |
| 79 | +**Técnicas SQL utilizadas**: |
| 80 | +- Funciones de agregación (SUM, AVG, COUNT) |
| 81 | +- Consultas UNION para reportes consolidados |
| 82 | + |
| 83 | +**Insights**: |
| 84 | +- Ventas totales |
| 85 | +- Cantidad total de productos vendidos |
| 86 | +- Precio promedio de venta |
| 87 | +- Número total de órdenes |
| 88 | +- Número de clientes activos vs. total de clientes |
| 89 | + |
| 90 | +## Etapa 5: Análisis de Magnitudes |
| 91 | + |
| 92 | +**Script**: `05_Magnitude exploration.sql` |
| 93 | + |
| 94 | +**Propósito**: |
| 95 | +- Analizar la distribución y magnitud de las métricas principales |
| 96 | +- Identificar segmentos y patrones |
| 97 | + |
| 98 | +**Técnicas SQL utilizadas**: |
| 99 | +- Funciones de ventana |
| 100 | +- Segmentación de datos |
| 101 | + |
| 102 | +**Insights**: |
| 103 | +- Distribución de ventas por categoría de producto |
| 104 | +- Segmentación de clientes por volumen de compra |
| 105 | +- Identificación de outliers en precios o cantidades |
| 106 | + |
| 107 | +## Etapa 6: Análisis de Rankings |
| 108 | + |
| 109 | +**Script**: `06_Ranking Analysis.sql` |
| 110 | + |
| 111 | +**Propósito**: |
| 112 | +- Identificar los mejores y peores desempeños |
| 113 | +- Crear rankings para análisis comparativo |
| 114 | + |
| 115 | +**Técnicas SQL utilizadas**: |
| 116 | +- Funciones de ventana (ROW_NUMBER, RANK) |
| 117 | +- Subconsultas y CTEs |
| 118 | +- Ordenamiento y filtrado avanzado |
| 119 | + |
| 120 | +**Insights**: |
| 121 | +- Top 5 productos con mayor ingreso |
| 122 | +- Top 5 subcategorías más rentables |
| 123 | +- 5 productos con peor desempeño en ventas |
| 124 | +- Top 10 clientes por número de órdenes |
| 125 | +- Clientes con menor actividad de compra |
| 126 | + |
| 127 | +## Conclusiones del Análisis |
| 128 | + |
| 129 | +Este enfoque por etapas permite construir un análisis exploratorio completo que va desde lo más básico hasta técnicas más avanzadas, demostrando cómo SQL puede ser utilizado para extraer insights valiosos de un conjunto de datos de ventas. |
| 130 | + |
| 131 | +El proceso sigue una metodología estructurada que puede aplicarse a cualquier conjunto de datos empresariales, adaptando las consultas específicas según las necesidades del negocio pero manteniendo el enfoque progresivo que facilita la comprensión y la obtención de insights accionables. |
0 commit comments