Verificando acceso…

Paul

Proyección de Demanda Académica

Paul es el algoritmo de proyección de demanda e inscripciones del portal Darwin. Su función central es predecir, para un período académico futuro, qué cursos tomará cada estudiante activo —curso por curso, alumno por alumno— y agregar esas predicciones individuales en cifras de demanda por asignatura.

¿Qué es Paul?

Paul es el algoritmo de proyección de demanda e inscripciones del portal Darwin. Su función central es predecir, para un período académico futuro, qué cursos tomará cada estudiante activo —curso por curso, alumno por alumno— y agregar esas predicciones individuales en cifras de demanda por asignatura.

El resultado alimenta directamente la planificación del ciclo: cuántas secciones abrir, con qué cupos, en qué sedes. Sin Paul, esta decisión se toma con datos históricos crudos o intuición. Con Paul, se toma con una proyección individual de toda la población estudiantil.

El Problema que Resuelve

Las universidades enfrentan un dilema recurrente al planificar cada período:

  • Si abren pocas secciones, los estudiantes no encuentran cupo y se retrasan.
  • Si abren demasiadas, las secciones quedan vacías y se desperdician recursos docentes y de infraestructura.

La causa raíz es la dificultad de proyectar la demanda con precisión: los estudiantes avanzan por mallas curriculares heterogéneas, tienen restricciones de prerequisitos, límites de créditos, patrones de carga variables y equivalencias. Modelar todo eso manualmente es inviable.

Paul lo hace automáticamente, con explicabilidad a nivel de estudiante.

Modos de Ejecución

Paul soporta cuatro tipos de proyección:

Tipo Descripción
Proyección de Inscripciones (recommend_courses) Recomienda cursos específicos por alumno simulando su avance curricular, luego agrega la demanda total por asignatura
Proyección de Actas (forecast_evaluations) Predice qué estudiantes de las inscripciones actuales aprobarán o reprobarán cada asignatura
Regresión de Demanda (demand_regression) Usa regresión estadística sobre datos históricos para proyectar demanda en cursos de nivel avanzado
Proyección de Demanda Directa (forecast_demands) Convierte proyecciones de inscripción en cifras de demanda por asignatura

El flujo más completo es la Proyección de Inscripciones, que ejecuta una cadena de cuatro pasos:


Avance curricular por alumno
           ↓
Recomendación de cursos por alumno
           ↓
Agregación en demanda por asignatura
           ↓
Publicación de resultados en Darwin

Cómo Funciona la Proyección de Inscripciones

1. Cálculo de Avance Curricular

Paul carga el historial académico de cada estudiante activo: cursos aprobados, reprobados, convalidados y en curso actual. Para cada alumno, ejecuta un algoritmo de matching que recorre el árbol curricular (plan de estudios con sus niveles, subplanes, materias obligatorias y electivas) y determina:

  • Qué materias ya completó y en cuáles.
  • Qué materias están disponibles (requisitos cumplidos).
  • Qué carga ya acumuló en el período.

2. Recomendación de Cursos por Alumno

Con el avance calculado, Paul genera una lista de cursos recomendados para cada estudiante respetando:

  • Prerequisitos y corequisitos — Solo recomienda materias que el alumno puede tomar legalmente.
  • Carga máxima por período — Respeta los límites de créditos y materias configurados.
  • Spread de niveles — Evita recomendar materias de niveles muy dispares simultáneamente.
  • Reglas institucionales — Cada institución puede configurar reglas adicionales: cursos obligatorios de primer período, restricciones por tipo de asignatura, materias de modalidad especial.

3. Agregación de Demanda

Las recomendaciones individuales se consolidan en una tabla de demanda por curso: cuántos estudiantes tomarán cada asignatura en el período proyectado, desglosado por campus, programa y cohorte.

4. Publicación

Los resultados se publican directamente en Darwin vía API: inscripciones proyectadas, demandas por curso y actas simuladas quedan disponibles en el sistema para que el equipo de planificación los revise y ajuste en el Editor de Demanda.

Reportes Generados

Paul produce reportes descargables en Excel que incluyen:

  • Análisis de proyección de demanda: estadísticas por curso —demanda proyectada, comparación con períodos anteriores, nivel de confianza.
  • Análisis de proyección de inscripciones: detalle por alumno —cursos recomendados, avance curricular, patrones de carga.

Estos reportes permiten al equipo académico entender por qué se proyecta cierta demanda, no solo cuánta.

Reglas Institucionales

Paul incluye un motor de reglas por institución que permite personalizar el comportamiento del algoritmo de recomendación sin modificar el código:

Tipo de Regla Función
extra_recommender_courses Agregar cursos especiales que siempre se recomiendan (ej. semanas de desarrollo)
convalidate_subject_rules Convalidación automática de asignaturas según criterios específicos
filter_subjects_rules Filtrar materias de un plan según condiciones del estudiante
demand_types Clasificar el tipo de demanda por recomendación (obligatoria, electiva, especial)
cannot_recommend_subject Excluir asignaturas específicas de la recomendación
alternative_priority_inside_plan Priorizar materias dentro de un plan electivo
extra_corequisites Agregar corequisitos adicionales no definidos en el catálogo

Estas reglas permiten modelar las particularidades de mallas curriculares complejas que los motores de recomendación genéricos no pueden capturar.

Propuesta de Valor

Métrica Impacto
Precisión Proyección a nivel de estudiante individual, considerando su malla real y avance específico
Explicabilidad Los reportes muestran por qué cada alumno tiene cierta demanda proyectada
Velocidad Procesa toda la población activa de una institución en un solo run automático
Integración directa Los resultados van directo a Darwin; el equipo ajusta, no construye desde cero
Iterabilidad Se pueden ejecutar múltiples escenarios y comparar proyecciones antes de definir la apertura de secciones

Integración con el Suite

Paul opera dentro del ciclo de planificación de Darwin:

  1. El equipo académico lanza un proceso de proyección desde Darwin.
  2. Paul accede a los datos históricos y actuales vía la API de Darwin.
  3. Calcula el avance curricular de cada estudiante y genera recomendaciones.
  4. Publica los resultados en Darwin: demandas proyectadas visibles en el módulo de Proyección de Demanda.
  5. El equipo revisa y ajusta manualmente en el Editor de Demanda.
  6. La demanda aprobada se asigna al escenario de planificación → alimenta a Viktor para generar el horario.

Paul y Viktor trabajan en secuencia: la proyección de demanda de Paul define el problema de optimización que Viktor resuelve.