GAMI

Process Analysis & Flow Simulation

From a manufacturing event log to a calibrated simulation of the assembly line

← All demos

Purpose

Reconstruction of routings, process times, quality and disruptions from a manufacturing event log, and use of these parameters for a flow simulation of the line.

Background

Based on the process analysis and flow simulation project from the production engineering seminar SS2026 (Python, SimPy). The assembly line, its parameters and the event log in this demo are simulated; the analysis steps follow the original methodology.

Procedure

  1. Configure the simulated line on the left or keep the defaults. It produces an event log.
  2. Work through tabs 1 to 4 to derive the simulation parameters from the log.
  3. Use tab 5 to simulate improvements with the derived parameters.
1

Event log

One row per scan, cleaned of duplicates

2

Process map

Directly-follows graph and dominant routing

3

Times and takt

Process time distributions per station

4

Quality and disruptions

Scrap, rework, MTTF and MTTR

5

Flow simulation

What-if analysis with the derived parameters

Line layout

S10 loading → S20 joining → S30 welding A or S35 welding B → S40 screwing → S50 gluing and curing (4 parallel places) → S60 leak test (failed parts go to S55 rework and back) → S70 end-of-line test.

Suggested experiments
  • Data artefacts: Raise the artefacts to 4 %. The spurious inspection point S45 now exceeds the 2 % noise threshold, appears in the process map and is analysed like a real station in tabs 3 and 4.
  • Bottleneck: Set the screwing cycle time to 50 s. Waiting times and work in progress rise in front of S40.
  • Improvement: In tab 5, add a parallel machine at S40 and compare the output with the baseline.
  • Breakdowns: Set the breakdown frequency to 0. Compare the measured takt with the planned takt.
  • Recorded period: Set the recorded period to 2 days and compare the model validation in tab 5 with 10 days.

Step 1: The event log is the raw material. Each row is one scan of a part at a station.

Good parts per day

Parts that passed the end-of-line test, per production day.

Event log extract

First 15 rows after removing duplicate scans. Timestamps in hours since the start of recording.

Data preparation

A scan is a duplicate if part, station, timestamp and cycle are identical. Duplicates are removed before the analysis. Parts still in production at the end of the recording are excluded from routing analysis.

Step 2: Reconstruction of the routing from the sequence of scans per part.

Adjust

Directly-follows graph

Boxes: stations. Arrows: direct transitions, labelled with the share of parts. Green: dominant routing. Dotted: transitions below the threshold.

Method

Transitions below the minimum frequency are treated as noise and removed. The dominant routing is the path from start to end with the highest product of transition probabilities; it is used as the standard routing in the simulation (as in the original, 2 % threshold).

Most frequent variants

Complete station sequences and their share of all finished parts.

Step 3: Process time distributions per station and the resulting takt of the line.

Process time per station

Point: median. Line: range from the 10th to the 90th percentile. First runs only, without rework.

Method

Process time = end scan minus start scan of a visit. The simulation draws process times from a lognormal distribution with the measured median and spread. Stations with parallel places (S50) can process several parts at the same time.

The gap between two scans of a part contains transport and waiting in the queue. Transport time is therefore measured only on gaps during which the next station had a free place; otherwise the simulation would count the waiting time twice. Scans that overlap in time and stations below the 2 % noise threshold of the process map (e.g. the artefact S45) are excluded.

Process time distribution

Adjust

Frequency of the process times of the selected station. The longest 2 % (visits interrupted by breaks or breakdowns) are cut off.

Step 4: Quality rates and disruption parameters per station.

Scrap rate per station

Share of visits that ended with a scrap decision. Grey: rework rate at the leak test.

Utilisation per station

Visits × mean process time ÷ (production time without breakdowns × parallel places). The bottleneck is highlighted.

Disruptions per station

From the separate machine status log: number of breakdowns, mean time to repair (MTTR), mean time to failure (MTTF) and availability over the recorded period.

Definition

MTTF = recorded time without breakdowns ÷ number of breakdowns. MTTR = total breakdown duration ÷ number of breakdowns. Availability = 1 − breakdown duration ÷ recorded time. Calendar time is used because breakdowns can also start during breaks. Rework at the leak test is recorded separately and modelled as a loop via S55.

Step 5: Flow simulation with the parameters derived in steps 2 to 4, compared with a baseline run without changes.

Model validation

The estimated model simulated over the recorded period, compared with the event log. Small deviations mean the derived parameters describe the line well.

Interpretation

Output is reproduced closely because it is set by the release interval. The lead time reacts strongly to the availability of the bottleneck: breakdowns are rare events, so their parameters are uncertain when few days are recorded. A longer recording period (left) improves the estimate.

Adjust
Include
Improve

Work in progress over time

Parts released but not yet finished or scrapped. Grey dashed: baseline. Blue: scenario.

Interpretation

Parts are released at a fixed interval, so the output is limited by the release interval as long as the line can keep up. Improvements at the bottleneck then mainly reduce waiting times, work in progress and lead time. Lower the release interval to test how much more the line can produce.

Utilisation per station (scenario)

The bottleneck is highlighted. The tooltip shows the baseline value.

Lead time distribution

Time from release to end-of-line test per good part, in minutes.

Simulation parameters used