Periodicidade e Parâmetros Variáveis no Tempo
O que é Periodicidade?
Processos reais não funcionam igual o tempo todo. Atendimento recebe mais ligações no horário comercial. Indústria tem diferentes turnos e equipes. Varejo passa por picos sazonais.
Periodicidade permite definir quando regras específicas da simulação são aplicadas. Assim, em vez de um só valor, você pode usar parâmetros diferentes para cada período:
- Dias úteis vs. fins de semana
- Turno da manhã vs. turno da noite
- Alta vs. baixa temporada
- Horário comercial vs. fora do expediente
Isso faz a simulação refletir a realidade de cada contexto.
Por que a Periodicidade é Importante
Considere um exemplo: modelando a chegada de clientes.
Sem periodicidade:
- 10 clientes por hora, 24/7
Com periodicidade:
- 25 clientes por hora, dias úteis 9h-18h
- 15 clientes por hora, dias úteis 18h-21h
- 5 clientes por hora, fins de semana
- 2 clientes por hora, de madrugada
O segundo modelo reflete a demanda real e impacta filas, uso de recursos e produtividade.
Tipos de Periodicidade Disponíveis
O ProcessMind suporta nove tipos de periodicidade, cada um indicando quando uma regra é aplicada:
| Tipo | Parâmetros | Descrição |
|---|---|---|
| Always | (nenhum) | Regra aplicada em todos os momentos, sem variação |
| Default | (nenhum) | Regra de fallback quando nenhuma outra regra de tempo é aplicada |
| Fixed Period | startDateTime, endDateTime | Período único (não recorrente) |
| Each Day | startTime, endTime | Mesma faixa de horário todos os dias |
| Each Weekday | startTime, endTime | Válida somente de segunda a sexta-feira |
| Each Weekend Day | startTime, endTime | Válida apenas aos sábados e domingos |
| Each Week | startDay, startTime, endDay, endTime | Recorrência semanal, pode abranger vários dias |
| Each Month | startDayOfMonth, startTime, endDayOfMonth, endTime | Padrão mensal recorrente |
| Each Year | startMonth, startDayOfMonth, startTime, endMonth, endDayOfMonth, endTime | Recorrência anual ou sazonal |
Tipos de Periodicidade em Detalhe
Always
A opção mais simples—a regra se aplica sempre, sem variação no tempo.
Quando usar: Quando o parâmetro não muda conforme o tempo ou em uma simulação básica inicial.
Default
Serve como fallback se nenhuma outra regra de tempo for aplicada naquele momento.
Quando usar: Para definir exceções de horário e usar valor padrão no restante.
Inclua sempre um Default
Ao usar várias regras de periodicidade, sempre inclua uma regra Default para cobrir possíveis lacunas e evitar resultados inesperados quando não há regra específica.
Each Day
A regra é aplicada em horários específicos todos os dias da semana.
Parâmetros:
startTime: Horário de início (ex: 09:00)endTime: Horário de término (ex: 17:00)
Exemplo: Horário comercial das 09:00 às 17:00 todos os dias, inclusive fim de semana.
Each Weekday
A regra é aplicada em horários específicos somente de segunda a sexta-feira.
Parâmetros:
startTime: Horário de inícioendTime: Horário de término
Exemplo: Atendimento funciona das 08:00 às 18:00 nos dias úteis, com outras regras nos fins de semana.
Each Weekend Day
A regra vale para horários específicos apenas aos sábados e domingos.
Parâmetros:
startTime: Horário inicialendTime: Horário de término
Exemplo: Suporte reduzido das 10:00 às 16:00 nos fins de semana.
Each Week
A regra é aplicada em um intervalo que pode abranger vários dias da semana. Útil para padrões que não se encaixam em dias isolados.
Parâmetros:
startDay: Dia de início (segunda, terça, etc.)startTime: Horário inicialendDay: Dia de términoendTime: Horário de término
Exemplo: Período de alto volume da quarta às 14:00 até sexta ao meio-dia.
Each Month
A regra vale para dias determinados de cada mês.
Parâmetros:
startDayOfMonth: Dia inicial (1-31)startTime: Horário de inícioendDayOfMonth: Dia de términoendTime: Horário final
Exemplo: Pico de processamento do dia 25 às 08:00 até o último dia do mês às 23:59.
Each Year
A regra é aplicada em datas específicas todos os anos.
Parâmetros:
startMonth: Mês de iníciostartDayOfMonth: Dia inicialstartTime: Horário inicialendMonth: Mês finalendDayOfMonth: Dia finalendTime: Horário final
Exemplo: Pico de vendas de 15/11 às 00:00 até 31/12 às 23:59.
Período Fixo
A regra se aplica a um intervalo de data e hora específico (não recorrente). Use para eventos pontuais.
Parâmetros:
startDateTime: Data e hora inicial exataendDateTime: Data e hora final exata
Exemplo: Semana de lançamento do produto de 15 a 22 de março de 2025, com regras especiais.
Combinando Múltiplas Regras
O maior benefício da periodicidade está em combinar várias regras. É possível definir parâmetros diferentes para contextos de tempo distintos e a simulação avalia qual regra se aplica a cada momento.
Exemplo: Tempo de Processamento em Turnos
Considere um processo industrial com tempos de processamento diferentes por turno:
| Nome da Regra | Periodicidade | Distribuição do Tempo de Processamento |
|---|---|---|
| Day Shift | Cada dia útil, 08:00-16:00 | Normal(30 min, 5 min) |
| Evening Shift | Cada dia útil, 16:00-00:00 | Normal(45 min, 10 min) |
| Weekend Crew | Cada final de semana, 10:00-18:00 | Normal(60 min, 15 min) |
| Overnight/Default | Padrão | Normal(90 min, 20 min) |
O turno diurno é o mais rápido (equipe completa e descansada). No turno noturno, o ritmo diminui (menos supervisão). Finais de semana são os mais lentos (equipe reduzida). O padrão cobre as horas da madrugada.
Prioridade das Regras
Quando várias regras podem coincidir:
- As regras são avaliadas na ordem em que foram definidas na configuração
- A primeira regra correspondente é usada (a de cima tem prioridade)
- Regras padrão só valem se nenhuma outra regra se aplicar
Dica: Coloque regras mais específicas acima das mais gerais. Use “Cada dia útil” antes de “Cada dia” se quiser diferenças entre semana e fim de semana.
Onde Utilizar a Periodicidade
A periodicidade pode ser aplicada a vários parâmetros da simulação:
| Parâmetro | Exemplos de Uso de Periodicidade |
|---|---|
| Case Arrivals | Mais chegadas no horário comercial, menos durante a madrugada |
| Processing Times | Processamento rápido com equipe completa, mais lento em horários reduzidos |
| Resource Capacity | Mais equipe nos horários de pico, equipe mínima à noite |
| Skip Chances | Regras de roteamento diferentes para finais de semana e feriados |
| Gateway Probabilities | Decisões diferentes conforme o horário do dia |
Exemplo Completo: Central de Suporte ao Cliente
Exemplo de como a periodicidade funciona em diferentes parâmetros em uma simulação de atendimento ao cliente:
Configuração de Taxa de Chegada
| Periodicidade | Taxa de Chegada |
|---|---|
| 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) |
Grande volume no horário comercial, fluxo moderado à noite, baixo nos fins de semana e madrugadas.
Configuração do Tempo de Processamento
| Periodicidade | Distribuição |
|---|---|
| Cada dia útil 09:00-17:00 | Triangular(10, 20, 45 min) |
| Cada final de semana | Triangular(20, 40, 90 min) |
| Padrão | Triangular(30, 60, 120 min) |
Mais rápido no pico da equipe, mais lento em finais de semana e fora do expediente.
Configuração da Capacidade da Equipe
| Periodicidade | Agentes Disponíveis |
|---|---|
| Cada dia útil 09:00-18:00 | 10 agentes |
| Cada dia útil 18:00-22:00 | 4 agentes |
| Cada final de semana 10:00-16:00 | 3 agentes |
| Padrão | 1 agente |
Equipe completa no horário comercial; cobertura reduzida nos demais horários.
Como Funciona na Prática
Às 10:00 em uma terça-feira:
- Chegadas utilizam a taxa de 50/hora
- Processamento usa a distribuição triangular rápida
- 10 agentes disponíveis
Às 20:00 em uma terça-feira:
- Chegadas caem para 20/hora
- Processamento usa a distribuição padrão (mais lenta)
- Apenas 4 agentes disponíveis
Às 14:00 em um sábado:
- Chegadas são 15/hora
- Processamento utiliza a distribuição de fim de semana
- 3 agentes disponíveis
Boas Práticas
1. Comece pelo Default
Sempre defina primeiro a regra Default. Assim, você garante cobertura para qualquer momento não especificado em outras regras.
2. Do Geral ao Específico
Comece com padrões amplos (dias úteis vs. fins de semana) e só adicione regras detalhadas (turnos, horários) conforme precisar.
3. Comece Simples
Diferencie só dias úteis de fins de semana no início. Se for necessário, adicione horários ou sazonalidade depois.
4. Use Dados Reais
Sempre que possível, analise dados históricos para identificar padrões reais. Veja taxas de chegada, tempos de processamento e equipes por horário e dia.
5. Teste Casos Limite
Veja se suas regras lidam bem com transições de horário:
- O que acontece às 17:00 na troca de turno?
- A meia-noite funciona corretamente?
- As regras de fim de mês funcionam mesmo em meses com número de dias diferente?
6. Documente Suas Regras
Configurações de periodicidade mais complexas podem ser difíceis de lembrar depois. Descreva por que cada regra existe e o padrão de negócio que representa.