Proyecto Final: Análisis de Ventas Integral
Bienvenido al proyecto final del curso de Análisis de Datos con Google Sheets y SQL. En esta lección aplicarás todos los conocimientos adquiridos para realizar un análisis completo de un conjunto de datos de ventas. Este proyecto simulate un escenario real donde una empresa necesita entender su desempeño comercial para tomar decisiones estratégicas.
Trabajarás con una base de datos de ventas que incluye información de productos, clientes, regiones y transacciones. Al finalizar, habrás demostrado dominio en la manipulación de datos, creación de fórmulas complejas, consultas SQL y generación de insights accionables.
Contexto del Proyecto
Imaginemos que trabajas como analista de datos para TiendaTech, una cadena de tiendas de electrónica con presencia en tres regiones del país. Tu gerente te solicita un informe completo que responda las siguientes preguntas:
- ¿Cuál es el total de ventas por región y por mes?
- ¿Cuáles son los productos más vendidos y los de mayor margen?
- ¿Quiénes son los mejores clientes y cuánto han gastado?
- ¿Existe algún patrón estacional en las ventas?
- ¿Qué recomendaciones puedes dar para mejorar los resultados?
Estructura de los Datos
Para este proyecto, trabajarás con cuatro tablas principales que simulan una base de datos relacional:
Tabla 1: ventas
Contiene cada transacción realizada:
ventas (
id_venta INT PRIMARY KEY,
fecha DATE,
id_cliente INT,
id_producto INT,
cantidad INT,
precio_unitario DECIMAL(10,2),
region VARCHAR(50)
)
Tabla 2: productos
productos (
id_producto INT PRIMARY KEY,
nombre VARCHAR(100),
categoria VARCHAR(50),
costo DECIMAL(10,2),
precio DECIMAL(10,2)
)
Tabla 3: clientes
clientes (
id_cliente INT PRIMARY KEY,
nombre VARCHAR(100),
email VARCHAR(100),
ciudad VARCHAR(50),
fecha_registro DATE
)
Tabla 4: calendario
calendario (
fecha DATE PRIMARY KEY,
mes INT,
trimestre INT,
anio INT,
nombre_mes VARCHAR(20)
)
Paso 1: Configuración Inicial en Google Sheets
Comienza importando los datos a Google Sheets. Crea una hoja de cálculo llamada "TiendaTech_Analisis" con las siguientes hojas:
- ventas_raw: Datos crudos de ventas
- productos: Catálogo de productos
- clientes: Base de clientes
- calendario: Dimensión temporal
- Dashboard: Hoja para tu análisis final
Para importar datos, puedes usar Archivo → Importar → Subir o conectarlos directamente desde una base de datos si tienes acceso externo.
Fórmulas Fundamentales
En la hoja Dashboard, crea las siguientes métricas clave usando fórmulas de Google Sheets:
Fórmula para Total de Ventas:
=SUMIF(ventas_raw!F:F, "Norte", ventas_raw!G:G)Esta fórmula suma la columna de totales solo donde la región sea "Norte".
Fórmula para Ventas por Mes:
=SUMIFS(ventas_raw!G:G, ventas_raw!B:B, ">=1/1/2024", ventas_raw!B:B, "<=1/31/2024")Usa SUMIFS para filtrar por rango de fechas específico.
Paso 2: Consultas SQL para Análisis Avanzado
Si tienes acceso a una base de datos MySQL o PostgreSQL, conecta Google Sheets usando herramientas como Connectors o Zapier. Alternativamente, puedes practicar estas consultas en plataformas como SQLite Online o DB Fiddle.
Consulta 1: Ventas Totales por Región
SELECT
v.region,
COUNT(*) AS numero_ventas,
SUM(v.cantidad * v.precio_unitario) AS total_ventas
FROM ventas v
GROUP BY v.region
ORDER BY total_ventas DESC;
Esta consulta te muestra el resumen financiero por cada región geográfica.
Consulta 2: Top 10 Productos Más Vendidos
SELECT
p.nombre AS producto,
p.categoria,
SUM(v.cantidad) AS unidades_vendidas,
SUM(v.cantidad * v.precio_unitario) AS revenue,
(p.precio - p.costo) / p.precio * 100 AS margen_porcentaje
FROM ventas v
JOIN productos p ON v.id_producto = p.id_producto
GROUP BY p.id_producto, p.nombre, p.categoria, p.precio, p.costo
ORDER BY revenue DESC
LIMIT 10;
Esta consulta incluye el margen de ganancia calculado directamente, lo cual es crucial para decisiones de inventario.
Consulta 3: Análisis de Clientes VIP
SELECT
c.nombre,
c.ciudad,
COUNT(v.id_venta) AS transacciones,
SUM(v.cantidad * v.precio_unitario) AS total_gastado,
AVG(v.cantidad * v.precio_unitario) AS ticket_promedio
FROM clientes c
JOIN ventas v ON c.id_cliente = v.id_cliente
GROUP BY c.id_cliente, c.nombre, c.ciudad
HAVING total_gastado > 5000
ORDER BY total_gastado DESC;
La cláusula HAVING filtra solo clientes que han gastado más de $5,000, identificando a tus clientes más valiosos.
Consulta 4: Patrón Estacional por Trimestre
SELECT
cal.anio,
cal.trimestre,
cal.nombre_mes,
SUM(v.cantidad * v.precio_unitario) AS ventas_mensuales
FROM ventas v
JOIN calendario cal ON DATE(v.fecha) = cal.fecha
GROUP BY cal.anio, cal.trimestre, cal.nombre_mes
ORDER BY cal.anio, cal.mes;
Esta consulta revela tendencias temporales y te ayuda a planificar inventarios.
Paso 3: Visualización y Dashboard
Con los datos analizados, crea un dashboard visual en Google Sheets:
- Gráfico de barras: Ventas por región
- Gráfico de líneas: Tendencia de ventas mensual
- Tabla dinámica: Productos por categoría con totales
- Scorecard: KPIs principales (ventas totales, número de transacciones, ticket promedio)
Errores Comunes en Este Proyecto
Al realizar análisis de ventas, es fácil cometer errores que llevan a conclusiones incorrectas. Estos son los tres errores más frecuentes:
Error 1: No considerar el costo en el análisis de rentabilidad
Mistake: Analizar solo los ingresos sin restar los costos. Puedes tener $100,000 en ventas pero si tus costos fueron $95,000, tu ganancia real es mínima.
Solution: Calcula siempre el margen bruto = (Precio - Costo) / Precio × 100. Incluye esta métrica en todas tus consultas y reportes.
Error 2: Mezclar fechas de diferentes formatos
Mistake: Google Sheets y SQL interpretan las fechas de manera diferente. "01/05/2024" puede significar 1 de mayo o 5 de enero dependiendo de la configuración regional.
Solution: Estandariza todos los formatos de fecha al inicio. Usa formatos ISO como YYYY-MM-DD y asegúrate de que todas las hojas y tablas usen el mismo.
Error 3: Ignorar datos nulos o duplicados
Mistake: Asumir que todos los registros están completos y son únicos. Los productos sin categoría o clientes sin ciudad generan huecos en el análisis.
Solution: Ejecuta estas verificaciones antes de analizar:
-- Verificar nulos en clave foránea
SELECT COUNT(*) FROM ventas WHERE id_cliente IS NULL;
-- Verificar duplicados
SELECT id_venta, COUNT(*) as cnt
FROM ventas
GROUP BY id_venta
HAVING COUNT(*) > 1;
Recomendaciones Finales
Basándote en tu análisis, tu gerente necesita acciones concretas. Presenta al menos cinco recomendaciones fundamentadas en datos, tales como:
- Identificar y analizar las 3 categorías con mayor crecimiento
- Proponer un programa de fidelización para clientes VIP
- Sugerir reubicación de inventario según demanda regional
- Recomendar estrategias de temporada para meses de baja ventas
- Evaluar descontinuación de productos con bajo margen y alta rotación
Checklist de Dominio
Antes de entregar tu proyecto, verifica que has completado cada uno de estos puntos:
- ✔ He importado correctamente las cuatro tablas a Google Sheets sin errores de formato
- ✔ He creado fórmulas de SUMIF y SUMIFS que calculan ventas por región correctamente
- ✔ He escrito al menos 4 consultas SQL con JOINs que producen resultados precisos
- ✔ He calculado e incluido el margen de ganancia en mi análisis de productos
- ✔ He identificado correctamente los 10 clientes con mayor gasto
- ✔ He detectado al menos un patrón estacional en las ventas
- ✔ He creado un dashboard visual con al menos 2 gráficos informativos
- ✔ He evitado los tres errores comunes (costos, fechas, nulos)
- ✔ He proporcionado 5 recomendaciones basadas en datos específicos
- ✔ Mi informe es claro, profesional y está listo para presentar al gerente
¡Felicitaciones! Has completado el proyecto final del curso. Este análisis representa exactamente el tipo de trabajo que realizan los analistas de datos en empresas reales. Los skills que practicaste aquí son altamente demandados en el mercado laboral actual.