The DPMO-Chart is also referred to as the Number Defects per Million Opportunities chart. For a sample subgroup, the number of times a defect occurs is measured and plotted as a value normalized to defects per million opportunities. Similar to a c-chart, the data values are always plotted as if a subgroup sample size equivalent to one million defect opportunities was used. Since usually actual sample subgroups of one million are not used, the defect data is scaled upward by a factor of \(\left[\frac{1,000,000}{(defect opportunities per unit) * (actual sample size)}\right]\). In that fashion a defect rate of 2 out of a sample size of 100, with 4 defect opportunities per unit, becomes an DPMO defect rate of 5,000 (\( 2 * \left[\frac{1,000,000}{4*100}\right] = 5,000\)). Since the plotted value is normalized to a fixed sample subgroup size, the size of the sample group can vary without rendering the chart useless

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.

DPMO-Chart – 1

Defect data = { 2, 3, 8, 1, 1, 4, 1, 4, 5, 1, 8, 2, 4, 3, 4, 1, 8, 3, 7, 4 };

The data used in the chart is based on the nonconformities control chart example, Table 7-10, in the textbook Introduction to Statistical Quality Control 7th Edition, by Douglas Montgomery.

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{D}\) (fraction nonconforming) is given by the equation.

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

The average DPMO value across all sample intervals becomes:

\(\bar{up} = D * \left[\frac{1,000,000}{(defect opportunities per unit) * (sample subgroup size)}\right]\)

For example, if the average number of defects per sample interval (D) is 2, out of a sample subgroup size of 100, with 4 defect opportunities per unit, the average DPMO value is calculated as:

\( \bar{up} = 2 * \left[\frac{1,000,000}{4*100}\right] = 5,000\)) . 

Control Limits for the DPMO-Chartt

\(\large{UCL = \bar{up} + 3000 * \sqrt{\frac{\bar{up}}{dopu * M}}}\)

\(\large{Center line = \bar{up}}\)

\(\large{LCL = \bar{up} – 3000 * \sqrt{\frac{up}{dopu * M}}}\)

where :

N = number of sample intervals

M = sample subgroup size

dopu = defect opportunities per unit

dpmo = defects per million opportunities 

\(\bar{up}\) = estimate (or average) of the dpmo values

M = number of samples per subgroup.

Note that in the DPMO-Chart formulas, the there is no independently calculated sigma value. That is because DPMO-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.

\(\sigma =\sqrt{\frac{up}{dopu * M}}\)

DPMO-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 DPMO -Chart -2 chart above, the dialog below appears:

What it shows for the Mean value is the value calculated based on the current data. NOTE: the Mean value represents the actual mean of the underlying defect data, not the scaled values used in the display of the DPMO chart. 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 6. Now you are simulating that 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 20th 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 DPMO -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 DPMO-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 DPMO -Chart

DPMO- 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 DPMO -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.