Süreç darboğazı analizi: Uygulamalı bir rehber
Süreç darboğazı analizinin process mining verilerini iş iyileştirme fırsatlarına nasıl dönüştürdüğünü öğrenin. Örüntüleri inceleyin, darboğazları belirleyin ve …
Neler öğreneceksiniz
Bu rehberde sıfırdan bir Process Mining olay günlüğünü nasıl oluşturacağınızı öğreneceksiniz. Her olay günlüğünün ihtiyaç duyduğu üç temel sütunu ele alacak, gerçek hayattan bir örneği inceleyecek ve Excel ile SQL kullanarak ilk olay günlüğünüzü nasıl oluşturacağınızı göstereceğiz.
İlgili: süreç iyileştirme hakkında daha fazla bilgi edinin ve sisteminiz için veri şablonlarını bulun. Ayrıca basit veri şablonlarını tercih ederek hazır bağlayıcılardan neden kaçındığımızı anlatan yazıyı okuyun.
Process Mining olay günlüğü, iş sürecinizde neler olduğunu kaydeden bir tablodur. Her vakanın sistemlerinizde ilerlerken geçtiği adımları takip eder. Process Mining yazılımı, sürecinizin gerçekte nasıl işlediğini göstermek için bu verileri kullanır.
Her olay günlüğünün üç temel sütuna ihtiyacı vardır:
| Sütun | Anlamı | Örnek |
|---|---|---|
| Vaka kimliği | İlişkili olayları birlikte gruplayan benzersiz tanımlayıcı | Order #12345 |
| Zaman damgası | Olayın gerçekleştiği zaman | 2025-01-15 09:30:00 |
| Etkinlik | Gerçekleşen işlem | “Order Placed” |
Hepsi bu kadar. Bu üç sütunla Process Mining yapmaya başlayabilirsiniz. Müşteri adları, sipariş tutarları veya çalışan kimlikleri gibi diğer her şey isteğe bağlıdır. Bu ek alanlara “öznitelikler” denir ve analizinize bağlam kazandırır.
Devam etmeden önce sık karşılaşılan bir karışıklığı açıklığa kavuşturalım.
Bir Activity, “Order Shipped” veya “Payment Received” gibi bir eylem türüdür. Bunu bir kategori veya etiket olarak düşünebilirsiniz.
Bir Event, bu Activitynin belirli bir gerçekleşme anıdır. Order #12345, 15 Ocak saat 14.30’da gönderildiğinde bu bir olaydır.
Olay günlüğünüz olayları içerir ve her olayın bir Activity adı vardır. Uygulamada insanlar bu terimleri çoğu zaman birbirinin yerine kullanır ve bu sorun değildir. Şunu unutmayın: Activity “neyi”, olay ise “ne zaman ve kimin başına geldiğini” anlatır.
Bu rehberi uygulamalı hale getirmek için kurgusal bir sistem kullanalım. Çevrim içi sipariş sistemi olan yerel bir pizzacı Pizza Palace’ı yönettiğinizi düşünün. Müşteriler web sitesinden sipariş verir, çalışanlar pizzaları hazırlar ve kuryeler teslim eder.
Pizza Palace sistemi, sipariş sürecinin farklı bölümlerini takip eden birkaç veritabanı tablosuna sahiptir:
Amacınız, her siparişin sipariş verilmesinden teslimata kadar tüm yolculuğunu gösteren bir olay günlüğü oluşturmaktır.
Bir olay günlüğü oluştururken iki tür olayla karşılaşırsınız:
Doğrudan olaylar sisteminize açıkça kaydedilir. Bir kullanıcı bir düğmeye tıklar veya sistem bir işlemi günlüğe kaydeder ve veritabanında bu işlem için bir zaman damgası bulunur.
Pizza Palace örnekleri:
orders tablosundaki zaman damgası)payments tablosundaki zaman damgası)delivery_assignments tablosundaki zaman damgası)Çıkarımsal olayların kendilerine ait bir zaman damgası yoktur, ancak ne zaman gerçekleştiğini diğer verilerden belirleyebilirsiniz.
Pizza Palace örnekleri:
delivery_assignments tablosundaki created_at alanı atamanın ne zaman yapıldığını gösterirTemel fark şudur: Doğrudan olaylar açıkça kaydedilirken çıkarımsal olayları belirlemek için diğer veri alanlarını yorumlamanız gerekir. Her iki tür de geçerlidir ve Process Mining için faydalıdır.
Verileri çıkarmadan önce hangi olayları yakalamak istediğinize karar verin. Pizza Palace için şu aktiviteleri izleyelim:
Her olay için şunları belirleyin:
Haritalamamız şu şekilde:
| Aktivite | Kaynak tablo | Zaman damgası alanı | Case ID alanı |
|---|---|---|---|
| Sipariş verildi | orders | created_at | id |
| Ödeme alındı | payments | payment_time | order_id |
| Sipariş mutfağa gönderildi | kitchen_queue | queue_entry_time | order_id |
| Sipariş hazır | kitchen_queue | completed_time | order_id |
| Sürücüye atandı | delivery_assignments | assigned_at | order_id |
| Teslimat tamamlandı | delivery_assignments | delivered_at | order_id |
Case ID, zaman damgası ve aktivite zorunludur. Öznitelikler, ek sütunlarla bağlam sağlayarak analizinizin faydasını artırır.
Case öznitelikleri, tüm Case’i veya siparişi tanımlar ve o Case içindeki her olay için aynı kalır:
Olay öznitelikleri tek tek olaylar için geçerlidir:
İpucu: Bir öznitelik belirli bir olay için geçerli olmasa bile her satıra ekleyebilirsiniz. Örneğin, “Sipariş verildi” satırında boş bir “Sürücü adı” sütunu bulunabilir. Bu yaklaşım, olay günlüğünüzü Process Mining araçlarının kolayca kullanabileceği basit ve düz bir tablo formatında tutar.
Son olay günlüğünüz tek bir tablodan oluşmalı ve her satırda bir olay bulunmalıdır. Pizza Palace olay günlüğümüz şöyle görünecek:
| Case ID | Zaman damgası | Aktivite | Müşteri | Sipariş tutarı | Sürücü | Ödeme yöntemi |
|---|---|---|---|---|---|---|
| 1001 | 2025-01-15 18:30:00 | Sipariş verildi | John Smith | 45.99 | ||
| 1001 | 2025-01-15 18:30:15 | Ödeme alındı | John Smith | 45.99 | Kredi kartı | |
| 1001 | 2025-01-15 18:31:00 | Sipariş mutfağa gönderildi | John Smith | 45.99 | ||
| 1001 | 2025-01-15 18:45:00 | Sipariş hazır | John Smith | 45.99 | ||
| 1001 | 2025-01-15 18:46:00 | Sürücüye atandı | John Smith | 45.99 | Maria Garcia | |
| 1001 | 2025-01-15 19:05:00 | Teslimat tamamlandı | John Smith | 45.99 | Maria Garcia | |
| 1002 | 2025-01-15 18:35:00 | Sipariş verildi | Jane Doe | 28.50 | ||
| 1002 | 2025-01-15 18:35:20 | Ödeme alındı | Jane Doe | 28.50 | PayPal | |
| … | … | … | … | … | … | … |
Müşteri ve sipariş tutarı gibi Case özniteliklerinin aynı Case içindeki her olay için tekrarlandığına dikkat edin. Bu tekrar bilinçlidir ve verilerle çalışmayı kolaylaştırır.
Verilerinizi bir elektronik tabloya aktarabiliyorsanız olay günlüğünü manuel olarak oluşturabilirsiniz. Bu yöntem küçük veri setleri için uygundur ve temel bilgileri öğrenmenize yardımcı olur.
Her aktivite türü için bir çalışma sayfası oluşturun:
Sayfa 1: Sipariş verildi
| Case ID | Zaman damgası | Aktivite | Müşteri | Sipariş tutarı |
|---|---|---|---|---|
| 1001 | 2025-01-15 18:30:00 | Sipariş verildi | John Smith | 45.99 |
| 1002 | 2025-01-15 18:35:00 | Sipariş verildi | Jane Doe | 28.50 |
Sayfa 2: Ödeme alındı
| Case ID | Zaman damgası | Aktivite | Müşteri | Sipariş tutarı | Ödeme yöntemi |
|---|---|---|---|---|---|
| 1001 | 2025-01-15 18:30:15 | Ödeme alındı | John Smith | 45.99 | Kredi kartı |
| 1002 | 2025-01-15 18:35:20 | Ödeme alındı | Jane Doe | 28.50 | PayPal |
Her sayfada aynı sütunların aynı sırayla bulunduğundan emin olun. Gerektiğinde boş sütunlar ekleyin:
Sayfa 1: Sipariş verildi (güncellendi)
| Case ID | Zaman damgası | Aktivite | Müşteri | Sipariş tutarı | Sürücü | Ödeme yöntemi |
|---|---|---|---|---|---|---|
| 1001 | 2025-01-15 18:30:00 | Sipariş verildi | John Smith | 45.99 |
Yeni bir “Olay günlüğü” sayfası oluşturun. Her aktivite sayfasındaki tüm satırları bu birleşik sayfaya arka arkaya kopyalayıp yapıştırın.
Tüm verilerinizi seçin ve şu ölçütlere göre sıralayın:
Bu işlem, her Case içindeki olayları kronolojik sıraya koyar ve her siparişin yolculuğunu izlemenizi sağlar.
Birleştirilmiş sayfayı CSV dosyası olarak kaydedin. Bu format neredeyse tüm Process Mining araçlarıyla çalışır.
Excel ipuçları:
Daha büyük veri setleri veya tekrarlanan aktarımlar için SQL daha verimli ve tekrarlanabilirdir. Buradaki temel teknik, birden fazla sorguyu tek bir sonuç kümesinde birleştirmek için UNION ALL kullanmaktır.
UNION ALL, birden fazla SELECT ifadesinin sonuçlarını alt alta ekler. Her SELECT, sonuca satırlar ekler. Tüm SELECT ifadeleri aynı sayıda sütuna ve uyumlu veri türlerine sahip olmalıdır.
Aşağıdaki SQL sorgusu bir Pizza Palace olay günlüğü oluşturur:
-- 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;Günlüğünüze daha fazla olay eklemek için:
Örneğin, “Teslimat denendi” olayını eklemek için:
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' Üç zorunlu sütun ve birkaç önemli aktiviteyle başlayın. Temel bir olay günlüğü oluşturup bunu bir Process Mining aracına yükledikten sonra daha fazla olay ve öznitelik ekleyebilirsiniz.
Analize başlamadan önce olay günlüğünüzü yaygın sorunlar açısından kontrol edin:
Şu bilgileri not edin:
Bu belgeler, ileride olay günlüğünüzü güncellemeniz veya sorun gidermeniz gerektiğinde çok faydalı olur.
Aktivitelerin adlarını aktarımlar arasında tutarlı tutun:
Verileriniz birden fazla sistemden veya bölgeden geliyorsa tüm zaman damgalarının aynı zaman dilimini kullandığından emin olun. Tutarlılık için UTC çoğu zaman en güvenli seçenektir.
Bazı olayların kendilerine ait bir zaman damgası olmayabilir. Örneğin, “Sipariş onaylandı” olayı yalnızca bir Boolean işaretiyle temsil edilebilir.
Çözüm: İlişkili zaman damgalarını arayın. Bir “approved_at” alanı bulabilir veya onay işareti değiştiğinde kaydedilen “modified_at” zaman damgasını kullanabilirsiniz.
Birkaç milyon olayınız varsa aktarım sorgularınız yavaş çalışabilir veya başarısız olabilir.
Çözüm:
Olay günlüğünüzü CSV dosyası veya veritabanı aktarımı olarak oluşturduktan sonra onu bir Process Mining aracına yüklemeye hazırsınız. Çoğu araçta süreç benzerdir:
ProcessMind gibi modern Process Mining araçları ProcessMind bu süreci kolaylaştırır. Olay günlüğü verilerinizi yüklediğinizde araç sürecinizi otomatik olarak görselleştirir; maliyetleri azaltmanıza ve operasyonel süreçleri iyileştirmenize yardımcı olabilecek darboğazları, farklılıkları ve iyileştirme fırsatlarını ortaya çıkarır.
Process Mining olay günlüğü oluşturmak için özel araçlara veya ileri düzey teknik bilgiye ihtiyacınız yoktur. Temel olarak Process Mining verilerinizi üç temel sütun içeren bir tabloda düzenlersiniz: Case ID, zaman damgası ve aktivite.
Daha küçük veri setleri için Excel’i, daha büyük ve karmaşık aktarımlar için SQL’i kullansanız da temel ilkeler aynıdır:
En zor kısım teknik aktarım değildir. Asıl zorluk, hangi olayların önemli olduğunu anlayacak kadar iş operasyonlarınızı tanımaktır. Siparişin verilmesi ve tamamlanması gibi açık olaylarla başlayın, ardından Process Mining aracınızın ortaya çıkardığı içgörüleri öğrendikçe ayrıntıları ekleyin.
Daha derine inmeye hazır mısınız? Popüler süreçlerdeki aktiviteler ve veri gereksinimleri hakkında ayrıntılı bilgi için sürekli süreç iyileştirme sayfalarımıza göz atın. Bu süreçler arasında Satın Almadan Ödemeye, Siparişten Tahsilata ve Borçlar Muhasebesi bulunur. Bu kaynaklarda SAP, Oracle ve Microsoft Dynamics gibi yaygın sistemler için veri şablonları yer alır. Böylece olay günlüğünüzü oluşturmaya daha hızlı başlayabilirsiniz.
Bugün başlayın
Mükemmel olay günlüğünü beklemeyin. Elinizdeki verilerle başlayın, oluşturduğunuz süreç haritalarından öğrenin ve yineleyerek ilerleyin. Temel aktiviteler içeren basit bir olay günlüğü bile süreçlerinizin gerçekte nasıl işlediği hakkında faydalı içgörüler ortaya çıkarabilir.
Süreç darboğazı analizinin process mining verilerini iş iyileştirme fırsatlarına nasıl dönüştürdüğünü öğrenin. Örüntüleri inceleyin, darboğazları belirleyin ve …
Process Mining bağlayıcıları karmaşıklık, gecikme ve bağımlılık yaratabilir. Veri Templatelerinin Process Mining veri hazırlığını nasıl kolaylaştırdığını öğreni…
Ölçülebilir iş sonuçları elde etmek için DMAIC sürecini, Six Sigma sürecini ve yalın süreç iyileştirme araçlarını öğrenin.
Süreçlerinize, bütçenize ve hedeflerinize uygun yazılımı bulmak için Celonis Process Mining ile ProcessMind’i karşılaştırın.
Kredi kartı gerektirmeden ve beklemeden hemen erişim sağlayın. Kuruluşunuzun çalışma biçimini net ve bağlantılı süreç tasarımlarına dönüştürün.
Süreç mimarinizi oluşturun, sahiplik ve kontrolleri tanımlayın, rolleri ve sorumlulukları her düzeyde uyumlu hale getirin.
Ücretsiz denemeyi başlatın ve süreçlerinizi yönetmek, yönlendirmek ve sürekli iyileştirmek için güvenilir bir temel oluşturun.
Deneyiminizi iyileştirmek, içeriği kişiselleştirmek ve trafiği analiz etmek için çerezleri kullanıyoruz. "Tümünü kabul et" seçeneğine tıklayarak çerezleri kullanmamıza izin vermiş olursunuz.