How Do You Calculate CpK for Non-Normal Data?

Most classic process capability indices (Cp, Cpk) assume your data follows a normal distribution. But in real manufacturing, data is often skewed—think of cycle times, surface roughness, or chemical concentrations. Applying standard formulas to non-normal data can produce misleading capability estimates. This article explains how to handle non-normal CpK using methods aligned with ISO 22514-2 / 22514-3 and the AIAG SPC manual (Box-Cox / Johnson transformations).

What It Is

Non-normal CpK is a set of techniques for assessing process capability when the underlying data distribution is not Gaussian. Instead of forcing a normal curve onto your data, you either:

  1. Transform the data to approximate normality (Box-Cox or Johnson), then compute standard Cp/Cpk on the transformed scale, or
  2. Use percentile-based indices that do not rely on normality at all (e.g., based on the 0.135% and 99.865% percentiles, equivalent to ±3σ for a normal distribution).


Both approaches are recognized in ISO 22514-2 and ISO 22514-3, and the transformation strategy is detailed in the AIAG SPC manual.

How It Works / Formula or Steps

### Approach 1: Transform then Compute (AIAG / Box-Cox / Johnson)

Step 1 – Test for normality. Use Anderson-Darling or Shapiro-Wilk. If p-value < 0.05, the data is non-normal.

Step 2 – Choose a transformation.
  • Box-Cox (only for positive data):

\( y(\lambda) = (y^\lambda - 1)/\lambda \) for λ ≠ 0, and \( y(0) = \ln(y) \).
Find λ that maximizes the log-likelihood (or minimizes the standard deviation of the transformed data).
  • Johnson (for any data, including negative values): selects one of three families (SB, SL, SU) that best fits the data.


Step 3 – Verify normality of the transformed data.

Step 4 – Compute standard Cp/Cpk on the transformed values using the usual formulas, then interpret them on the original specification limits (by back-transforming the limits if needed).

### Approach 2: Percentile-Based Indices (ISO 22514-2 / 22514-3)

For a non-normal distribution, define:

  • \( X_{0.135\%} \) = 0.135th percentile of the data
  • \( X_{99.865\%} \) = 99.865th percentile of the data


Then:

\[
C_p = \frac{USL - LSL}{X_{99.865\%} - X_{0.135\%}}
\]

\[
C_{pk} = \min\left( \frac{USL - X_{50\%}}{X_{99.865\%} - X_{50\%}}, \frac{X_{50\%} - LSL}{X_{50\%} - X_{0.135\%}} \right)
\]

where \( X_{50\%} \) is the median. These formulas mirror the ±3σ logic without assuming normality.

A Worked Illustrative Example

Example data (illustrative only):
Suppose you measure the burst pressure (psi) of 100 seals. The data is right-skewed (Anderson-Darling p < 0.001). The specification is LSL = 90 psi, USL = 150 psi. The median is 118 psi.

Using the percentile method:

  • \( X_{0.135\%} \) = 92 psi
  • \( X_{99.865\%} \) = 148 psi


\[
C_p = \frac{150 - 90}{148 - 92} = \frac{60}{56} = 1.07
\]

\[
C_{pk} = \min\left( \frac{150 - 118}{148 - 118}, \frac{118 - 90}{118 - 92} \right) = \min(1.07, 1.08) = 1.07
\]

Interpretation: The process is marginally capable. If you had wrongly assumed normality, the standard deviation might have been inflated by outliers, giving a lower Cpk—or underestimated, giving a falsely high value.

Common Pitfalls

  • Ignoring the normality test and using standard CpK on skewed data—this is the most frequent error.
  • Applying Box-Cox to negative or zero values without a shift constant.
  • Forgetting to back-transform specification limits when interpreting indices on the transformed scale.
  • Using percentiles without enough data—percentile estimates are unstable with small samples (n < 30). Prefer transformations for small datasets.
  • Mixing methods inconsistently—choose one approach and document it; do not switch between transform-based and percentile-based indices for the same process.


---

For a quick and reliable calculation, use the free Non-Normal CpK tool at:
https://www.6sq.com/tools/nonnormal_cpk/
Invited:

0 replies, guests cannot view replies. For more features, please log in or register