Process Stability Lab.
On an assembly line, a tool tightens a bolt on every part. No two bolts end up exactly as tight. So when one reading looks off, is something really wrong, or is it just normal wobble? Watch parts come off the line. Then mess with the process in four realistic ways, and see if the chart notices and how fast.
Spot real change. Leave everyday noise alone.
Torque per part, N·m
BASELINE 8/20
Chart: UCL and LCL are the upper and lower control limits, which come from the process’s own normal scatter. CL is the centre line between them. USL and LSL are the spec limits, the range of torque the design allows. Orange dots broke an alarm rule. Spread over time: each ridge is a smoothed histogram of 20 parts in a row. A histogram is a bar chart of how many parts landed at each torque. Each ridge is tall and narrow when the parts agree, and low and wide when they scatter. A new ridge is added every 5 parts, and older ones slide back. The wandering line on the floor traces their averages. Orange ridges hold an alarm. The upright panels are the spec limits, and the straight floor lines are the control limits. Hover a dot on the chart to light up the ridges it belongs to.
Each dot is one part, showing how tight its bolt is (the torque, in newton-metres, N·m). The first 20 parts show what normal looks like. The lab uses them to set the control limits: a band that a steady process almost always stays inside. After that, the limits never move. The buttons that mess with the process unlock at part 20.
Disturb the process
Speed
Alarms and changes
- Nothing yet. The baseline finishes at part #20.
The four alarm rules keep their numbers from the standard Nelson list. Rule 1: one part outside the control limits. Rule 5: two of three parts in the outer third of the band (or past it), on the same side. Rule 3: six parts in a row that keep rising or keep falling. Rule 2: nine parts in a row on one side of the centre line.
Each alarm is logged at the first part that breaks the rule. If a rule keeps going off the same way, it’s only logged once. At ×1, the line makes one part every 650 ms while the lab is on screen.
How the model works, how it’s checked and what it leaves out
How it works
Each bolt’s torque aims at 12.0 N·m, with a short-term scatter (σ) of 0.15. The scatter is random bell-curve (normal) noise, and no part depends on the one before. It comes from a seeded random generator (seed 102), so the same random noise comes out every time. The limits are x̄ ± 3σ̂: the average, plus or minus three times the estimated scatter. Here σ̂ = MR̄/1.128, where MR̄ is the average jump from one part to the next over the first 20 parts. Then the limits are frozen. If you worked them out again after a problem started, the problem would get to redefine what normal looks like.
The four rules listed under the alarm log are checked on every part after the baseline. In σ̂ terms, rule 1 is one point beyond 3σ̂, and rule 5 is two of three beyond 2σ̂ on the same side.
The problems you can cause: a jump in the average (0.5 to 3σ, default +1.5σ). Tool wear that adds +0.012 N·m per part, until the wear would pass 0.75 N·m and the tool is swapped (62 worn parts). Scatter multiplied by 0.5 to 3 (default ×2). And tampering (the Over-adjusting button), where the next setting is the current one minus the last miss from target. Changing the size of a problem that’s already on is logged as a new change.
An alarm starts on the first part where a rule goes off in one direction (high or low). The log only records starts. A change counts as caught at the first alarm that starts at or after it. That catch is only timed if nothing else was wrong and the last nine parts were made normally. (Nine is the furthest back any rule looks.) Otherwise you can’t blame the alarm on one change.
Cp = (USL − LSL) ÷ 6σ̂: the width of the spec divided by six times the frozen baseline scatter. Ppk = min(USL − x̄, x̄ − LSL) ÷ 3s looks at the last 30 parts. It uses their average (x̄) and their sample standard deviation (s), a measure of how spread out they are. It measures against whichever spec limit is closer. Each ridge is a smoothed curve (a Gaussian kernel density) of 20 parts. Its smoothing width is fixed at 1.06·σ̂·20−1/5, so ridges only look different when the data are different.
How it’s checked
After 2,500 parts with problems switched on, including resizes and tool changes, the limits haven’t moved by a single bit. Widening the tolerance changes Cp and Ppk but leaves the limits alone. A jump in the average leaves Cp the same and lowers Ppk. Each rule goes off on a run of parts built to trip it, and stays quiet on one built to just miss.
Starting from a calm, in-control run (2,000 random runs each), here’s the median number of parts until the first alarm. Shift of 0.5σ: 21. Shift of 1.5σ: 5. Shift of 3σ: 1. Tool wear: 15, always before the tool is swapped. Variation ×2: 4. Tampering: 17. Rule 1 is part of 80% of first alarms for a 3σ shift, but only 31% for a 0.5σ shift. For that small shift, rule 2 is part of 37%. Left on, tool wear peaks at +0.744 N·m, and the live ridge never runs off the torque axis of the spread-over-time view.
Tampering makes xt+1 = T − et + et+1. Each part gets its own random error plus the last part’s error, flipped. That gives a variance (σ squared) of 2σ², with the average still on target. It also gives a correlation of −0.5 between one part and the next: a high part tends to be followed by a low one. Over 50,000 seeded parts, the measured σ came out at 1.43σ and the correlation at −0.51. Variation ×2 gave 2.01σ, and ×0.5 gave 0.50σ.
With the true limits, each rule goes off per part just as often as the exact math predicts. Rule 1: 0.27%. Rule 2: 0.39%. Rule 3: 0.28%. Rule 5: 0.21% (0.205% expected). Together, about 1.1% of in-control parts trip a rule. More rules means more false alarms.
What it leaves out
Checking parts in small groups (rational subgrouping). Data that isn’t bell-shaped. Error in the measuring tool itself. A normal process where each part leans on the one before (autocorrelation); here, only tampering does that. Nelson rules 4, 6, 7 and 8 aren’t run, so a drop in scatter (rule 7) never gets flagged.
Twenty baseline parts aren’t many, so the limits themselves are a bit unsure. Across 400 random runs, the median wait for the first false alarm was 55 parts (84 with the true limits). One run in ten had a false alarm within 7 parts. Seed 102 gives a typical baseline (σ̂ 0.152, centre 12.002) and no false alarm until part #207.
Spec limits are what the design needs. They aren’t control limits. A part can be inside the spec and still be a warning sign.