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
- Configure the simulated line on the left or keep the defaults. It produces an event log.
- Work through tabs 1 to 4 to derive the simulation parameters from the log.
- Use tab 5 to simulate improvements with the derived parameters.
Event log
One row per scan, cleaned of duplicates
Process map
Directly-follows graph and dominant routing
Times and takt
Process time distributions per station
Quality and disruptions
Scrap, rework, MTTF and MTTR
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.
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
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.
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.