Process mining 이벤트 로그 만들기: 구축 방법 — article illustration

내보낸 데이터를 실제로 사용할 수 있는 이벤트 로그로 만들기

열 확인하기

Process Mining

Process mining 이벤트 로그 만들기: 구축 방법

적절한 열을 갖춘 process mining 이벤트 로그를 만들어 보세요. 다운로드 가능한 레스토랑 예제와 Excel 및 SQL로 만드는 단계별 방법을 소개합니다.

process mining 이벤트 로그는 케이스 ID별로 묶은 타임스탬프 포함 액티비티를 하나의 표로 정리하는 데서 시작합니다. 이 안내서에서는 가상의 레스토랑 주문 프로세스를 예로 들어 시스템 데이터로 표를 만드는 방법을 설명합니다. Excel에서 몇 개 행을 직접 정리하는 방법과 UNION ALL를 사용해 액티비티를 하나로 합치는 SQL 쿼리를 모두 소개합니다. 작업하면서 완성된 예제 로그와 비교해 보세요.

ProcessMind에서 데이터 불러오기

이벤트 로그 만들기는 막막한 작업으로 여겨지곤 합니다. 하지만 한 번에 모든 것을 하려 하지 않으면 어렵지 않습니다. 템플릿이나 Excel의 몇 개 행으로 오늘 시작하고, 필요한 내용을 파악한 뒤 규모를 늘리세요.

Roel Vliegen
Roel Vliegen 공동 창업자 겸 CEO

process mining 이벤트 로그: 필요한 세 가지 열

이벤트 로그는 프로세스에서 발생한 일을 구조화해 기록한 데이터입니다. 각 행은 주문 접수나 결제 완료와 같은 이벤트 하나를 나타냅니다. 케이스 ID는 관련 이벤트를 연결하고 타임스탬프는 각 이벤트가 발생한 시점을 표시합니다. 이 두 정보와 액티비티를 활용하면 도구에서 케이스가 프로세스를 어떻게 거치는지 재구성할 수 있습니다.

액티비티는 유형이고 이벤트는 실제 발생 건입니다. 액티비티는 ‘주문 발송’과 같은 작업의 유형입니다. 이벤트는 그 작업이 실제로 발생한 한 건을 뜻합니다. 예를 들어 주문 12345가 1월 15일 오후 2시 30분에 발송된 경우입니다. 로그에는 이벤트가 기록되고, 각 이벤트에는 액티비티 이름이 포함됩니다. 두 용어를 같은 의미로 쓰기도 하지만 데이터 준비 단계에서는 구분이 중요합니다. 액티비티는 어떤 일이 있었는지를, 이벤트는 해당 케이스에서 그 일이 언제 발생했는지를 나타냅니다.

기본적인 process mining 이벤트 로그에는 다음 세 열이 필요합니다.

열 포함하는 정보 예시
케이스 ID 같은 케이스에 속하는 이벤트를 묶는 식별자 1001
타임스탬프 이벤트가 발생한 시점 2025-01-15 18:30:00
액티비티 발생한 작업 Order Placed

다음 단계로 넘어가기 전에 세 필드를 확인하세요.

확인 항목 확인할 내용
케이스 ID 관련 이벤트의 ID가 같고, 서로 다른 케이스의 ID는 다른지 확인합니다.
타임스탬프 각 이벤트에 사용할 수 있는 날짜와 시간이 있는지 확인합니다.
액티비티 추출한 데이터 전체에서 이름이 명확하고 일관적인지 확인합니다.

이 세 필드가 기본이며, 하나라도 누락되거나 일관되지 않으면 프로세스 보기에 실제 업무 순서가 잘못 나타납니다. 나머지 필드는 선택 사항입니다. process mining 도구가 읽을 수 있는 이벤트 로그는 케이스와 이벤트를 담은 하나의 표이며, 비즈니스 프로세스 분석에 사용할 이벤트 로그의 필수 열은 언제나 같습니다. 지원 형식과 데이터 준비 단계는 process mining 데이터 문서에서 확인하세요.

예제로 살펴보기: 피자 팰리스 주문 시스템

단계를 구체적으로 설명하기 위해 피자 팰리스라는 가상의 레스토랑을 예로 들겠습니다. 고객은 온라인으로 주문하고, 직원은 음식을 준비하며, 배달 기사는 주문을 배달합니다. 이 예제에는 고객 데이터가 포함되어 있지 않습니다.

시스템에 다음과 같은 테이블이 저장되어 있다고 가정해 보겠습니다.

  • orders: 주문 ID, 고객, 주문 시각
  • order_items: 주문별 피자, 사이드 메뉴, 음료
  • kitchen_queue: 주문이 주방에 들어오고 나간 시각
  • delivery_assignments: 배달 기사 배정 및 배달 추적 정보
  • payments: 결제 처리 기록

목표는 주문 접수부터 배달 완료까지 각 주문을 추적하는 이벤트 로그 하나를 만드는 것입니다. 주문 ID를 케이스 ID로 사용하고, 관련 타임스탬프와 액티비티를 각각 한 행으로 기록합니다. process mining 이벤트 로그 예시인 피자 팰리스 예제 로그를 다운로드하고, 열 구성을 직접 추출한 데이터와 비교해 보세요.

데이터를 추출하기 전에 포함할 액티비티를 정하세요. 피자 팰리스의 주문 처리 과정은 다음 여섯 단계로 구성됩니다.

  1. 주문 접수: 고객이 주문을 제출합니다.
  2. 결제 완료: 결제가 정상적으로 처리됩니다.
  3. 주방 전달: 주문이 조리 대기열에 들어갑니다.
  4. 조리 완료: 주방에서 주문 준비가 끝났다고 표시합니다.
  5. 배달 기사 배정: 배달 기사가 지정됩니다.
  6. 배달 완료: 주문이 고객에게 전달됩니다.

각 액티비티의 원본 테이블, 타임스탬프 필드, 케이스 ID 필드를 확인하세요. 케이스 ID가 이벤트를 올바른 주문에 연결하는지도 검증해야 합니다.

액티비티 원본 테이블 타임스탬프 필드 케이스 ID 필드
주문 접수 orders created_at id
결제 완료 payments payment_time order_id
주방 전달 kitchen_queue queue_entry_time order_id
조리 완료 kitchen_queue completed_time order_id
배달 기사 배정 delivery_assignments assigned_at order_id
배달 완료 delivery_assignments delivered_at order_id

직접 기록된 이벤트와 추론한 이벤트를 구분하세요. 직접 기록된 이벤트는 원본 시스템에 명시적인 기록과 타임스탬프가 있습니다. 주문 접수는 orders 행의 타임스탬프에서, 결제 완료는 payments에서, 배달 완료는 delivery_assignments에서 가져옵니다. 타임스탬프가 분석하려는 이벤트의 발생 시점을 나타낸다면 일반적으로 간단히 추출할 수 있습니다.

추론한 이벤트는 자체 기록이 없으므로 다른 필드에서 발생 시점을 추정합니다. 배달 기사 배정은 배달 배정 정보가 생성된 시각만 기록되어 있을 수 있고, 조리 완료는 주방 대기열 상태가 ‘완료’로 바뀐 시점만 확인할 수 있습니다. 추론한 이벤트도 유용하지만, 어떤 방식으로 추정했는지 문서화하세요. 상태 변경 시각이나 기록 생성 시각이 액티비티 이름이 뜻하는 시점과 정확히 일치하지 않을 수 있습니다. 이벤트 타임스탬프로 사용하기 전에 원본 시스템을 잘 아는 사람에게 필드의 의미를 확인하세요.

이 매핑은 계획일 뿐, 모든 필드가 적합하다는 증거는 아닙니다. 타임스탬프가 채워져 있는지, 각 테이블을 주문 ID와 조인할 때 중복 행이 생기지 않는지 확인하세요.

케이스 및 이벤트 속성

속성을 추가하면 분석에 필요한 맥락을 확인할 수 있습니다. 케이스 ID, 타임스탬프, 액티비티 외의 열을 뜻하며, 의미가 명확하고 올바른 케이스나 이벤트에 연결할 수 있는 경우에만 추가하는 것이 좋습니다.

케이스 속성은 케이스 전체에 대한 정보이며, 일반적으로 해당 케이스의 이벤트마다 값이 같습니다. 고객 이름, 주문 총액, 배달 주소, 주문한 품목 수 등이 이에 해당합니다. 평면 이벤트 로그에서는 같은 케이스의 각 행에 값을 반복해 기록합니다. 그래야 나중에 케이스 수준의 정보를 기준으로 이벤트를 필터링하거나 비교할 수 있습니다.

이벤트 속성은 이벤트 하나에 대한 정보입니다. 배달 이벤트의 배달 기사, 결제 이벤트의 결제 수단, 주방 이벤트의 조리 구역이 그 예입니다. 이런 열은 모든 행에 적용되지 않으므로 해당하지 않는 행은 비워 두되, 모든 행의 구조가 같도록 열은 유지하세요.

완성된 이벤트 로그는 이벤트 하나를 한 행에 기록한 평면 테이블 하나로 구성해야 합니다. 다음은 피자 팰리스 로그 예시입니다.

케이스 ID 타임스탬프 액티비티 고객 주문 금액 배달 기사 결제 수단
1001 2025-01-15 18:30:00 주문 접수 John Smith 45.99
1001 2025-01-15 18:30:15 결제 완료 John Smith 45.99 신용카드
1001 2025-01-15 18:31:00 주방 전달 John Smith 45.99
1001 2025-01-15 18:45:00 조리 완료 John Smith 45.99
1001 2025-01-15 18:46:00 배달 기사 배정 John Smith 45.99 Maria Garcia
1001 2025-01-15 19:05:00 배달 완료 John Smith 45.99 Maria Garcia
1002 2025-01-15 18:35:00 주문 접수 Jane Doe 28.50
1002 2025-01-15 18:35:20 결제 완료 Jane Doe 28.50 PayPal
… … … … … … …

같은 케이스에 속한 각 이벤트 행에 고객과 주문 금액이 반복됩니다. 이는 의도된 구성입니다. 이렇게 해야 process mining 도구가 읽을 수 있는 단순한 테이블 형식으로 로그를 유지할 수 있습니다.

방법 1: Excel에서 만들기

Excel은 소량의 데이터를 추출하거나 처음 연습할 때 적합합니다. 이벤트 유형별로 데이터를 내보내고 열 구성을 통일한 다음, 행을 하나의 시트에 합치세요. 아래 다섯 단계는 피자 팰리스 데이터 기준으로 약 1시간이 걸립니다.

1단계: 이벤트 유형별로 별도의 시트에 내보냅니다. 액티비티 유형마다 워크시트를 하나씩 만드세요. 예를 들면 다음과 같습니다.

시트 1: 주문 접수

케이스 ID 타임스탬프 액티비티 고객 주문 금액
1001 2025-01-15 18:30:00 주문 접수 John Smith 45.99
1002 2025-01-15 18:35:00 주문 접수 Jane Doe 28.50

시트 2: 결제 완료

케이스 ID 타임스탬프 액티비티 고객 주문 금액 결제 수단
1001 2025-01-15 18:30:15 결제 완료 John Smith 45.99 신용카드
1002 2025-01-15 18:35:20 결제 완료 Jane Doe 28.50 PayPal

같은 방법으로 주방 이벤트와 배달 이벤트 시트도 만드세요.

2단계: 열 구성을 통일합니다. 모든 시트에서 열 이름과 순서를 같게 하고, 해당하지 않는 속성은 빈 열로 추가하세요. 예를 들어 주문 접수 시트에도 전체 열을 넣을 수 있습니다.

케이스 ID 타임스탬프 액티비티 고객 주문 금액 배달 기사 결제 수단
1001 2025-01-15 18:30:00 주문 접수 John Smith 45.99

값의 형식이 서로 호환되는지 확인하세요. 특히 타임스탬프가 날짜와 시간으로 저장되어 있는지, 타임스탬프처럼 보이는 텍스트로만 저장되어 있지는 않은지 확인해야 합니다.

3단계: 시트를 하나로 합칩니다. 새 시트의 이름을 이벤트 로그로 지정하고, 각 활동 시트의 이벤트 행을 복사해 한곳에 모읍니다. 머리글은 하나만 두고 행마다 이벤트 하나를 기록합니다.

4단계: 케이스와 타임스탬프를 기준으로 정렬합니다. 결합한 데이터를 Case ID 오름차순으로 정렬한 다음 Timestamp 오름차순으로 정렬합니다. 각 케이스의 이벤트 순서를 확인하기 쉽습니다. 정렬해도 부정확한 타임스탬프가 바로잡히지는 않으므로, 순서에 의존하기 전에 시간이 같거나 예상과 다른 이벤트가 있는지 확인합니다.

5단계: CSV로 내보냅니다. 결합한 시트를 도구에서 읽을 수 있는 process mining 이벤트 로그 CSV로 저장합니다. 내보낸 파일을 한 번 열어 헤더, 구분 기호, 날짜 형식, 빈 값이 예상대로 표시되는지 확인합니다.

Excel 사용 팁:

  • VLOOKUP 또는 XLOOKUP을 사용해 주문 시트에서 고객 이름과 같은 케이스 속성을 가져옵니다.
  • YYYY-MM-DD HH:MM:SS와 같이 날짜와 시간 형식을 일관되게 사용합니다.
  • 내보내기 전에 중복 행이 있는지 확인합니다.
  • 수정 내역을 추적할 수 있도록 원본 추출 데이터는 변경하지 않은 상태로 보관합니다.

방법 2: SQL로 만들기

데이터가 데이터베이스에 있거나 추출량이 많거나 다음 달에도 같은 추출 작업을 반복해야 한다면 SQL을 사용하는 편이 좋습니다. 일반적으로 각 활동별 SELECT을 만들고 UNION ALL로 쌓아 올립니다.

UNION ALL의 작동 방식 여러 SELECT 문이 반환한 행을 차례로 쌓습니다. 각 문은 열의 수와 순서가 같아야 하고, 데이터 유형이 서로 호환되어야 합니다. 또한 별칭을 일관되게 지정해 최종 열 이름을 명확히 해야 합니다.

쿼리 아래 예시는 가상의 Pizza Palace 테이블을 사용합니다. 적용하기 전에 실제 테이블 및 필드 이름, 타임스탬프의 의미, SQL 방언을 확인하세요.

-- 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;

쿼리는 주문 ID를 케이스 ID로 사용하고 각 활동에 동일한 7개 열을 반환합니다. 속성이 적용되지 않는 경우에도 열 구조를 유지하기 위해 NULL 값을 사용합니다. 날짜 필터와 결제 완료 조건은 예시일 뿐입니다. 분석할 프로세스와 기간에 맞는 필터를 선택하세요.

쿼리 확장하기 활동을 추가하려면 다음과 같이 합니다.

  1. SELECT 블록을 복사해 시작점으로 사용합니다.
  2. 이벤트가 기록된 원본 테이블을 사용합니다.
  3. 타임스탬프를 나타내는 필드를 선택합니다.
  4. 다른 행과 일관된 활동 이름을 지정합니다.
  5. 케이스 ID와 관련 속성을 포함합니다.
  6. 분석 목적에 맞는 필터를 추가합니다.

예를 들어 시스템에 관련 테이블과 필드가 있다면 배송 시도 이벤트를 다음과 같이 추가할 수 있습니다.

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'

로그 분석 전 확인 사항

로그를 분석하기 전에 다음 항목을 확인합니다. 이 점검은 중복, 누락된 타임스탬프, 일관되지 않은 케이스 ID, 활동으로 잘못 해석된 상태 필드 등 process mining 결과를 오도할 수 있는 대표적인 이벤트 로그 문제를 다룹니다.

  1. 필수 열부터 시작합니다. 이벤트나 속성을 더 추가하기 전에 케이스 ID, 타임스탬프, 활동으로 구성된 간단한 로그를 만듭니다.
  2. 일관된 케이스 ID를 사용합니다. 같은 케이스의 모든 이벤트에 동일한 식별자를 사용해야 합니다. 프로세스 진행 중 값이 바뀌는 항목은 사용하지 않습니다.
  3. 활동 이름을 일관되게 유지합니다. “주문 접수”처럼 하나의 이름을 정하고 “주문 생성”, “신규 주문”과 섞어 쓰지 않습니다.
  4. 타임스탬프를 확인합니다. 이벤트가 발생한 시점을 나타내는지, 시간대가 일관적인지, 날짜와 시간 기준으로 정렬할 수 있는지 확인합니다.
  5. 중복과 누락된 값을 검토합니다. 반복 이벤트와 케이스 ID, 타임스탬프 또는 활동이 누락된 행을 확인합니다.
  6. 추출 과정을 문서화합니다. 소스 테이블, 필드, 필터, 추출 날짜, 전제 조건을 기록합니다. 이렇게 하면 로그를 더 쉽게 업데이트하고 문제를 해결할 수 있습니다.
  7. 속성은 신중하게 추가합니다. 질문에 답하는 데 도움이 되는 필드를 포함하고, 조인으로 이벤트 행이 늘어나지 않는지 확인합니다.

중복 이벤트부터 누락된 케이스 ID까지 흔히 발생하는 데이터 문제 7가지는 이 페이지 마지막 FAQ에서 각각 해결 방법을 확인할 수 있습니다. 반복 추출 작업은 process mining을 위한 ETL에서 다룹니다.

데이터가 없을 때 해야 할 일

이벤트 로그를 준비하는 데 미리 구축된 커넥터가 꼭 필요한 것은 아닙니다. 먼저 시스템에서 어떤 데이터를 내보낼 수 있는지, 필수 필드 3개를 받을 수 있는지 확인합니다.

  1. 분석할 프로세스와 추적할 케이스 ID를 정합니다.
  2. 시스템에서 이벤트 이력, 감사 기록 또는 타임스탬프가 포함된 상태 변경 내역을 내보낼 수 있는지 확인합니다.
  3. 데이터 템플릿을 사용해 사용 가능한 필드를 케이스 ID, 타임스탬프, 활동에 매핑합니다.
  4. 바로 사용할 수 있는 이벤트 테이블을 내보낼 수 없다면 데이터 팀에 이벤트마다 한 행이 있는 데이터베이스 추출본이나 보고서를 요청합니다.

시스템에서 내보낸 데이터는 여러 테이블로 나뉘거나 같은 필드가 서로 다른 이름으로 표시될 수 있습니다. 각 필드의 의미를 보존하고 원본을 추적할 수 있다면 Excel이나 SQL에서 데이터를 결합하고 이름을 바꿀 수 있습니다. process mining 데이터 출처에서는 활용 가능한 원본 데이터가 있는 다른 위치를 살펴봅니다. 프로세스 개선 가이드에는 시스템별 데이터 템플릿이 포함되어 있어 1~3단계를 이미 수행한 상태로 시작할 수 있습니다.

형식을 비교할 다른 process mining 이벤트 로그 예시가 필요하다면 예제 로그 파일 및 템플릿 모음에서 바로 사용할 수 있는 스프레드시트를 확인하세요. 이벤트 로그 템플릿 페이지에는 필수 열과 선택 열이 정리되어 있습니다. 첫 번째 데이터 세트를 불러오는 방법은 첫 데이터 세트 불러오기를 참조하세요.

작성한 로그 불러오기

로그가 준비되면 파일을 불러와 필수 열 3개를 매핑합니다. ProcessMind는 Excel, CSV, 데이터베이스 추출 파일을 바로 읽을 수 있습니다.

  1. 파일을 업로드하거나 데이터베이스 추출본을 선택합니다.
  2. 케이스 ID, 타임스탬프, 활동 열을 매핑합니다.
  3. 추가 속성을 검토합니다.
  4. 프로세스 뷰를 생성하고 케이스와 이벤트 순서가 타당한지 확인합니다.
ProcessMind에서 데이터 세트 열을 활동, 케이스, 속성 역할에 매핑
ProcessMind에서 데이터 세트 열을 활동, 케이스, 속성 역할에 매핑한 화면

프로세스 뷰를 통해 누락된 활동, 예상과 다른 순서, 추가 조사가 필요한 영역을 찾을 수 있습니다. 하지만 원본 데이터를 수정하거나 실제 업무 수행 방식을 바꾸지는 않습니다. 첫 결과에서 데이터 문제가 발견되면 추출 데이터를 수정한 뒤 다시 불러오세요. 첫 데이터 세트 불러오기에서 업로드와 매핑 방법을 자세히 설명합니다.

Where to Go From Here

이벤트 로그나 로그를 만드는 데 필요한 열 3개를 준비했다면, 다음 단계는 실제 프로세스가 어떻게 진행되는지 확인하는 것입니다.

방금 작성한 로그 불러오기

자주 묻는 질문

측정하려는 이벤트를 가장 잘 나타내는 데이터 소스를 정해 일관되게 사용하고, 선택한 이유를 문서화하세요. 두 기록이 서로 다른 단계를 나타낸다면 하나를 중복으로 처리하지 말고 액티비티 이름을 다르게 지정하세요.

기록이 승인된 시점이나 상태가 변경된 시점처럼 관련된 시간 필드를 찾아보세요. 일반적인 수정 시각 필드만 사용할 수 있다면 해당 필드가 확인하려는 변경 시점을 기록하는지 검증하세요. 추론한 시간을 정확한 시각인 것처럼 표시해서는 안 됩니다.

원본 키와 조인 조건을 확인하세요. 실제 중복임을 확인한 경우에만 행을 삭제해야 합니다. 액티비티와 타임스탬프가 같더라도 서로 다른 두 이벤트일 수 있습니다.

각 시스템이 시간을 저장하는 방식을 확인하고, 데이터를 결합하기 전에 UTC와 같은 하나의 시간대로 변환한 뒤 변환 내역을 기록하세요. 그렇지 않으면 시스템별 이벤트 순서가 잘못 표시될 수 있습니다.

원본 키와 ID를 채우는 조인 조건을 확인하세요. 값이 같은 케이스를 가리킨다는 점을 확인한 경우에만 형식을 통일하고, 누락된 ID를 추측해 채우지 마세요.

대개 그렇지 않습니다. 상태는 기록의 현재 상태를 나타낼 뿐, 어떤 일이 언제 발생했는지는 보여 주지 않습니다. 타임스탬프가 포함된 상태 이력이나 감사 추적을 찾아보세요. 상태 변경으로 이벤트를 추론한다면 적용한 규칙을 기록하고 시스템을 잘 아는 사람에게 확인하세요.

필요한 기간으로 범위를 좁히고 데이터를 나누어 추출한 다음 결과를 합치세요. 반복적으로 추출하거나 대량 데이터를 다룬다면 ETL 프로세스를 고려하세요. process mining용 ETL 안내서에서 데이터 준비와 변환 단계를 자세히 확인할 수 있습니다.

관련 블로그 게시물

process mining과 워크플로 최적화에 관한 전문가의 인사이트를 이메일로 받아보세요
Process mining용 ETL 도구: 필요한 기능

데이터

Process mining용 ETL 도구: 필요한 기능

process mining에 ETL이 필요한 경우, 추출 데이터에 포함해야 할 내용, 기존 파이프라인의 결과물을 ProcessMind에서 불러오는 방법을 알아보세요.

MCP 서버와 process mining: 데이터로 연결하는 다리

Process Mining

MCP 서버와 process mining: 데이터로 연결하는 다리

AI 어시스턴트는 접근할 수 있는 맥락만큼 유용합니다. ProcessMind의 MCP 서버는 이미 정리해 둔 프로세스 지식에 연결해 줍니다.

Process mining 커넥터, 언제 도입할 가치가 있을까요?

데이터

Process mining 커넥터, 언제 도입할 가치가 있을까요?

process mining 커넥터를 도입하고 유지하는 데 드는 비용이 언제 정당화되는지 알아보세요. 이미 보유한 내보내기 파일과 데이터 템플릿으로 시작하는 방법도 소개합니다.

AI와 비즈니스 프로세스 아키텍처: 검토와 승인을 거친 단일 기준 정보

프로세스 아키텍처

AI와 비즈니스 프로세스 아키텍처: 검토와 승인을 거친 단일 기준 정보

AI는 아키텍처 초안을 작성하고 문서를 읽고 분석할 수 있습니다. 무엇이 기준 정보인지 결정하는 것은 사람입니다. 검토와 승인을 거친 단일 정보원, 승인된 버전, MCP를 통한 모든 어시스턴트의 접근을 갖추세요.

더 나은 프로세스를 설계하고, 연결된 아키텍처를 구축해 관리하세요.

신용카드 등록이나 대기 없이 바로 이용할 수 있습니다. 조직의 업무 방식을 명확하고 유기적으로 연결된 프로세스 설계로 바꿔 보세요.

프로세스 아키텍처를 구축하고, 소유권과 통제 기준을 정립하며, 모든 계층의 역할과 책임을 조율하세요.

무료 체험을 시작하고 프로세스를 관리·운영하고 지속적으로 개선할 수 있는 신뢰할 만한 기반을 마련하세요.