Septiembre es el mes patrio en México, y no hay mejor forma de celebrarlo que hablando de lo que más nos une, la comida mexicana: pozole, enchiladas, tamales, tacos… la lista es interminable y deliciosa 🇲🇽 ✨
Pero aquí surge la pregunta: ¿qué platillo será el más popular este mes patrio y el que sigue? 🤔
La verdad es que no tenemos una bolita mágica para adivinarlo… pero, ¿sabes qué sí tenemos? AWS 🚀 ☁️
En esta ocasión te voy a mostrar cómo usar la nube para analizar y visualizar tendencias culinarias de forma divertida.
En lugar de adivinar, vamos a crear y analizar datos de consumo de platillos mexicanos usando servicios de AWS. Y lo mejor: de manera sencilla y visual.
👉 Con AWS QuickSight convertiremos los datos en dashboards para visualizar y analizar la información.
Así podremos responder preguntas como:
❓ ¿Qué platillo se pide más en ciertas épocas del año?
❓ ¿Cuál está creciendo en popularidad?
❓ ¿Y cuál podría ser la estrella del próximo mes?
En pocas palabras: AWS es como tu bola mágica de datos… pero mucho más confiable. 😎
Paso a paso
1️⃣ Obtenemos nuestros datos
En este caso vamos a crear datos aleatorios de consumo de platillos con el siguiente script:
import pandas as pd
import random
from datetime import datetime, timedelta
# Lista de platillos mexicanos
platillos = [
"Tacos al pastor", "Pozole", "Mole poblano", "Chiles en nogada", "Tamales",
"Enchiladas verdes", "Cochinita pibil", "Birria", "Sopes", "Gorditas",
"Quesadillas", "Tlayudas", "Pescado a la veracruzana", "Carnitas", "Caldo tlalpeño"
]
# Lista de regiones
regiones = [
"Ciudad de México", "Jalisco", "Puebla", "Oaxaca", "Yucatán",
"Baja California", "Nuevo León", "Chiapas", "Michoacán", "Guerrero"
]
# Función para generar una fecha aleatoria en los últimos 2 años
def fecha_random():
start_date = datetime.now() - timedelta(days=730)
random_days = random.randint(0, 730)
return (start_date + timedelta(days=random_days)).strftime("%Y-%m-%d")
# Función para determinar temporada
def temporada(fecha_str):
fecha = datetime.strptime(fecha_str, "%Y-%m-%d")
mes = fecha.month
if mes in [12, 1, 2]:
return "Invierno"
elif mes in [3, 4, 5]:
return "Primavera"
elif mes in [6, 7, 8]:
return "Verano"
else:
return "Otoño"
# Generar dataset
rows = []
for _ in range(1000): # 1000 registros
fecha = fecha_random()
platillo = random.choice(platillos)
region = random.choice(regiones)
cantidad_vendida = random.randint(20, 500)
precio_promedio = round(random.uniform(30, 250), 2)
rows.append({
"platillo": platillo,
"region": region,
"fecha": fecha,
"cantidad_vendida": cantidad_vendida,
"precio_promedio": precio_promedio,
"temporada": temporada(fecha)
})
df = pd.DataFrame(rows)
# Guardar CSV
csv_path = "/dataset_platillos.csv"
df.to_csv(csv_path, index=False)
csv_path
El resultado es un archivo csv donde tenemos los registros de nuestros platillos, incluyendo la región, fecha, cantidad vendida, precio promedio y temporada de consumo, algo que se verá así:
2️⃣ Cargamos los datos
Para nuestro tablero tenemos diferentes opciones de dónde estará nuestro origen de los datos, puede ser directo el csv, un bucket de Amazon S3, una base en Amazon RDS o Amazon Aurora, entre otros servicios de AWS, incluso terceros como Jira, GitHub, Google Sheets o ServiceNow.
En esta ocasión vamos por lo más simple, directo el archivo csv que generamos en el paso anterior, por lo tanto lo que debemos hacer estando en QuickSight es:
Dirigirnos a la sección de Análisis
Dar clic en Nuevo Análisis
Seleccionar Nuevo conjunto de datos
Ir a la opción Cargar un archivo
Esto te dejará entrar a tu equipo, seleccionar el archivo que denominamos dataset_platillos.csv y empezará la carga, permitiéndote ajustar las configuraciones y visualizar los datos.
Da clic en Siguiente, esto nos llevará al tablero nuevo creado a partir de los datos cargados.
3️⃣ Configurar el tablero en QuickSight para visualizar tendencias y patrones.
Si realizamos los pasos anteriores de forma correcta vamos a visualizar esta pantalla:
Ahora si damos clic en Crear y tendremos nuestro dashboard listo para ser configurado a nuestras necesidades.
En QuickSight puedes jugar con los datos aplicando diferentes métricas y filtros para descubrir patrones interesantes. Por ejemplo:
- Configura un gráfico de líneas para ver la tendencia de ventas de tacos, pozole y tamales por mes.
- Aplica un filtro dinámico por región (Norte, Centro, Sur) y observa cómo cambia la popularidad de los platillos.
- Crea un gráfico de barras apiladas para comparar el volumen de ventas por temporada (Fiestas Patrias, Navidad, Semana Santa).
- Usa un mapa geográfico para visualizar qué platillo domina en cada estado.
- Activa un control de fecha para filtrar semanas específicas y analizar picos de consumo (ej. septiembre vs. diciembre).
La idea es que practiques a mover filtros, seleccionar periodos, comparar platillos y construir tu propio tablero de insights.
Te dejo un ejemplo de esta demo como referencia.
⚙️ Configuración:
4️⃣ Publicamos el tablero
Esto es fácil en la parte superior derecha da clic en el botón Publicar.
¡Listo! Ya tenemos nuestra propia bolita mágica para predecir el futuro culinario.
📊 Resultado:
Recuerda que si quieres compartirlo con alguien de tu equipo tanto para visualizar como para que lo pueda editar tienes que darle los permisos necesarios para que pueda acceder a tu dashboard.
¿Y ahora qué?
Con esta dinámica, no solo estamos jugando con comida mexicana en el mes patrio 🎉, sino entendiendo el poder de los datos en la nube.
Lo mismo que aplicamos aquí con platillos, se puede llevar a casi cualquier industria: retail, finanzas, logística, deportes… y sí, también para ver qué antojito se pondrá de moda 😉 📊
👉 Cuéntame, ¿qué datos te gustaría analizar en tu propio tablero de QuickSight? ¿tendencias de música? ¿series más vistas? ¿rutas de viaje soñadas? 🌍
La nube no solo nos da respuestas, también nos abre el apetito por experimentar con la información.
Top comments (0)