Cp, Cpk, Pp, Ppk: Process Capability Explained

Four indices, two questions: does the spread fit the tolerance, and is the process centered? Plus the short-term-vs-long-term twist that separates the C's from the P's.

Follow along: piston_rings.csv — 200 piston-ring inner-diameter measurements (Montgomery's classic set, 40 subgroups of 5), against a spec of 74.00 mm ± 0.05 (LSL 73.95, USL 74.05). Download the CSV and run it yourself in Stratum.
The recipe: Analyze ▸ Process Capability, Measurement Diameter, Subgroup Sample, computed on the 25 in-control baseline batches.

Every quality report eventually reaches for a single number: can this process reliably make parts inside the spec? The answer usually comes as one of four capability indices — Cp, Cpk, Pp, Ppk — and they are constantly confused for one another. They are not four measures of the same thing. They are two questions crossed with two ways of estimating spread, and once you see the grid, each one tells you exactly what it means.

We'll work it on real data: 200 piston-ring diameters against a target of 74.00 mm with a tolerance of ±0.05, so the lower spec limit (LSL) is 73.95 and the upper (USL) is 74.05. We compute on the 125 measurements from the 25 baseline batches known to be in control — for reasons that become the whole point by the end.

Stratum Process Capability report: histogram with LSL, Target and USL spec lines above an index table reading Cp 1.69, Cpk 1.65, Pp 1.66, Ppk 1.62
The capability report: the diameter histogram sits in the middle third of the tolerance, with Cp 1.69 · Cpk 1.65 · Pp 1.66 · Ppk 1.62 and expected nonconforming under 1 per million.

Cp and Pp: does the spread fit the tolerance?

The first question is simple geometry. The tolerance is a window 0.10 mm wide (74.05 − 73.95). The process has a spread of its own, conventionally taken as six standard deviations. Cp is just the ratio: spec width divided by six sigma. If the process spread is exactly as wide as the tolerance, Cp = 1.0; if the tolerance is roomier, Cp climbs above it.

Here Cp = 1.69 — the natural spread of the rings is comfortably narrower than the window they have to fit in. That's a healthy number; most quality programs want at least 1.33. Pp asks the identical question — spec width over six sigma — and here Pp = 1.66. (The small gap between them is entirely about which sigma, below.)

The thing to hold onto: Cp and Pp ignore where the process is centered. They only compare widths. A process could be running hard against one spec limit, dropping parts over the edge, and Cp would happily report that its spread fits. That blind spot is what the next pair fixes.

Cpk and Ppk: is it actually centered?

To catch off-center processes, Cpk measures the distance from the process mean to the nearer spec limit, in units of three sigma. It penalizes a mean that drifts toward either edge, because that shrinks the margin on the side that matters.

Our ring mean is 74.0012 mm — just 0.0012 above the 74.00 target, so slightly nearer the USL. The gap to the USL is 0.0488; to the LSL, 0.0512. Cpk uses the smaller one, which knocks it down from Cp's 1.69 to Cpk = 1.65. The 0.04 difference is the off-center penalty made visible. Here it's tiny — the mean is off-center by only about 2.4% of the half-tolerance, so this is a well-centered process, and Cp and Cpk nearly agree. When Cp and Cpk are close, the process is centered; when Cpk falls well below Cp, it isn't. Ppk = 1.62 is the same centering-aware measure computed with the long-term sigma, and it sits just under Pp for the same reason.

Across all four, expected nonconforming output is under one part per million — about 0.51 ppm on the within sigma, 0.81 ppm on the overall — and indeed zero of the 125 measured rings fell outside spec.

Within sigma vs overall sigma: the C's and the P's

So why two numbers for each question? Because there are two honest ways to estimate the process spread, and they answer different things.

Cp and Cpk use the within-subgroup sigma — the short-term spread. Stratum estimates it with the pooled within-subgroup standard deviation, Sp/c₄ (the Minitab-family capability default), giving σ within = 0.0099 mm. This captures only the variation inside a batch made under near-identical conditions — the best the process can do moment to moment.

Close-up of the two capability tables: within-sigma block feeding Cp and Cpk, overall-sigma block feeding Pp and Ppk, with sigma within 0.0099 and sigma overall 0.0101
The two sigma blocks side by side: within-σ (0.0099) drives Cp/Cpk, overall-σ (0.0101) drives Pp/Ppk. That single difference is what separates the C indices from the P indices.

Pp and Ppk use the overall sigma — the long-term spread, just the ordinary sample standard deviation of all 125 values: σ overall = 0.0101 mm. This includes any drift between batches on top of the within-batch scatter. Because it folds in more sources of variation, the overall sigma can only be equal to or wider than the within sigma — which means Pp/Ppk are always less than or equal to Cp/Cpk. Cp/Cpk describe the process's potential; Pp/Ppk describe its actual, lived-in performance.

Here the two sigmas are almost identical (0.0099 vs 0.0101), so the C's and P's barely differ. That near-equality is not a coincidence — it's the signature of a stable process. When a process drifts, the two sigmas pull apart and the P indices sag well below the C indices; the size of that gap is itself a diagnostic of how much between-batch variation is creeping in.

The assumption all four share: control first

Here is the catch every one of these indices quietly depends on: the process must be in statistical control. Cp, Cpk, Pp and Ppk are all built on a single mean and a single sigma, which only describe the process if that mean and sigma are stable over time. If the process is drifting, cycling, or lurching, those two numbers are an average of a moving target — and the indices will still print a clean, confident value that means nothing.

That's why we filtered to the 25 baseline batches known to be in control before computing anything. Capability is only meaningful on a process that is already stable, and the way you prove stability is a control chart — you plot the process over time and confirm nothing is out of control before you trust a capability number. Control first, then capability. A companion case study runs this exact piston-ring process through the full loop and shows a capability index that looks perfectly acceptable while a real drift hides underneath it — the cautionary tale for why this order is not optional.

The whole picture in one grid

Four indices, two axes. Cp/Pp ignore centering; Cpk/Ppk penalize it. And Cp/Cpk use the short-term within-subgroup sigma; Pp/Ppk use the long-term overall sigma. Read together they give you the spread, the centering, and the difference between potential and sustained performance.

In Stratum this is one panel. Analyze ▸ Process Capability takes the measurement column, the subgroup column and the three spec limits, then draws the capability histogram and reports all four indices — with both sigmas shown — in a single card. No formulas typed, no code, and the recipe and numbers are identical on Mac and Windows.

Download Stratum

Related: How to Build a Control Chart → · What Is a Control Chart? →

process-capabilityspcstatistics-explained