**50.1****
****Process Capability** (.NET, C#, CSharp, VB, Visual Basic, F#)

Class **ProcessCapability**
computes the process capability parameters Cp, Cpm, Cpk for normally distributed data. If
the data are not normal, the **BoxCox**
transform can be used.

Instance of **ProcessCapability**
are constructed from a vector of input data measurements, a subgroup
size (the data must laid out in continuous subgroups of equal size),
lower and upper specification limits, and the control target process
mean.

Code Example – C# process control

DoubleVector data = ...

int size = 5;

double LSL = 73.95;

double USL = 74.05;

double target = 74.0;

var pc = new ProcessCapability( data, size, LSL, USL, target );

Code Example – VB process control

Dim Data As DoubleVector = ...

Dim Size As Integer = 5

Dim LSL As Double = 73.95

Dim USL As Double = 74.05

Dim Target As Double = 74.0

Dim PC As New ProcessCapability(Data, Size, LSL, USL, Target)

If no target is given, the mean of the specification limits is used.

The standard deviation is computed using the mean of the ranges method, referred to as the UWAVE-R method in the R qcc package.

**ProcessCapability**
provides the following properties:

● CI95 gets the 95% confidence interval. 95% of the time the process mean will reside within this interval. The estimate is based on the t-distribution (t-score) if there are 30 or fewer samples; otherwise, the normal distribution is used (z-score).

● Cp gets the process capability.

● Cpk gets the process capability index.

● Cpm gets the Taguchi capability index.

● ProcessSigma gets the estimate of the process standard deviations used to compute Cp, Cpk, and Cpm. The standard deviation is estimated using the unweighted averages of the subgroup ranges.

● IQR gets the interquartile range using the Minitab interpolation method. This method uses interpolation to find the upper and lower quartiles before returning the IQR. Therefore, the IQR may be computed from points that do not exist in the data set.