Proyecto final: análisis reproducible de pagos Sakila
Objetivos
Vas a integrar lectura, controles de calidad, agregación, estadística, visualización y comunicación en una entrega que otra persona pueda repetir.
Concepto
Un proyecto reproducible conserva datos de entrada, instrucciones, código, pruebas y resultados esperados. Descarga el paquete del proyecto Python Sakila o revisa el README. El paquete incluye el CSV reducido, un starter con tareas, solución de referencia, pruebas y tres resultados esperados.
El paquete de datos para Python Análisis contiene el extracto y el aviso de licencia en un ZIP generado desde el manifiesto común.
Necesitas Python 3.11 o posterior; puedes obtenerlo desde la página oficial de descargas. En la carpeta descargada, instala con py -m pip install -r requirements.txt en Windows o python3 -m pip install -r requirements.txt en macOS/Linux. El script es local; no necesita MySQL ni envía datos a un servidor. La exportación es Sakila ficticia, grano de una fila por pago, clave payment_id; no incluye nombres ni correos.
Ejemplo
Desde la carpeta del paquete, ejecuta:
py solution/analyze_payments.py
py -m unittest discover -s solution -p "test_*.py"El programa valida la entrada y escribe monthly_summary.csv, staff_summary.csv y quality_checks.csv en output/. En el archivo incluido se esperan 16 044 filas, cinco meses con registros y un total de 67 406.56. La salida mensual y por staff_id debe reconciliar con esos valores.
Práctica guiada
Antes de usar la solución, completa el starter/analyze_payments.py. Ejecuta la solución de referencia y compara encabezados, claves, conteos, sumas y límites temporales. No copies conclusiones sin revisar los resultados.
Reto
Entrega un script que produzca tres CSV de salida y pruebas que comprueben claves, calidad y reconciliación. Añade tres observaciones respaldadas y explica al menos dos límites en findings.md.
Intenta el reto antes de consultar las pistas.
Quiz
Comprobación
El curso termina cuando el proyecto se ejecuta desde cero, sus resultados reconcilian y las conclusiones describen solo el extracto Sakila.