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…
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.
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.
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”.
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:
Su objetivo es crear un registro de eventos que muestre el recorrido completo de cada pedido, desde que se realiza hasta que se entrega.
Al crear un registro de eventos, encontrará dos tipos de eventos:
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:
orders)payments)delivery_assignments)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:
delivery_assignments contiene un campo created_at que indica cuándo se realizó la asignaciónLa 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.
Antes de extraer los datos, decida qué eventos desea capturar. En Pizza Palace, seguiremos estas actividades:
Para cada evento, identifique:
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 |
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.
Los atributos de caso describen el caso completo, es decir, el pedido, y permanecen iguales para todos los eventos de ese caso:
Los atributos de evento se aplican a eventos individuales:
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.
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.
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.
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 |
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 |
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.
Seleccione todos sus datos y ordénelos por:
Así, los eventos quedarán en orden cronológico dentro de cada caso y podrá seguir el recorrido de cada pedido.
Guarde la hoja combinada como un archivo CSV. Este formato funciona con prácticamente todas las herramientas de Process Mining.
Consejos para Excel:
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.
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.
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;Para añadir más eventos al registro:
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' 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.
Antes de iniciar el análisis, revise el registro de eventos para detectar problemas habituales:
Tome notas sobre:
Esta documentación resulta valiosa cuando más adelante necesite actualizar o solucionar problemas del registro de eventos.
Mantenga la coherencia en los nombres de las actividades entre las distintas extracciones:
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.
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.
Si tiene varios millones de eventos, las consultas de extracción podrían ejecutarse lentamente o fallar.
Solución:
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:
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.
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:
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.
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…
Los conectores de Process Mining pueden añadir complejidad, retrasos y dependencia del proveedor. Descubra cómo los Templates de datos simplifican la preparació…
Conozca el proceso DMAIC, el proceso Six Sigma y las herramientas de mejora de procesos Lean para lograr resultados empresariales medibles.
Compare Process Mining de Celonis con ProcessMind para encontrar el software que se adapte a sus procesos, presupuesto y objetivos.
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.
Utilizamos cookies para mejorar su experiencia, personalizar el contenido y analizar el tráfico. Al hacer clic en «Aceptar todo», acepta nuestro uso de cookies.