The c-Chart is also known as the Number of Defects or Number of Non-Conformities Chart. For a sample subgroup (also called the inspection unit), the number of times a defect occurs is measured and plotted as a simple count. Statistically, in order to compare number of defects for one subgroup with the other subgroups, this type of chart requires that the subgroup sample size is fixed across all subgroups.

Note that this chart tracks the number of defects, not the number of defective parts as done in the p-chart, and np-chart. For any give part, you can have 0 to N defects. Defects are things like scratches, dents, chips, paint flaws, etc.; think of the last car you bought. Also, a defect does not indicate any magnitude of defect (such as might be measured in one of the variable control charts), only that it is, or is not a defect. If you were monitoring a process using both p-charts and c-charts, the p-chart may show that 55 parts were defective, while the c-chart shows that 175 defects were present, since a single part can have one or more defects.

c-Chart – 1

Sample subgroup size = 50

Defect data = {21, 24, 16, 12, 15, 8, 8, 20, 31, 25, 20, 24, 16, 19, 10, 17, 13, 22, 18, 30, 30, 24, 16, 19, 17, 15}

The data used in the chart is based on the nonconformities control chart example, Table 7-7, in the textbook Introduction to Statistical Quality Control 7th Edition, by Douglas Montgomery. Several of the values which exceeded the control limits were modified, to make this set of data an in-control run, suitable for calculating control limits.

If you know the standard value of the fraction defects (c) you can use that in the control limit formulas. If not, you will need to calculate an approximate value using the data available in a sample run while the process is operating in-control. In that case the value of c will be referred to as \(bar{c}\).

Let (\(D_1, D_2, …, D_N\)) be the defect counts of the N sample intervals, where the sample subgroup size is M. The total defect count is the sum of the D-values. The \(\bar{c}\) (fraction nonconforming) is given by the equation.

\(\Large{c \approx \bar{c}=\left[{\frac{\sum_{j=1}^N D_j}{ N}}\right]}\)

Assume that the test data in the chart above is such a run. You will find the raw sample data (50 samples subgroup (M), 30 sample intervals (N)) in the table section of the chart below. The Defect No rows shows the actual count of defects values for each sample interval. The Frac. Defects row shows the calculated fraction value for each sample interval.

Control Limits for the p-Chart


\(\large{UCL= c + 3 * \sqrt{c}}\)

\(\large{Center line = c}\)

\(\large{LCL= c – 3 * \sqrt{c}}\)

where :

\({c \approx \bar{c} =}\) estimate (or average) of the number of nonconformities (defects)

M = number of samples per subgroup. This value is not actually used in any of the formulas. What is important is that M stay constant so that the number of defects for each sample interval are comparable across sample intervals.

Note that in the c-Chart formulas, the there is no independently calculated sigma value. That is because  c-charts in general assume a Poisson distribution about the mean. In a Poisson distribution, the variance value of the distribution is equal to the mean, and the sigma value is the square root of the variance.  You find this expression in the formulas for the UCL and LCL control limits.

\(\large{\sigma =\sqrt{c}}\)


c-Chart – 2 (Interactive)

The initial chart represents a sample run where the process is considered to be in control. Therefore it is a suitable source of data to calculate the UCL, LCL and Target control limits. The control limit lines and values displayed in the chart are a result these calculations. What you don’t want to do is constantly recalculate control limits based on current data. Because once the process goes out of control, you will be incorporating these new, out of control values, into the control limit calculations, which will widen the control limits. Instead, as you move forward, you apply the previously calculated control limits to the new sampled data. When the process starts to go out of control, it should produce alarms when compared to the control limits calculated when the process was in control. You can simulate this using the interactive chart above.

When you select the Simulate Data button in the c-Chart -2 chart above, the dialog below appears:

What it shows for the Mean value is the value calculated based on the current data. The sigma value does not apply since the simulated data for attribute charts are derived from the mean value. So if you simulate new sample intervals using these values, the result will be that the new values look like the old, and the process will continue to stay within limits. Even using these values, you will, however, get a random control limit violation on the order of every 1 in every 370 sample intervals. This is known as a false positive (alarm) and it is due to the probabilistic nature of SPC control charts. See the section on Average Run Length (ARL) for more details. But if you modify the Mean value slightly, you increase the odds, above that of the ARL value, that the process exceeds the pre-established control limits and generates an alarm. So change the Mean value to 25. Now you are simulating the process has changed enough to alter the both the mean and variability of the process variable under measurement. Press the Press to Add Data button a couple of time to generated the simulated values, then exit the dialog by pressing OK. The new data values are appended to the existing data values, and you should be able to see the change starting at the 30th sample interval. Use the scrollbar at the bottom of the chart to scroll to the start of the simulated data. The picture below displays the simulation. Your picture may not look exactly the same, because the simulated data values are randomized, and your randomized simulation data will not match the values in the picture. But the general idea will be the same. You find a more generalized, and detailed discussion of how to work with the Interactive charts here:

If you want to try and plot your own data in the c-Chart chart, you should be able to do so using the Import Data option of the Interactive chart. Organize your data in a spreadsheet, where the rows represent sample intervals and the columns represent samples within a subgroup. Make sure you only highlight the actual data values, not row or column headings, as in the example below.

Copy the rectangle of data values from the spreadsheet and Paste them into the Data input box. By default, data values copied from a spreadsheet should be column delimited with the TAB character, and row delimited with the LF (LineFeed) character. If so, our Data input box should be able to parse the data for chart use.

Select OK, and if the data parses properly you should see the resulting data in the chart. By default, data entered into the Data input box overwrites all of the existing data. That way you can create your own custom p-Chart chart, using only your own data. You start by entering in a batch of data
from an “in control” run of your process, and display the data in a new chart. Calculate new control limits based on this data, using the Recalculate Limits button. Should you want to enter in another batch of actual data from a recent run, and append it to the original data, go back to the Import Data menu option. This time select the Append checkbox instead of the default Overwrite data checkbox.

General Issues with c-Chart

c- charts generally assume that the underlying data approximates a Poisson distribution. That is to say that the values of the data can be characterized as a function of fn(mean, N), where N represents the sample population size, and mean is the average of those sample values. Logically that forms the basis for looking for an out of control process by checking if the sample value for a sample interval are outside the 3-sigma limits of the process when it is under control.

We could not find any summary of how to calculate a proper sample lot size for c-charts. So assume that you need a sample size to be large enough that you usually have at least one non-conforming part per sample interval, otherwise you will generate false alarms if you leave an LCL of 0.0 (which is possible) enabled.