Skip to content

Commit b6f1739

Browse files
committed
Primer commit: Proyecto de análisis exploratorio con SQL
0 parents  commit b6f1739

15 files changed

+79693
-0
lines changed

.gitignore

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Archivos del sistema operativo
2+
.DS_Store
3+
Thumbs.db
4+
5+
# Archivos de entorno
6+
.env
7+
8+
# Archivos de configuración de IDE
9+
.idea/
10+
.vscode/
11+
*.sublime-workspace
12+
13+
# Archivos temporales
14+
*.tmp
15+
*.bak
16+
*.swp
17+
*~.nib

ANALYSIS_PROCESS.md

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
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

Comments
 (0)