Análise de gargalos de processos: um guia prático
Descubra como a análise de gargalos de processos transforma dados de Process Mining em oportunidades de melhoria para o negócio. Explore padrões, identifique ga…
O que você vai aprender
Neste guia, você vai aprender a criar do zero um Event Log de Process Mining. Vamos abordar as três colunas essenciais de que todo Event Log precisa, percorrer um exemplo do mundo real e mostrar como criar seu primeiro Event Log usando Excel e SQL.
Relacionado: saiba mais sobre melhoria de processos e encontre Templates de dados para seu sistema. Leia também por que deixamos de usar conectores prontos em favor de Templates de dados simples.
Um Event Log de Process Mining é uma tabela que registra o que acontece no seu processo de negócio. Ele acompanha cada etapa de cada caso enquanto o caso passa pelos seus sistemas. O software de Process Mining usa esses dados para mostrar como o processo realmente funciona.
Todo Event Log precisa de três colunas essenciais:
| Coluna | O que significa | Exemplo |
|---|---|---|
| ID do caso | Um identificador exclusivo que agrupa eventos relacionados | Pedido nº 12345 |
| Registro de data e hora | Quando o evento aconteceu | 15/01/2025 09:30:00 |
| Atividade | O que aconteceu | “Pedido realizado” |
É só isso. Com essas três colunas, você já pode começar a fazer Process Mining. Todo o restante, como nomes de clientes, valores dos pedidos ou IDs de colaboradores, é opcional. Esses campos adicionais são chamados de “atributos” e acrescentam contexto à sua análise.
Antes de continuar, vamos esclarecer um ponto comum de confusão.
Uma atividade é um tipo de ação, como “Pedido enviado” ou “Pagamento recebido”. Pense nela como uma categoria ou um rótulo.
Um evento é uma ocorrência específica dessa atividade. Quando o pedido nº 12345 é enviado em 15 de janeiro, às 14h30, isso é um evento.
Seu Event Log contém eventos, e cada evento tem um nome de atividade. Na prática, as pessoas costumam usar esses termos como sinônimos, e tudo bem. Lembre-se: as atividades descrevem “o quê”, enquanto os eventos descrevem “quando aconteceu e com quem”.
Para tornar este guia prático, vamos usar um sistema fictício. Imagine que você gerencia a Pizza Palace, uma pizzaria local com um sistema de pedidos online. Os clientes fazem pedidos pelo site, a equipe prepara as pizzas e os entregadores fazem as entregas.
O sistema da Pizza Palace tem várias tabelas de banco de dados que registram diferentes partes do processo de pedidos:
Seu objetivo é criar um Event Log que mostre a jornada completa de cada pedido, desde a realização até a entrega.
Ao criar um Event Log, você encontrará dois tipos de eventos:
Os eventos diretos são registrados explicitamente no seu sistema. Alguém clicou em um botão ou o sistema registrou uma ação, e o banco de dados contém um timestamp correspondente.
Exemplos da Pizza Palace:
orders)payments)delivery_assignments)Os eventos inferidos não têm um timestamp próprio, mas você consegue determinar quando aconteceram usando outros dados.
Exemplos da Pizza Palace:
delivery_assignments tem um campo created_at que mostra quando a atribuição foi feitaA principal diferença é que os eventos diretos são registrados explicitamente, enquanto os eventos inferidos exigem que você interprete outros campos de dados. Ambos são válidos e úteis para Process Mining.
Antes de extrair os dados, defina quais eventos você quer capturar. Para a Pizza Palace, vamos acompanhar estas atividades:
Para cada evento, identifique:
Veja nosso mapeamento:
| Case ID | Tabela de origem | Campo de timestamp | Campo do Case ID |
|---|---|---|---|
| Pedido realizado | orders | created_at | id |
| Pagamento recebido | payments | payment_time | order_id |
| Pedido enviado à cozinha | kitchen_queue | queue_entry_time | order_id |
| Pedido pronto | kitchen_queue | completed_time | order_id |
| Atribuído ao entregador | delivery_assignments | assigned_at | order_id |
| Entrega concluída | delivery_assignments | delivered_at | order_id |
Case ID, Timestamp e Activity são obrigatórios. Os atributos tornam sua análise mais útil ao adicionar contexto por meio de colunas extras.
Os atributos de caso descrevem todo o caso, ou pedido, e permanecem iguais em todos os eventos desse caso:
Os atributos de evento se aplicam a eventos individuais:
Dica prática: Não há problema em incluir todos os atributos em todas as linhas, mesmo quando um atributo não se aplica a um evento específico. Por exemplo, sua linha de “Pedido realizado” pode ter uma coluna “Nome do entregador” vazia. Assim, seu Event Log continua em um formato simples de tabela plana, fácil de usar nas ferramentas de Process Mining.
Seu Event Log final deve ser uma única tabela, com um evento por linha. Veja como ficará o Event Log da Pizza Palace:
| Case ID | Timestamp | Activity | Cliente | Valor do pedido | Entregador | Forma de pagamento |
|---|---|---|---|---|---|---|
| 1001 | 15/01/2025 18:30:00 | Pedido realizado | John Smith | 45,99 | ||
| 1001 | 15/01/2025 18:30:15 | Pagamento recebido | John Smith | 45,99 | Cartão de crédito | |
| 1001 | 15/01/2025 18:31:00 | Pedido enviado à cozinha | John Smith | 45,99 | ||
| 1001 | 15/01/2025 18:45:00 | Pedido pronto | John Smith | 45,99 | ||
| 1001 | 15/01/2025 18:46:00 | Atribuído ao entregador | John Smith | 45,99 | Maria Garcia | |
| 1001 | 15/01/2025 19:05:00 | Entrega concluída | John Smith | 45,99 | Maria Garcia | |
| 1002 | 15/01/2025 18:35:00 | Pedido realizado | Jane Doe | 28,50 | ||
| 1002 | 15/01/2025 18:35:20 | Pagamento recebido | Jane Doe | 28,50 | PayPal | |
| … | … | … | … | … | … | … |
Observe que os atributos de caso, como Cliente e Valor do pedido, se repetem em todos os eventos do mesmo caso. Essa duplicação é intencional e facilita o uso dos dados.
Se você consegue exportar seus dados para uma planilha, pode criar um Event Log manualmente. Essa abordagem funciona bem para conjuntos de dados pequenos e ajuda você a aprender o básico.
Crie uma planilha para cada tipo de atividade:
Planilha 1: Pedido realizado
| Case ID | Timestamp | Activity | Cliente | Valor do pedido |
|---|---|---|---|---|
| 1001 | 15/01/2025 18:30:00 | Pedido realizado | John Smith | 45,99 |
| 1002 | 15/01/2025 18:35:00 | Pedido realizado | Jane Doe | 28,50 |
Planilha 2: Pagamento recebido
| Case ID | Timestamp | Activity | Cliente | Valor do pedido | Forma de pagamento |
|---|---|---|---|---|---|
| 1001 | 15/01/2025 18:30:15 | Pagamento recebido | John Smith | 45,99 | Cartão de crédito |
| 1002 | 15/01/2025 18:35:20 | Pagamento recebido | Jane Doe | 28,50 | PayPal |
Verifique se todas as planilhas têm as mesmas colunas, na mesma ordem. Adicione colunas vazias quando necessário:
Planilha 1: Pedido realizado (atualizada)
| Case ID | Timestamp | Activity | Cliente | Valor do pedido | Entregador | Forma de pagamento |
|---|---|---|---|---|---|---|
| 1001 | 15/01/2025 18:30:00 | Pedido realizado | John Smith | 45,99 |
Crie uma nova planilha chamada “Event Log”. Copie e cole todas as linhas de cada planilha de atividades nessa planilha combinada, uma após a outra.
Selecione todos os seus dados e classifique-os por:
Isso coloca os eventos em ordem cronológica dentro de cada caso, permitindo acompanhar a jornada de cada pedido.
Salve a planilha combinada como um arquivo CSV. Esse formato funciona com praticamente todas as ferramentas de Process Mining.
Dicas para o Excel:
Para conjuntos de dados maiores ou extrações recorrentes, o SQL é mais eficiente e fácil de repetir. A técnica principal é usar UNION ALL para combinar várias consultas em um único conjunto de resultados.
UNION ALL empilha os resultados de várias instruções SELECT. Cada SELECT adiciona linhas ao resultado final. Todas as instruções SELECT precisam ter o mesmo número de colunas, com tipos de dados compatíveis.
Veja uma consulta SQL que cria um Event Log da Pizza Palace:
-- Event Log Extraction for Pizza Palace
-- This query combines multiple event types into a single event log
-- Each SELECT block represents one activity type
-- Event 1: Order Placed
-- Source: orders table
-- This captures when customers submit their orders
SELECT
o.id AS case_id, -- The order ID is our case identifier
o.created_at AS timestamp, -- When the order was placed
'Order Placed' AS activity, -- The activity name (hardcoded)
o.customer_name AS customer, -- Case attribute: who ordered
o.total_amount AS order_value, -- Case attribute: order value
NULL AS driver, -- Not applicable for this event
NULL AS payment_method -- Not applicable for this event
FROM orders o
WHERE o.created_at >= '2025-01-01' -- Filter to your desired date range
UNION ALL
-- Event 2: Payment Received
-- Source: payments table
-- This captures successful payment processing
SELECT
p.order_id AS case_id,
p.payment_time AS timestamp,
'Payment Received' AS activity,
o.customer_name AS customer, -- Join to get case attributes
o.total_amount AS order_value,
NULL AS driver,
p.payment_method AS payment_method -- Event-specific attribute
FROM payments p
JOIN orders o ON p.order_id = o.id -- Join to get order details
WHERE p.payment_time >= '2025-01-01'
AND p.status = 'successful' -- Only include successful payments
UNION ALL
-- Event 3: Order Sent to Kitchen
-- Source: kitchen_queue table
-- This captures when the kitchen starts working on the order
SELECT
k.order_id AS case_id,
k.queue_entry_time AS timestamp,
'Order Sent to Kitchen' AS activity,
o.customer_name AS customer,
o.total_amount AS order_value,
NULL AS driver,
NULL AS payment_method
FROM kitchen_queue k
JOIN orders o ON k.order_id = o.id
WHERE k.queue_entry_time >= '2025-01-01'
UNION ALL
-- Event 4: Order Ready
-- Source: kitchen_queue table (different timestamp field)
-- This is an inferred event based on when the kitchen marked it complete
SELECT
k.order_id AS case_id,
k.completed_time AS timestamp, -- Different timestamp than entry
'Order Ready' AS activity,
o.customer_name AS customer,
o.total_amount AS order_value,
NULL AS driver,
NULL AS payment_method
FROM kitchen_queue k
JOIN orders o ON k.order_id = o.id
WHERE k.completed_time >= '2025-01-01'
AND k.completed_time IS NOT NULL -- Only include completed orders
UNION ALL
-- Event 5: Assigned to Driver
-- Source: delivery_assignments table
-- This captures when a driver is assigned to deliver the order
SELECT
d.order_id AS case_id,
d.assigned_at AS timestamp,
'Assigned to Driver' AS activity,
o.customer_name AS customer,
o.total_amount AS order_value,
d.driver_name AS driver, -- Event-specific attribute
NULL AS payment_method
FROM delivery_assignments d
JOIN orders o ON d.order_id = o.id
WHERE d.assigned_at >= '2025-01-01'
UNION ALL
-- Event 6: Delivery Completed
-- Source: delivery_assignments table (different timestamp field)
-- This captures when the order was delivered to the customer
SELECT
d.order_id AS case_id,
d.delivered_at AS timestamp,
'Delivery Completed' AS activity,
o.customer_name AS customer,
o.total_amount AS order_value,
d.driver_name AS driver,
NULL AS payment_method
FROM delivery_assignments d
JOIN orders o ON d.order_id = o.id
WHERE d.delivered_at >= '2025-01-01'
AND d.delivered_at IS NOT NULL -- Only include completed deliveries
-- Final ordering: by case, then by time
-- This makes the event log easy to read and follow
ORDER BY case_id, timestamp;Para adicionar mais eventos ao seu log:
Por exemplo, para adicionar um evento “Entrega tentada”:
UNION ALL
-- Event 7: Delivery Attempted
-- Add this to track failed delivery attempts
SELECT
d.order_id AS case_id,
d.attempt_time AS timestamp,
'Delivery Attempted' AS activity,
o.customer_name AS customer,
o.total_amount AS order_value,
d.driver_name AS driver,
NULL AS payment_method
FROM delivery_attempts d
JOIN orders o ON d.order_id = o.id
WHERE d.attempt_time >= '2025-01-01' Comece com as três colunas obrigatórias e algumas atividades importantes. Depois de criar um Event Log básico e carregá-lo em uma ferramenta de Process Mining, você pode adicionar mais eventos e atributos.
Antes de iniciar sua análise, verifique se há problemas comuns no seu Event Log:
Mantenha anotações sobre:
Essa documentação é valiosa quando você precisar atualizar ou solucionar problemas no seu Event Log mais tarde.
Mantenha os nomes das atividades consistentes entre as extrações:
Se seus dados vierem de vários sistemas ou regiões, verifique se todos os timestamps usam o mesmo fuso horário. O UTC costuma ser a opção mais segura para manter a consistência.
Alguns eventos podem não ter um timestamp próprio. Por exemplo, um evento “Pedido aprovado” pode ser representado apenas por um indicador booleano.
Solução: Procure timestamps relacionados. Você pode encontrar um campo “approved_at” ou usar o timestamp “modified_at”, que indica quando o indicador de aprovação mudou.
Se você tiver vários milhões de eventos, suas consultas de extração podem ficar lentas ou falhar.
Solução:
Depois de criar seu registro de eventos como arquivo CSV ou exportação de banco de dados, você estará pronto para carregá-lo em uma ferramenta de Process Mining. A maioria das ferramentas segue um processo semelhante:
Ferramentas modernas de Process Mining, como o ProcessMind, tornam esse processo simples. Carregue os dados do seu registro de eventos e a ferramenta visualizará automaticamente seu processo, revelando gargalos, variações e oportunidades de melhoria que podem ajudar a reduzir custos e otimizar processos operacionais.
Criar um registro de eventos para Process Mining não exige ferramentas especializadas nem conhecimento técnico aprofundado. No essencial, você organiza seus dados de Process Mining em uma tabela com três colunas fundamentais: ID do caso, registro de data e hora e atividade.
Seja usando Excel para conjuntos de dados menores ou SQL para extrações maiores e mais complexas, os princípios são os mesmos:
A parte mais difícil não é a extração técnica. É entender suas operações de negócio o suficiente para saber quais eventos importam. Comece pelos eventos óbvios, como pedido realizado e pedido concluído, e acrescente detalhes à medida que você aprende quais insights a ferramenta de Process Mining revela.
Quer se aprofundar? Explore nossas páginas sobre melhoria contínua de processos para obter informações detalhadas sobre atividades e requisitos de dados de processos conhecidos, como Purchase to Pay, Order to Cash e Accounts Payable. Esses recursos incluem Templates de dados para sistemas conhecidos, como SAP, Oracle e Microsoft Dynamics, ajudando você a começar a criar seu registro de eventos.
Comece hoje
Não espere pelo registro de eventos perfeito. Comece com o que você tem, aprenda com os mapas de processo que criar e itere. Até um registro de eventos simples, com atividades básicas, pode revelar insights úteis sobre como seus processos realmente funcionam.
Descubra como a análise de gargalos de processos transforma dados de Process Mining em oportunidades de melhoria para o negócio. Explore padrões, identifique ga…
Conectores de Process Mining podem adicionar complexidade, atrasos e dependência do fornecedor. Descubra como Templates de dados simplificam a preparação de dad…
Aprenda sobre o processo DMAIC, o processo Six Sigma e as ferramentas de melhoria de processos Lean para gerar resultados de negócio mensuráveis.
Compare o Process Mining do Celonis com a ProcessMind para encontrar o software adequado aos seus processos, orçamento e objetivos.
Tenha acesso imediato, sem cartão de crédito e sem espera. Transforme a forma como sua organização trabalha em designs de processos claros e conectados.
Construa sua arquitetura de processos, defina responsabilidades e controles e alinhe funções e atribuições em todos os níveis.
Comece seu teste grátis e crie uma base confiável para governar, gerenciar e melhorar continuamente seus processos.
Usamos cookies para melhorar sua experiência, personalizar conteúdo e analisar o tráfego. Ao clicar em "Aceitar todos", você consente com o uso de cookies.