Todos los proyectos

Análisis de Ventas – Tienda Informatica

Este análisis explora las ventas de una tienda de informática usando SQL y Python en Google Colab. A partir de los datos, se generaron indicadores clave sobre productos, clientes y rendimiento general para obtener insights que ayuden a mejorar la toma de decisiones.

Este análisis explora las ventas de una tienda de informática usando SQL y Python en Google Colab. A partir de los datos, se generaron indicadores clave sobre productos, clientes y rendimiento general para obtener insights que ayuden a mejorar la toma de decisiones.

Información

La base de datos fue generada con ChatGPT para este proyecto. Actualmente estan alojadas en el siguiente Drive.

  • producto_id: Codigo identificador del producto.
  • tipo: Categoria del producto.
  • nombre: Nombre del producto.
  • marca: Marca del producto.
  • precio: Precio del producto.
  • detalle_id: Código único que identifica cada ítem detallado en una venta.

  • venta_id: Identificador de la venta a la que pertenece el detalle.

  • producto_id: Código identificador del producto vendido.

  • cantidad: Número de unidades del producto vendidas en este detalle.

  • precio_unitario: Precio por unidad del producto al momento de la venta.

  • cliente_id: Identificador único del cliente.

  • nombre: Nombre del cliente.

  • apellido: Apellido del cliente.

  • email: Correo electrónico de contacto del cliente.

  • provincia: Provincia de residencia del cliente.

  • fecha_registro: Fecha en la que el cliente se registró en el sistema.

  • venta_id: Identificador único de la venta.

  • cliente_id: Identificador del cliente que realizó la compra.

  • fecha: Fecha en la que se efectuó la venta.

  • total_items: Cantidad total de productos incluidos en la venta.

Consultas SQL

Consola:
# @title Detección de nulos
df.isnull().sum()
Salida:
producto cantidad_total
650W Bronze 2269
32GB DDR4 3600MHz 2267
2TB 2245
Mini Tower 2225
Ryzen 7 5800X3D 2191
RTX 3070 2190
Mid Tower RGB 2188
ASRock B660 2187
1TB SATA 2178
1TB 2171
Consola:
SELECT
p.nombre AS producto, CAST(SUM(dv.cantidad) AS INT) AS cantidad_total
FROM ‘detalle_ventas’ AS dv
LEFT JOIN ‘productos’ AS p
ON dv.producto_id = p.producto_id
GROUP BY producto
ORDER BY cantidad_total DESC
LIMIT 1
Salida:
producto cantidad_total
650W Bronze 2269
Consola:

SELECT
p.nombre AS producto, ROUND(SUM(dv.cantidad * dv.precio_unitario),2) AS total_ventas
FROM ‘detalle_ventas’ AS dv
LEFT JOIN ‘productos’ AS p
ON dv.producto_id = p.producto_id
GROUP BY producto
ORDER BY total_ventas DESC
LIMIT 1

Salida:
producto total_ventas
1TB 1509116.38
Consola:
SELECT
p.nombre AS producto, CAST(SUM(dv.cantidad) AS INT) AS cantidad_total
FROM ‘detalle_ventas’ AS dv
LEFT JOIN ‘productos’ AS p
ON dv.producto_id = p.producto_id
GROUP BY producto
ORDER BY cantidad_total DESC
LIMIT 10
Salida:
producto cantidad_total
650W Bronze 2269
32GB DDR4 3600MHz 2267
2TB 2245
Mini Tower 2225
Ryzen 7 5800X3D 2191
RTX 3070 2190
Mid Tower RGB 2188
ASRock B660 2187
1TB SATA 2178
1TB 2171
Consola:

SELECT
p.tipo as categoria, CAST(SUM(dv.cantidad) AS INT) AS cantidad_total
FROM ‘detalle_ventas’ AS dv
LEFT JOIN ‘productos’ AS p
ON dv.producto_id = p.producto_id
GROUP BY categoria
ORDER BY cantidad_total DESC
LIMIT 3

Salida:
categoria cantidad total
SSD 8636
CPU 8581
GPU 8410
Consola:
SELECT
p.marca , CAST(SUM(dv.cantidad * dv.precio_unitario) AS INT) AS total_ventas
FROM ‘detalle_ventas’ AS dv
LEFT JOIN ‘productos’ AS p
ON dv.producto_id = p.producto_id
GROUP BY marca
ORDER BY total_ventas DESC
LIMIT 1
Salida:
marca total_ventas
Corsair 6260862
Consola:
SELECT
    c.nombre || ‘ ‘ || c.apellido AS nombre_y_apellido,
    ROUND(COALESCE(SUM(dv.cantidad * dv.precio_unitario), 0), 2) AS total_ventas
FROM clientes c
LEFT JOIN ventas v ON c.cliente_id = v.cliente_id
LEFT JOIN detalle_ventas dv ON v.venta_id = dv.venta_id
GROUP BY nombre_y_apellido
ORDER BY total_ventas DESC
LIMIT 1
Salida:
nombre_y_apellido total_ventas
Edward Smith 69573.12
Consola:
SELECT
    c.nombre || ‘ ‘ || c.apellido AS nombre_y_apellido,
    SUM(dv.cantidad) AS total_cantidad
FROM clientes c
LEFT JOIN ventas v ON c.cliente_id = v.cliente_id
LEFT JOIN detalle_ventas dv ON v.venta_id = dv.venta_id
GROUP BY nombre_y_apellido
ORDER BY total_cantidad DESC
LIMIT 1
Salida:
nombre_y_apellido total_cantidad
Michelle Nguyen 147.0