Proyecto de Automatización de Control de Asistencia y Gestión Académica: Desarrollo de un sistema en Python + Streamlit que procesa métricas clave de asistencia y genera informes visuales interactivos en Plotly, reduciendo el tiempo de análisis de 4,7 horas a 10 minutos (96,5% de mejora) y eliminando procesos manuales.
📊 Aplicación de Asistencia web interactiva desarrollada con Streamlit para el procesamiento, análisis y generación de reportes de asistencia de estudiantes. La herramienta permite a instituciones educativas gestionar y visualizar datos de asistencia de manera eficiente y automatizada.
🚀 ¿Qué hace esta app? Carga y procesa archivos Excel de asistencia, genera reportes en HTML y CSV y muestra gráficos dinámicos con Plotly, permitiendo navegar por diferentes vistas desde el menú lateral.
🌐 Puedes probar la aplicación directamente en Streamlit Cloud aquí: 👉 https://informe-asistencia.streamlit.app
Problema: El control de asistencia en centros académicos se realizaba de forma manual, con hojas Excel y procesos repetitivos que implicaban errores humanos y un elevado consumo de tiempo administrativo.
Magnitud: La gestión de asistencia de cientos de alumnos y profesores requería unas 4,7 horas por ciclo de análisis, acumulando más de 40 horas anuales de trabajo manual.
Solución:
Desarrollo de un sistema automatizado en Python con interfaz en Streamlit.
Procesamiento y limpieza automática de datos de asistencia.
Cálculo de métricas clave: horas programadas, porcentajes de asistencia, índices ponderados, top de alumnos por profesor y mes.
Visualización en Plotly para detectar patrones y posibles casos de abandono temprano.
Resultados: Reducción del tiempo de análisis a 10 minutos, eliminación completa de tareas manuales y mejora de la capacidad de seguimiento y análisis de asistencia.
La gestión académica en instituciones educativas enfrenta dos retos clave:
Eficiencia operativa: Los procesos manuales consumen tiempo del personal administrativo y retrasan la toma de decisiones.
Retención de estudiantes: La falta de herramientas de análisis dificulta la detección temprana de patrones de absentismo, aumentando el riesgo de abandono escolar.
Este proyecto responde directamente a ambos retos, optimizando la gestión de asistencia y aportando un marco de data-driven decision making en la administración académica.
Importación de datos: Integración de registros de asistencia en formato excel.
Calidad de datos: Automatización de la limpieza y normalización de la información.
Transformación de variables: Creación de indicadores clave como porcentajes de asistencia e índices ponderados.
Visualización: Dashboards en Streamlit con gráficas dinámicas en Plotly para exploración interactiva.
Automatización: Scripts que generan informes sin intervención manual, con tan solo subir el zip o los excel con la asistencia de los profesores.
Implantación: Sistema en producción utilizado por el área administrativa para seguimiento de asistencia.
Backend: Python, Streamlit
Procesamiento de datos: Pandas, NumPy
Visualización: Plotly
Archivos: openpyxl para Excel, zipfile para compresión
Frontend: HTML, CSS, JavaScript para reportes interactivos
Seguridad: bcrypt para autenticación
La aplicación procesa archivos Excel individuales por profesor, donde cada archivo contiene hojas correspondientes a diferentes meses del año académico. La estructura de datos incluye:
Columnas principales:
Usuario: Nombre y apellidos del profesor
F. Clase: Fecha de la clase programada
Hora Inicio/Final: Horario de la sesión
Duración: Tiempo total de la clase
Descripción Clase: Nombre y apellidos del alumna/o
¿Realizada?: Estado de la clase (SÍ/NO)
Acceso protegido por contraseña
Validación de credenciales mediante variables de entorno
Pantalla principal de la aplicación (Streamlit):
Los usuarios pueden subir los datos de dos formas:
Archivos individuales: Subida de múltiples archivos Excel (.xlsx, .xls)
Archivo comprimido: Subida de un ZIP conteniendo todos los archivos Excel de los profesores (ASISTENCIA.ZIP)
La aplicación genera múltiples formatos de salida:
CSV: Métricas finales y resultados consolidados
Excel: Datos combinados y reportes de reincidentes
HTML: Reportes interactivos con gráficos Plotly
Dashboard de evolución mensual. Resúmenes estadísticos automáticos :
Gráfico y filtros interactivos por profesor y mes en Plotly que muestra la evolución de faltas por profesor y los promedios generales por mes.
Reporte filtrable de horas no dadas:
Visualización de barras dinámicas donde se pueden aplicar filtros por profesor y mes para un análisis detallado.
Tabla dinámica de faltas por profesor:
Informe con tabla interactiva que permite explorar las faltas de cada profesor y sus clases, con actualización automática.
Alertas de reincidencias (+2 faltas):
Reporte automático que identifica grupos con más de dos faltas en un mismo mes, facilitando la detección temprana de riesgos.
Ranking de alertas ordenadas:
Gráfico de barras con filtros que muestra qué clases y profesores acumulan mayor número de faltas, priorizando la atención a los más críticos.
AS IS (antes del proyecto):
Procesos manuales en Excel.
4,7 horas por ciclo de análisis.
Más de 40 horas anuales invertidas en tareas repetitivas.
Riesgo elevado de errores humanos.
Hipótesis y parámetros del proyecto:
Automatización completa de la recopilación y procesamiento.
Interfaz accesible vía web para personal administrativo.
Generación de métricas e informes listos para uso inmediato.
TO BE (después del proyecto):
Reducción del tiempo a 10 minutos por ciclo.
Ahorro del 96,5% de tiempo administrativo.
Eliminación de errores humanos.
Mejora de la capacidad de detección temprana de patrones de absentismo.
Valor añadido en la retención de estudiantes y en la eficiencia operativa del centro.