Skip to content
Quality & Process Control

What Is Cp (Potential Process Capability)

Cp measures how much of the spec window your process variation uses, ignoring centering. Learn the formula, how Cp relates to Cpk, and read it in TofuPilot.

JJulien Buteau
beginner4 min readMarch 22, 2026

Cp is the potential process capability index. It compares the width of your specification window to the width of your process variation. Cp tells you the best Cpk you could achieve if your process were perfectly centered between the spec limits.

The Formula

Cp = (USL - LSL) / 6σ

Where:

  • USL is the upper specification limit
  • LSL is the lower specification limit
  • σ is the within-subgroup (sample) standard deviation

The numerator is the spec window. The denominator is 6σ, which covers 99.73% of a normal distribution. A Cp of 1.0 means your process variation exactly fills the spec window. Above 1.0, there's room to spare. Below 1.0, variation exceeds the spec range.

What Cp Values Mean

CpInterpretation
< 1.0Process variation exceeds spec window. Even if perfectly centered, some units fall outside limits.
1.0Variation exactly matches spec width. No margin for drift.
1.33Process uses 75% of the spec window. Standard production target.
1.67Process uses 60% of the spec window. Safety-critical target.
2.0Process uses 50% of the spec window.

Why Cp Alone Isn't Enough

Cp ignores where the process mean sits. A process with Cp = 1.5 could be perfectly centered (great) or shifted so far that units are failing on one side (bad). That's why Cp is always read alongside Cpk.

ScenarioCpCpkWhat It Tells You
Centered, capable1.51.5Ideal state.
Off-center, capable spread1.50.8Enough spread margin, but the mean drifted. Re-center it.
Centered, too much variation0.80.8Variation is the problem. Reduce σ.

When Cp is good but Cpk is low, the fix is a centering adjustment (calibration, tool offset, recipe change). When Cp itself is low, you need to reduce fundamental process variation.

Cp Requires Both Spec Limits

Cp needs USL and LSL. For one-sided specs (like maximum leakage current or maximum response time), Cp can't be calculated. TofuPilot shows "--" for Cp when only one limit is defined, and reports Cpu or Cpl instead.

Reading Cp in TofuPilot

Open the Process Control page, select a numeric measurement, and switch to the Capability tab. Cp appears in the top KPI row alongside Cpk, Cpl, and Cpu. Click the Cp card to toggle its line on the daily trend chart.

Hover over the Cp value to see the formula and a plain-language explanation. If Cp is significantly higher than Cpk, the tooltip confirms that re-centering the process would improve capability.

two_sided_limits.py
import openhtf as htf
from openhtf.util import units
from tofupilot.openhtf import TofuPilot

@htf.measures(
    htf.Measurement("resistance")
        .in_range(minimum=95, maximum=105)
        .with_units(units.OHM),
)
def measure_resistance(test):
    test.measurements.resistance = 100.3

def main():
    test = htf.Test(measure_resistance)
    with TofuPilot(test):
        test.execute(test_start=lambda: "UNIT-0101")

if __name__ == "__main__":
    main()

Both minimum and maximum are set, so TofuPilot can compute Cp. If you only set one, you'll get a one-sided index instead.

More Guides

Put this guide into practice