Como criar um Event Log de Process Mining

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.

O que é um Event Log de Process Mining?

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.

Entenda a diferença entre eventos e atividades

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”.

Nosso exemplo: o sistema de pedidos da Pizza Palace

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:

  • orders - Informações básicas do pedido (ID do pedido, cliente, horário do pedido)
  • order_items - O que foi pedido (pizzas, acompanhamentos, bebidas)
  • kitchen_queue - Quando os pedidos entram e saem da cozinha
  • delivery_assignments - Atribuição de entregadores e acompanhamento das entregas
  • payments - Registros do processamento de pagamentos

Seu objetivo é criar um Event Log que mostre a jornada completa de cada pedido, desde a realização até a entrega.

Tipos de eventos: diretos e inferidos

Ao criar um Event Log, você encontrará dois tipos de eventos:

Eventos diretos

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:

  • Pedido realizado (timestamp na tabela orders)
  • Pagamento recebido (timestamp na tabela payments)
  • Entrega concluída (timestamp na tabela delivery_assignments)

Eventos inferidos

Os eventos inferidos não têm um timestamp próprio, mas você consegue determinar quando aconteceram usando outros dados.

Exemplos da Pizza Palace:

  • “Pedido atribuído ao entregador” pode não ter um timestamp próprio, mas a tabela delivery_assignments tem um campo created_at que mostra quando a atribuição foi feita
  • “Pizza pronta” pode ser inferida a partir do momento em que o status da fila da cozinha mudou para “concluído”

A 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.

Planejando seu Event Log

Antes de extrair os dados, defina quais eventos você quer capturar. Para a Pizza Palace, vamos acompanhar estas atividades:

  1. Pedido realizado - Cliente envia o pedido
  2. Pagamento recebido - Pagamento é processado com sucesso
  3. Pedido enviado à cozinha - Pedido entra na fila de preparo
  4. Pedido pronto - A cozinha marca o pedido como concluído
  5. Atribuído ao entregador - Um entregador é designado para fazer a entrega
  6. Entrega concluída - Pedido é entregue ao cliente

Para cada evento, identifique:

  • Qual tabela contém os dados
  • Qual campo fornece o timestamp
  • Qual é o Case ID, que, neste caso, é o ID do pedido

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

Adicionando atributos de caso e de evento

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.

Atributos de caso

Os atributos de caso descrevem todo o caso, ou pedido, e permanecem iguais em todos os eventos desse caso:

  • Nome do cliente
  • Valor total do pedido
  • Endereço de entrega
  • Quantidade de itens pedidos

Atributos de evento

Os atributos de evento se aplicam a eventos individuais:

  • Nome do entregador (relevante apenas para eventos de entrega)
  • Forma de pagamento (relevante apenas para eventos de pagamento)
  • Estação da cozinha (relevante apenas para eventos da cozinha)

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.

Criando o Event Log: a estrutura simples

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.

Método 1: criando um Event Log no Excel

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.

Etapa 1: exporte cada tipo de evento para uma planilha separada

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

Etapa 2: padronize as colunas

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

Etapa 3: combine todas as planilhas

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.

Etapa 4: classifique por Case ID e depois por Timestamp

Selecione todos os seus dados e classifique-os por:

  1. Case ID (crescente)
  2. Timestamp (crescente)

Isso coloca os eventos em ordem cronológica dentro de cada caso, permitindo acompanhar a jornada de cada pedido.

Etapa 5: exporte para CSV

Salve a planilha combinada como um arquivo CSV. Esse formato funciona com praticamente todas as ferramentas de Process Mining.

Dicas para o Excel:

  • Use VLOOKUP ou XLOOKUP para trazer atributos de caso, como o nome do cliente, da planilha de pedidos
  • Use um formato de data consistente (YYYY-MM-DD HH:MM:SS costuma funcionar melhor)
  • Remova eventos duplicados antes de exportar

Método 2: criando um Event Log com SQL

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.

Entendendo o UNION ALL

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.

Exemplo completo de SQL

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;

Como estender esta consulta

Para adicionar mais eventos ao seu log:

  1. Copie um dos blocos SELECT como Template
  2. Altere o nome da tabela para o nome da tabela de origem
  3. Atualize o campo de timestamp para a coluna correta
  4. Altere o nome da atividade para descrever o evento
  5. Ajuste os atributos conforme necessário
  6. Adicione condições WHERE adequadas para filtrar os dados

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'

Boas práticas para criar um Event Log

1. Comece de forma simples e adicione complexidade depois

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.

2. Valide seus dados

Antes de iniciar sua análise, verifique se há problemas comuns no seu Event Log:

  • Timestamps ausentes - Eventos sem timestamp comprometem o Process Mining
  • Eventos duplicados - Registrar o mesmo evento duas vezes distorce seus resultados
  • Eventos fora de ordem - Um evento “Pedido pronto” antes de “Pedido realizado” indica um problema de qualidade dos dados
  • Eventos órfãos - Eventos com Case IDs que não aparecem em outras atividades

3. Documente sua extração

Mantenha anotações sobre:

  • Quais tabelas e trilhas de auditoria você usou
  • Quais filtros você aplicou
  • Quando você executou a extração
  • Quaisquer premissas que você adotou

Essa documentação é valiosa quando você precisar atualizar ou solucionar problemas no seu Event Log mais tarde.

4. Use nomes consistentes

Mantenha os nomes das atividades consistentes entre as extrações:

  • “Pedido realizado” é melhor do que usar “Pedido criado” em algumas extrações e “Novo pedido” em outras
  • Escolha uma convenção de nomes e siga-a

5. Considere os fusos horários

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.

Desafios comuns e soluções

Ilustração de desafios comuns na criação de Event Logs para Process Mining

Desafio: eventos sem timestamps

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.

Desafio: volume muito alto de eventos

Se você tiver vários milhões de eventos, suas consultas de extração podem ficar lentas ou falhar.

Solução:

  • Adicione filtros de data para limitar o período de extração
  • Extraia em lotes, um mês por vez, e combine os arquivos depois
  • Considere usar ferramentas ETL dedicadas para extrações em grande escala

Qual é o próximo passo? Carregue seu registro de eventos em uma ferramenta de Process Mining

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:

  1. Carregue seu arquivo ou conecte a ferramenta de Process Mining aos dados extraídos.
  2. Mapeie suas colunas (ID do caso, registro de data e hora, atividade)
  3. Configure outros atributos, se necessário
  4. Gere seu mapa de processo

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.

Conclusão

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:

  1. Identifique os eventos que você quer acompanhar
  2. Encontre o registro de data e hora de cada tipo de evento
  3. Combine tudo em uma única tabela
  4. Adicione atributos para enriquecer sua análise

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.

Publicações relacionadas

Receba no seu e-mail insights especializados sobre Process Mining e otimização de Workflows
Análise de gargalos de processos: um guia prático

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…

Por que não usamos conectores prontos

Por que não usamos conectores prontos

Conectores de Process Mining podem adicionar complexidade, atrasos e dependência do fornecedor. Descubra como Templates de dados simplificam a preparação de dad…

Melhoria de processos Lean: um guia orientado por dados

Melhoria de processos Lean: um guia orientado por dados

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.

Alternativas ao Celonis: compare ferramentas de Process Mining

Alternativas ao Celonis: compare ferramentas de Process Mining

Compare o Process Mining do Celonis com a ProcessMind para encontrar o software adequado aos seus processos, orçamento e objetivos.

Crie processos melhores. Construa uma arquitetura conectada. Mantenha o controle.

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.