Cómo crear un registro de eventos para Process Mining

Lo que aprenderá

En esta guía aprenderá a crear desde cero un registro de eventos de process mining. Explicaremos las tres columnas esenciales que necesita todo registro de eventos, recorreremos un ejemplo realista y le mostraremos cómo crear su primer registro de eventos tanto con Excel como con SQL.

¿Qué es un registro de eventos de Process Mining?

Relacionado: Obtenga más información sobre la mejora de procesos y encuentre plantillas de datos para su sistema. Consulte también por qué no utilizamos conectores prediseñados y preferimos plantillas de datos sencillas.

Un registro de eventos de process mining es una tabla que registra lo que ocurre en su proceso empresarial. Hace seguimiento de cada paso de cada caso mientras avanza por sus sistemas. El software de Process Mining utiliza estos datos para mostrar cómo funciona realmente su proceso.

Todo registro de eventos necesita tres columnas esenciales:

Columna Qué significa Ejemplo
ID del caso Identificador único que agrupa eventos relacionados Pedido n.º 12345
Marca de tiempo Cuándo ocurrió el evento 15/01/2025 09:30:00
Actividad Qué ocurrió “Pedido realizado”

Eso es todo. Con estas tres columnas puede empezar a hacer Process Mining. Todo lo demás, como los nombres de clientes, los importes de los pedidos o los identificadores de empleados, es opcional. Estos campos adicionales se denominan “atributos” y aportan contexto al análisis.

Comprenda la diferencia entre eventos y actividades

Antes de continuar, aclaremos una confusión habitual.

Una actividad es un tipo de acción, como “Pedido enviado” o “Pago recibido”. Piense en ella como una categoría o etiqueta.

Un evento es una ocurrencia concreta de esa actividad. Cuando el pedido n.º 12345 se envía el 15 de enero a las 14:30, eso es un evento.

Su registro de eventos contiene eventos y cada evento tiene un nombre de actividad. En la práctica, estas palabras suelen utilizarse indistintamente, y no hay problema en hacerlo. Recuerde: las actividades describen el “qué”, mientras que los eventos describen “cuándo ocurrió y a quién”.

Nuestro ejemplo: el sistema de pedidos de Pizza Palace

Para que esta guía sea práctica, usaremos un sistema ficticio. Imagine que gestiona Pizza Palace, una pizzería local con un sistema de pedidos en línea. Los clientes hacen pedidos a través del sitio web, el personal prepara las pizzas y los repartidores las entregan.

El sistema de Pizza Palace tiene varias tablas de base de datos que registran distintas partes del proceso de pedidos:

  • orders: información básica del pedido (identificador, cliente y hora del pedido)
  • order_items: qué se pidió (pizzas, complementos y bebidas)
  • kitchen_queue: cuándo entran y salen los pedidos de la cocina
  • delivery_assignments: asignaciones de repartidores y seguimiento de las entregas
  • payments: registros del procesamiento de pagos

Su objetivo es crear un registro de eventos que muestre el recorrido completo de cada pedido, desde que se realiza hasta que se entrega.

Tipos de eventos: directos e inferidos

Al crear un registro de eventos, encontrará dos tipos de eventos:

Eventos directos

Los eventos directos se registran explícitamente en su sistema. Alguien hace clic en un botón o el sistema registra una acción, y la base de datos contiene una marca de tiempo para ella.

Ejemplos de Pizza Palace:

  • Pedido realizado (marca de tiempo en la tabla orders)
  • Pago recibido (marca de tiempo en la tabla payments)
  • Entrega completada (marca de tiempo en la tabla delivery_assignments)

Eventos inferidos

Los eventos inferidos no tienen una marca de tiempo propia, pero puede determinar cuándo ocurrieron a partir de otros datos.

Ejemplos de Pizza Palace:

  • «Pedido asignado al repartidor» podría no tener una marca de tiempo propia, pero la tabla delivery_assignments contiene un campo created_at que indica cuándo se realizó la asignación
  • «Pizza lista» podría inferirse a partir del momento en que el estado de la cola de cocina cambió a «completado»

La diferencia clave es que los eventos directos se registran explícitamente, mientras que los eventos inferidos requieren interpretar otros campos de datos. Ambos son válidos y útiles para Process Mining.

Planificación del registro de eventos

Antes de extraer los datos, decida qué eventos desea capturar. En Pizza Palace, seguiremos estas actividades:

  1. Pedido realizado - El cliente envía el pedido
  2. Pago recibido - El pago se procesa correctamente
  3. Pedido enviado a cocina - El pedido entra en la cola de preparación
  4. Pedido listo - La cocina marca el pedido como completado
  5. Asignado al repartidor - Se asigna un repartidor para la entrega
  6. Entrega completada - El pedido se entrega al cliente

Para cada evento, identifique:

  • Qué tabla contiene los datos
  • Qué campo proporciona la marca de tiempo
  • Cuál es el Case ID, que en nuestro caso corresponde al ID del pedido

Este es nuestro mapeo:

Actividad Tabla de origen Campo de marca de tiempo Campo de Case ID
Pedido realizado orders created_at id
Pago recibido payments payment_time order_id
Pedido enviado a cocina kitchen_queue queue_entry_time order_id
Pedido listo kitchen_queue completed_time order_id
Asignado al repartidor delivery_assignments assigned_at order_id
Entrega completada delivery_assignments delivered_at order_id

Añadir atributos de caso y de evento

El Case ID, la marca de tiempo y la actividad son obligatorios. Los Atributos hacen que el análisis sea más útil, ya que aportan contexto mediante columnas adicionales.

Atributos de caso

Los atributos de caso describen el caso completo, es decir, el pedido, y permanecen iguales para todos los eventos de ese caso:

  • Nombre del cliente
  • Valor total del pedido
  • Dirección de entrega
  • Número de artículos pedidos

Atributos de evento

Los atributos de evento se aplican a eventos individuales:

  • Nombre del repartidor (solo es relevante para los eventos de entrega)
  • Método de pago (solo es relevante para los eventos de pago)
  • Puesto de cocina (solo es relevante para los eventos de cocina)

Consejo práctico: Está bien incluir todos los atributos en cada fila, incluso cuando alguno no corresponda a un evento concreto. Por ejemplo, la fila «Pedido realizado» puede incluir una columna «Nombre del repartidor» vacía. Así mantendrá el registro de eventos en un formato de tabla simple y plana con el que las herramientas de Process Mining pueden trabajar fácilmente.

Crear el registro de eventos: una estructura sencilla

El registro de eventos final debe ser una sola tabla, con un evento por fila. Este es el aspecto que tendrá el registro de eventos de Pizza Palace:

Case ID Marca de tiempo Actividad Cliente Valor del pedido Repartidor Método de pago
1001 2025-01-15 18:30:00 Pedido realizado John Smith 45.99
1001 2025-01-15 18:30:15 Pago recibido John Smith 45.99 Tarjeta de crédito
1001 2025-01-15 18:31:00 Pedido enviado a cocina John Smith 45.99
1001 2025-01-15 18:45:00 Pedido listo John Smith 45.99
1001 2025-01-15 18:46:00 Asignado al repartidor John Smith 45.99 Maria Garcia
1001 2025-01-15 19:05:00 Entrega completada John Smith 45.99 Maria Garcia
1002 2025-01-15 18:35:00 Pedido realizado Jane Doe 28.50
1002 2025-01-15 18:35:20 Pago recibido Jane Doe 28.50 PayPal

Observe que los atributos de caso, como Cliente y Valor del pedido, se repiten en cada evento del mismo caso. Esta duplicación es intencionada y facilita el uso de los datos.

Método 1: Crear un registro de eventos en Excel

Si puede exportar sus datos a una hoja de cálculo, puede crear un registro de eventos manualmente. Este método funciona bien con conjuntos de datos pequeños y le ayuda a aprender los conceptos básicos.

Paso 1: Exportar cada tipo de evento a una hoja independiente

Cree una hoja de cálculo para cada tipo de actividad:

Hoja 1: Pedido realizado

Case ID Marca de tiempo Actividad Cliente Valor del pedido
1001 2025-01-15 18:30:00 Pedido realizado John Smith 45.99
1002 2025-01-15 18:35:00 Pedido realizado Jane Doe 28.50

Hoja 2: Pago recibido

Case ID Marca de tiempo Actividad Cliente Valor del pedido Método de pago
1001 2025-01-15 18:30:15 Pago recibido John Smith 45.99 Tarjeta de crédito
1002 2025-01-15 18:35:20 Pago recibido Jane Doe 28.50 PayPal

Paso 2: Estandarizar las columnas

Asegúrese de que todas las hojas tengan las mismas columnas y en el mismo orden. Añada columnas vacías cuando sea necesario:

Hoja 1: Pedido realizado (actualizada)

Case ID Marca de tiempo Actividad Cliente Valor del pedido Repartidor Método de pago
1001 2025-01-15 18:30:00 Pedido realizado John Smith 45.99

Paso 3: Combinar todas las hojas

Cree una hoja nueva llamada «Registro de eventos». Copie y pegue en ella todas las filas de cada hoja de actividad, una a continuación de otra.

Paso 4: Ordenar por Case ID y después por marca de tiempo

Seleccione todos sus datos y ordénelos por:

  1. Case ID (ascendente)
  2. Marca de tiempo (ascendente)

Así, los eventos quedarán en orden cronológico dentro de cada caso y podrá seguir el recorrido de cada pedido.

Paso 5: Exportar a CSV

Guarde la hoja combinada como un archivo CSV. Este formato funciona con prácticamente todas las herramientas de Process Mining.

Consejos para Excel:

  • Use VLOOKUP o XLOOKUP para incorporar atributos de caso, como el nombre del cliente, desde la hoja de pedidos
  • Use un formato de fecha coherente (YYYY-MM-DD HH:MM:SS suele ser la mejor opción)
  • Elimine los eventos duplicados antes de exportar

Método 2: Crear un registro de eventos con SQL

Para conjuntos de datos más grandes o extracciones recurrentes, SQL es más eficiente y fácil de repetir. La técnica clave consiste en usar UNION ALL para combinar varias consultas en un único conjunto de resultados.

Cómo funciona UNION ALL

UNION ALL apila los resultados de varias instrucciones SELECT. Cada SELECT añade filas al resultado final. Todas las instrucciones SELECT deben tener el mismo número de columnas y tipos de datos compatibles.

Ejemplo completo de SQL

Esta es una consulta SQL que crea un registro de eventos para 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;

Cómo ampliar esta consulta

Para añadir más eventos al registro:

  1. Copie uno de los bloques SELECT como plantilla
  2. Cambie el nombre de la tabla por el de su tabla de origen
  3. Actualice el campo de marca de tiempo con la columna correcta
  4. Cambie el nombre de la actividad para describir el evento
  5. Ajuste los atributos según sea necesario
  6. Añada condiciones WHERE adecuadas para filtrar los datos

Por ejemplo, para añadir un evento «Entrega intentada»:

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'

Buenas prácticas para crear un registro de eventos

1. Empiece por lo sencillo y añada complejidad después

Empiece con las tres columnas obligatorias y algunas actividades clave. Después de crear un registro de eventos básico y cargarlo en una herramienta de Process Mining, puede añadir más eventos y atributos.

2. Valide sus datos

Antes de iniciar el análisis, revise el registro de eventos para detectar problemas habituales:

  • Marcas de tiempo faltantes - Los eventos sin marcas de tiempo impiden realizar Process Mining
  • Eventos duplicados - Registrar el mismo evento dos veces distorsiona los resultados
  • Eventos fuera de orden - Un evento «Pedido listo» anterior a «Pedido realizado» indica un problema de calidad de datos
  • Eventos huérfanos - Eventos cuyos Case ID no aparecen en otras actividades

3. Documente su extracción

Tome notas sobre:

  • Qué tablas y registros de auditoría utilizó
  • Qué filtros aplicó
  • Cuándo ejecutó la extracción
  • Qué supuestos adoptó

Esta documentación resulta valiosa cuando más adelante necesite actualizar o solucionar problemas del registro de eventos.

4. Use nombres coherentes

Mantenga la coherencia en los nombres de las actividades entre las distintas extracciones:

  • «Pedido realizado» es mejor que usar «Pedido creado» en unas extracciones y «Nuevo pedido» en otras
  • Elija una convención de nombres y manténgala

5. Gestione las zonas horarias

Si sus datos proceden de varios sistemas o regiones, asegúrese de que todas las marcas de tiempo utilicen la misma zona horaria. UTC suele ser la opción más segura para mantener la coherencia.

Problemas habituales y soluciones

Ilustración de problemas habituales al crear registros de eventos para Process Mining

Problema: eventos sin marcas de tiempo

Algunos eventos podrían no tener su propia marca de tiempo. Por ejemplo, un evento «Pedido aprobado» podría estar representado únicamente por un indicador booleano.

Solución: Busque marcas de tiempo relacionadas. Puede encontrar un campo «approved_at» o utilizar la marca de tiempo «modified_at», correspondiente al momento en que cambió el indicador de aprobación.

Problema: volumen de eventos muy elevado

Si tiene varios millones de eventos, las consultas de extracción podrían ejecutarse lentamente o fallar.

Solución:

  • Añada filtros de fecha para limitar el periodo de extracción
  • Extraiga los datos por lotes, un mes cada vez, y combine los archivos posteriormente
  • Considere utilizar herramientas ETL específicas para extracciones a gran escala

¿Qué sigue? Cargue su registro de eventos en una herramienta de Process Mining

Una vez que haya creado el registro de eventos como archivo CSV o exportación de base de datos, podrá cargarlo en una herramienta de Process Mining. La mayoría de las herramientas siguen un proceso similar:

  1. Cargue su archivo o conecte la herramienta de Process Mining con los datos extraídos.
  2. Asigne sus columnas (Case ID, marca de tiempo y actividad)
  3. Configure los atributos adicionales que necesite
  4. Genere su mapa de procesos

Las herramientas modernas de Process Mining, como ProcessMind, simplifican este proceso. Cargue los datos de su registro de eventos y la herramienta visualizará automáticamente su proceso, mostrando cuellos de botella, variaciones y oportunidades de mejora que pueden ayudarle a reducir costes y optimizar los procesos operativos.

Conclusión

Crear un registro de eventos para Process Mining no requiere herramientas especializadas ni conocimientos técnicos avanzados. En esencia, consiste en organizar los datos de Process Mining en una tabla con tres columnas esenciales: Case ID, marca de tiempo y actividad.

Tanto si utiliza Excel para conjuntos de datos pequeños como SQL para extracciones más grandes y complejas, los principios son los mismos:

  1. Identifique los eventos que desea seguir
  2. Encuentre la marca de tiempo de cada tipo de evento
  3. Combine todo en una sola tabla
  4. Añada atributos para enriquecer el análisis

La parte más difícil no es la extracción técnica, sino comprender suficientemente sus operaciones para saber qué eventos son importantes. Empiece por los eventos evidentes, como el pedido realizado y el pedido completado, y añada detalles a medida que descubra qué información revela su herramienta de Process Mining.

¿Quiere profundizar? Explore nuestras páginas sobre mejora continua de procesos para obtener información detallada sobre las actividades y los requisitos de datos de procesos habituales, como Purchase to Pay, Order to Cash y Accounts Payable. Estos recursos incluyen plantillas de datos para sistemas conocidos como SAP, Oracle y Microsoft Dynamics, lo que le permitirá avanzar más rápido al crear su registro de eventos.

Comience hoy mismo

No espere a tener el registro de eventos perfecto. Empiece con lo que tiene, aprenda de los mapas de procesos que cree y vaya iterando. Incluso un registro de eventos sencillo, con actividades básicas, puede revelar información útil sobre el funcionamiento real de sus procesos.

Publicaciones relacionadas

Reciba en su bandeja de entrada información experta sobre Process Mining y la optimización de Workflows
Análisis de cuellos de botella del proceso: guía práctica

Análisis de cuellos de botella del proceso: guía práctica

Descubra cómo el análisis de cuellos de botella convierte los datos de process mining en oportunidades de mejora empresarial. Explore patrones, identifique cuel…

Por qué no utilizamos conectores prediseñados

Por qué no utilizamos conectores prediseñados

Los conectores de Process Mining pueden añadir complejidad, retrasos y dependencia del proveedor. Descubra cómo los Templates de datos simplifican la preparació…

Mejora de procesos Lean: guía basada en datos

Mejora de procesos Lean: guía basada en datos

Conozca el proceso DMAIC, el proceso Six Sigma y las herramientas de mejora de procesos Lean para lograr resultados empresariales medibles.

Alternativas a Celonis: compare herramientas de Process Mining

Alternativas a Celonis: compare herramientas de Process Mining

Compare Process Mining de Celonis con ProcessMind para encontrar el software que se adapte a sus procesos, presupuesto y objetivos.

Diseñe mejores procesos. Construya una arquitectura conectada. Mantenga el control.

Obtenga acceso inmediato sin tarjeta de crédito ni esperas. Convierta la forma en que trabaja su organización en diseños de procesos claros y conectados.

Construya su arquitectura de procesos, defina la propiedad y los controles, y alinee los roles y las responsabilidades en todos los niveles.

Comience su prueba gratuita y cree una base fiable para gobernar, gestionar y mejorar continuamente sus procesos.