Periodicidad y Parámetros Variables en el Tiempo
¿Qué es la Periodicidad?
Los procesos reales no funcionan igual todo el tiempo. El servicio al cliente recibe más llamadas en horario de oficina. La producción tiene turnos distintos con diferente personal. El retail presenta picos estacionales.
La periodicidad permite definir cuándo se aplican reglas específicas en la simulación. En vez de un solo valor global, puedes establecer parámetros distintos según el periodo:
- Días laborables vs. fines de semana
- Turno de mañana vs. turno noche
- Temporada alta vs. baja
- Horario comercial vs. fuera de horario
Así tu simulación refleja comportamientos reales en diferentes contextos temporales.
¿Por Qué la Periodicidad es Importante?
Veámoslo con un ejemplo de llegada de clientes.
Sin periodicidad:
- 10 clientes por hora, 24/7
Con periodicidad:
- 25 clientes por hora, lunes a viernes de 9 a 18 h
- 15 clientes por hora, lunes a viernes de 18 a 21 h
- 5 clientes por hora, fines de semana
- 2 clientes por hora, en la noche
El segundo modelo refleja mejor los patrones reales que afectan colas, uso de recursos y rendimiento.
Tipos de Periodicidad Disponibles
ProcessMind soporta nueve tipos de periodicidad que definen cuándo se aplica una regla:
| Tipo | Parámetros | Descripción |
|---|---|---|
| Always | (ninguno) | La regla se aplica siempre, sin variación |
| Default | (ninguno) | Regla de respaldo cuando ninguna otra regla por tiempo coincide |
| Fixed Period | startDateTime, endDateTime | Período único (no recurrente) |
| Each Day | startTime, endTime | Mismas horas cada día |
| Each Weekday | startTime, endTime | Solo de lunes a viernes |
| Each Weekend Day | startTime, endTime | Solo sábado y domingo |
| Each Week | startDay, startTime, endDay, endTime | Recurre cada semana, puede abarcar varios días |
| Each Month | startDayOfMonth, startTime, endDayOfMonth, endTime | Patrón mensual recurrente |
| Each Year | startMonth, startDayOfMonth, startTime, endMonth, endDayOfMonth, endTime | Patrón anual o estacional |
Tipos de Periodicidad en Detalle
Always
La opción más simple: la regla se aplica en todo momento, sin ninguna variación.
Úsalo cuando: El parámetro no cambia según la hora o necesitas una simulación base sencilla.
Default
Actúa como respaldo cuando ninguna otra regla por tiempo coincide con el momento de la simulación.
Úsalo cuando: Quieres definir excepciones para horarios concretos y el resto usar un valor por defecto.
Incluye Siempre una Default
Cuando uses varias reglas de periodicidad, incluye siempre la regla Default para cubrir vacíos. Así evitas comportamientos inesperados si ninguna regla específica coincide.
Each Day
La regla aplica durante ciertas horas todos los días de la semana.
Parámetros:
startTime: Hora de inicio de la regla (ej: 09:00)endTime: Hora de fin de la regla (ej: 17:00)
Ejemplo: Horario de oficina 09:00-17:00, todos los días incluidos fines de semana.
Each Weekday
La regla aplica durante ciertas horas solo de lunes a viernes.
Parámetros:
startTime: Hora de inicio de la reglaendTime: Hora de fin de la regla
Ejemplo: Soporte al cliente opera 08:00-18:00 en días laborables, con reglas distintas los fines de semana.
Each Weekend Day
La regla aplica durante ciertas horas solo sábados y domingos.
Parámetros:
startTime: Hora de inicio de la reglaendTime: Hora de fin de la regla
Ejemplo: Horario reducido de soporte: 10:00 a 16:00 en fines de semana.
Each Week
La regla aplica durante un rango que puede abarcar varios días a la semana. Útil para patrones que no se ajustan a un solo día.
Parámetros:
startDay: Día donde inicia la regla (lunes, martes, etc.)startTime: Hora de inicio en ese díaendDay: Día donde terminaendTime: Hora de fin en ese día
Ejemplo: Período de alto volumen de miércoles 14:00 hasta viernes 12:00.
Each Month
La regla aplica unos días concretos cada mes.
Parámetros:
startDayOfMonth: Día del mes donde inicia la regla (1-31)startTime: Hora de inicio en ese díaendDayOfMonth: Día del mes donde terminaendTime: Hora de fin en ese día
Ejemplo: Pico de procesamiento de cierre de mes del 25 a las 08:00 al último día a las 23:59.
Each Year
La regla aplica en fechas específicas cada año.
Parámetros:
startMonth: Mes de inicio de la reglastartDayOfMonth: Día del mes de iniciostartTime: Hora de inicio en ese díaendMonth: Mes de finendDayOfMonth: Día del mes de finendTime: Hora de fin en ese día
Ejemplo: Pico de ventas en retail por temporada, del 15 de noviembre 00:00 al 31 de diciembre 23:59.
Periodo Fijo
La regla se aplica durante un rango específico de fecha y hora (no recurrente). Usa esto para eventos únicos.
Parámetros:
startDateTime: Fecha y hora de inicio exactasendDateTime: Fecha y hora de fin exactas
Ejemplo: Semana de lanzamiento de producto del 15 al 22 de marzo de 2025, con reglas de manejo especiales.
Combinando Múltiples Reglas
La verdadera fuerza de la periodicidad surge al combinar varias reglas. Puedes definir distintos parámetros para diferentes contextos de tiempo y la simulación evalúa cuál se aplica en cada momento.
Ejemplo: Tiempos de Proceso por Turno
Considera un proceso de manufactura con distintos tiempos de procesamiento según el turno:
| Nombre de la regla | Periodicidad | Distribución del tiempo de proceso |
|---|---|---|
| Turno de Día | Cada día laborable, 08:00-16:00 | Normal(30 min, 5 min) |
| Turno de Tarde | Cada día laborable, 16:00-00:00 | Normal(45 min, 10 min) |
| Equipo de Fin de Semana | Cada fin de semana, 10:00-18:00 | Normal(60 min, 15 min) |
| Noche/Default | Default | Normal(90 min, 20 min) |
El turno de día es el más rápido (equipo completo, personas frescas). El de tarde es más lento (menos supervisión). Los fines de semana son los más lentos (equipo mínimo). Default cubre las horas nocturnas.
Prioridad de las Reglas
Si varias reglas pueden coincidir:
- Se evalúan en el orden definido en tu configuración
- Se usa la primera que coincida (la superior gana)
- Las reglas Default solo aplican si ninguna otra coincide
Tip: Coloca las reglas más específicas antes que las generales. Pon “Cada día laborable” antes que “Cada día” si quieres que laborables y fines de semana tengan distinto comportamiento.
Dónde Usar la Periodicidad
La periodicidad puede aplicarse a muchos parámetros de simulación:
| Parámetro | Ejemplo de uso de periodicidad |
|---|---|
| Case Arrivals | Mayor tasa de llegadas en horas de oficina, menor por la noche |
| Processing Times | Procesos más rápidos con personal completo, más lentos en horas de baja |
| Resource Capacity | Más personal en horas pico, personal mínimo por la noche |
| Skip Chances | Reglas de enrutamiento distintas en fines de semana o festivos |
| Gateway Probabilities | Decisiones distintas según la hora del día |
Ejemplo Completo: Centro de Soporte al Cliente
Aquí tienes un ejemplo práctico de cómo la periodicidad funciona en varios parámetros de una simulación de soporte al cliente:
Configuración de la Tasa de Llegada
| Periodicidad | Tasa de Llegada |
|---|---|
| Each Weekday 09:00-18:00 | Poisson(50 por hora) |
| Each Weekday 18:00-22:00 | Poisson(20 por hora) |
| Each Weekend Day 10:00-16:00 | Poisson(15 por hora) |
| Default | Poisson(5 por hora) |
Alto volumen en horario laboral, tráfico moderado por la tarde y bajo en fines de semana y noches.
Configuración de Tiempos de Proceso
| Periodicidad | Distribución |
|---|---|
| Cada día laborable 09:00-17:00 | Triangular(10, 20, 45 min) |
| Cada día de fin de semana | Triangular(20, 40, 90 min) |
| Default | Triangular(30, 60, 120 min) |
Más rápido con mayor personal, más lento en fines de semana y fuera de horario.
Configuración de Capacidad de Personal
| Periodicidad | Agentes disponibles |
|---|---|
| Cada día laborable 09:00-18:00 | 10 agentes |
| Cada día laborable 18:00-22:00 | 4 agentes |
| Cada día de fin de semana 10:00-16:00 | 3 agentes |
| Default | 1 agente |
Personal completo en horario laboral, cobertura reducida el resto del tiempo.
Cómo Funciona en Conjunto
A las 10:00 de un martes:
- Las llegadas usan la tasa de 50/hora
- El procesamiento usa la distribución triangular rápida
- Hay 10 agentes disponibles
A las 20:00 en martes:
- Las llegadas bajan a 20/hora
- El procesamiento usa la distribución default (más lenta)
- Hay solo 4 agentes disponibles
A las 14:00 en sábado:
- Llegadas de 15/hora
- Procesamiento con la distribución de fin de semana
- 3 agentes disponibles
Mejores Prácticas
1. Comienza con Default
Define la regla Default primero. Así aseguras cobertura en cualquier momento no contemplado por otras reglas.
2. De lo General a lo Específico
Empieza por patrones amplios (laboral vs. fin de semana) y luego agrega reglas más específicas (turnos individuales) si es necesario.
3. Empieza Simple
Comienza con diferencias sencillas (laboral/fines de semana) y luego suma detalles horarios o estacionales si hace falta. Puedes añadir complejidad después.
4. Basa los Patrones en tus Datos
Siempre que puedas, analiza tus datos históricos para conocer los patrones reales. Observa tasas de llegadas, tiempos de proceso y personal por hora y día de la semana.
5. Prueba Casos Límite
Verifica que tus reglas gestionan bien los cambios y transiciones:
- ¿Qué ocurre exactamente a las 17:00 al cambiar el turno?
- ¿La medianoche se gestiona bien?
- ¿Funcionan las reglas de fin de mes en meses de distinta duración?
6. Documenta Tus Reglas
Las configuraciones complejas de periodicidad pueden ser difíciles de entender después. Documenta por qué existe cada regla y qué patrón de negocio representa.