GaugeMath

Process capability: Cp, Cpk, Pp, Ppk

Paste your measurements and the specification limits. You get the capability indices with confidence intervals, the expected parts per million out of specification, a normality test and a control chart to check that the process is stable. Everything runs in your browser.

Data and specification

Paste the values in production order, one subgroup after the other. Spaces, tabs, new lines or a column copied from Excel all work.

Distribution

Bars: your data. Solid curve: normal fit with the overall standard deviation. Dashed curve: within-subgroup standard deviation.

Capability indices

Summary

Out of specification

Stability: control chart

What Cp, Cpk, Pp and Ppk measure

A capability index compares the width of the tolerance with the natural spread of the process, six standard deviations. Cp and Pp look only at the spread. Cpk and Ppk also look at where the process is centred, using the distance from the mean to the nearer specification limit.

Cp = (USL − LSL) / 6σ     Cpk = min[ (USL − μ) / 3σ , (μ − LSL) / 3σ ]

The C and P indices use the same formulas with a different standard deviation:

If Ppk is much lower than Cpk, the process moves between subgroups: tool wear, temperature, a new batch of material. Fixing that brings Ppk up to Cpk. If Cpk is much lower than Cp, the process is off-centre, and an offset correction is often the cheapest improvement there is.

Is my process capable?

CpkExpected out of spec (centred)Usual interpretation
1.002 700 ppmThe process uses the whole tolerance; any shift produces scrap.
1.33≈ 64 ppmCommon minimum for an ongoing process.
1.67≈ 0.6 ppmCommon requirement for safety characteristics and new processes.
2.00≈ 0.002 ppmSix sigma level.

Values from the NIST/SEMATECH e-Handbook. For an initial process study in automotive PPAP, an index above 1.67 meets the acceptance criteria, between 1.33 and 1.67 may be acceptable after review with the customer, and below 1.33 does not meet them. Your customer’s requirements take precedence.

Three checks before you trust the number

Is the process stable?

Capability only describes a process in statistical control. The calculator draws an X̄-R chart for subgroups or an I-MR chart for individual values and flags points outside the control limits and runs of eight points on one side of the centre line. A process with signals has no single capability: remove the special causes first.

Is the data normal?

The expected ppm values come from the normal distribution. The Anderson–Darling test checks this; a p-value below 0.05 means the data are probably not normal. Typical causes are a physical limit such as flatness or runout near zero, sorted or reworked parts, or two machines mixed in one study. Do not report normal-based ppm for clearly non-normal data.

Is there enough data?

Indices from small samples are uncertain. The calculator shows a 95 % confidence interval for Cpk and Ppk using Bissell’s approximation, and only calls a process capable when the lower bound also meets the requirement. With 30 values, a measured Cpk of 1.33 is consistent with a true value below 1.0. PPAP initial studies use at least 25 subgroups with 100 or more readings.

Worked example: turned shaft diameter

A shaft is turned to 12.000 ± 0.030 mm. Five consecutive parts are measured every hour, 25 times, for 125 values. Press Load worked example to see the analysis.

ResultValue
Mean12.0073 mm
Within σ (R̄/d₂) and overall σ0.00578 mm and 0.00625 mm
Cp and Cpk1.73 and 1.31
Pp and Ppk1.60 and 1.21
95 % interval for Cpk1.13 to 1.48
Anderson–Darling p-value0.50, consistent with normal
Control chartno signals

The process is stable and normal, but Cpk of 1.31 misses the 1.33 requirement. The cause is not the spread: Cp is 1.73. The mean sits 0.0073 mm above nominal. Moving the tool offset to bring the mean back to 12.000 mm would raise Cpk to about 1.7 without touching the machine. That is the kind of conclusion the index pair Cp and Cpk exists to show.

Common mistakes

Calculating Cpk from the overall standard deviation

Many spreadsheets use STDEV of all values and call the result Cpk. That is Ppk. The difference matters when the process drifts: the spreadsheet then reports a lower figure than the process is capable of, and hides the drift you could fix.

Mixing data from several machines, cavities or spindles

Each stream has its own mean. Mixed together, they give a wide or two-peaked histogram and a capability that belongs to no real process. Study each stream separately.

Ignoring the measurement system

The measured spread includes measurement error. If the gauge uses a large part of the tolerance, the process looks worse than it is. Check the measurement system first, for example with a Gage R&R study or an uncertainty budget from our uncertainty calculator.

Rounding the data too much

If the resolution of the readings is coarse compared with the spread, many values repeat and the ranges become unreliable. As a rule of thumb, the resolution should be at most one tenth of the spread.

Questions

How is the within-subgroup standard deviation calculated?

For subgroups of 2 to 10 values: the average range R̄ divided by d₂ for that subgroup size, the method of the AIAG SPC manual. For individual values: the average moving range MR̄ divided by d₂ = 1.128. Values that do not fill a last complete subgroup are left out, and the calculator tells you so.

What if I only have an upper limit, like a maximum roughness?

Leave the lower limit empty. Cp and Pp are then not defined, and Cpk equals Cpu. For characteristics bounded by zero, check the normality result: such data are often skewed.

What is Cpm?

The Taguchi index. It penalises distance from the target, not only from the limits: Cpm = (USL − LSL) / 6√(σ² + (μ − T)²). It appears when you enter a target.

How do I know the calculations are right?

The calculator reproduces the NIST e-Handbook example and ppm table and uses the AIAG control chart constants. Every result, including the Anderson–Darling p-value and the confidence intervals, was also checked against an independent implementation in Python (SciPy and statsmodels) on several data sets, with differences below one part in a million.

Is my data uploaded?

No. Everything is calculated in your browser. The study is kept only in this browser’s local storage, and a share link carries the data inside the link itself.

References