**Jump to Control Chart Constants:**

Control chart constants are the engine behind charts such as XmR, XbarR, and XbarS. And, if you've made a control chart by hand or sat in a class, you'll likely have memories of bizarre constants like d2, A2, etc. To me, control chart constants are a necessary evil. Why? Because, it's a nuisance to look up a constant to make a chart, and I suspect that has likely frightened away many would be users over the years. These days though, if you have a good piece of statistical software you wont even see these numbers. Open source options include R's ggQC package. An example plot is shown below. Other opensource options include qcc, iqcc, and qicharts to name a few.

There are also commercially available options like minitab or JMP. Regardless of the available software, it's still good to have a place to find these numbers when you need them and quick explanation of their use. It's also nice to have a sense of what these numbers physically mean. For that, check out my articles:

In the next few sections, you'll see in brief how we change quantities such as mean moving range (mR), mean range, and mean standard deviation into a dispersion statistics using the control chart constants. With that dispersion statistic in hand, we can calculate control limits for our data. To begin, we'll start with the building blocks – the bias correction factors.

## Bias Correction Control Chart Constants

Bias correction constants are the fundamental quantities that allow you to calculate other **higher level** control constants such as A2, D3, D4, etc. Subsequent sections provide examples of how these constants are calculated.

To get a better grasp of what the bias correction factors are see my article on Estimating Control Chart Constants. There, I'll walk you though the math and simulation to pull it all together.

#### Bias Correction Constants

n | d2 | c4 | d3 | d4 |
---|---|---|---|---|

2 | 1.1284 | 0.7979 | 0.8525 | 0.9539 |

3 | 1.6926 | 0.8862 | 0.8884 | 1.5878 |

4 | 2.0588 | 0.9213 | 0.8798 | 1.9783 |

5 | 2.3259 | 0.9400 | 0.8641 | 2.2569 |

6 | 2.5344 | 0.9515 | 0.8480 | 2.4717 |

7 | 2.7044 | 0.9594 | 0.8332 | 2.6455 |

8 | 2.8472 | 0.9650 | 0.8198 | 2.7908 |

9 | 2.9700 | 0.9693 | 0.8078 | 2.9154 |

10 | 3.0775 | 0.9727 | 0.7971 | 3.0242 |

11 | 3.1729 | 0.9754 | 0.7873 | 3.1205 |

12 | 3.2585 | 0.9776 | 0.7785 | 3.2069 |

13 | 3.3360 | 0.9794 | 0.7704 | 3.2849 |

14 | 3.4068 | 0.9810 | 0.7630 | 3.3562 |

15 | 3.4718 | 0.9823 | 0.7562 | 3.4217 |

16 | 3.5320 | 0.9835 | 0.7499 | 3.4821 |

17 | 3.5879 | 0.9845 | 0.7441 | 3.5383 |

18 | 3.6401 | 0.9854 | 0.7386 | 3.5907 |

19 | 3.6890 | 0.9862 | 0.7335 | 3.6398 |

20 | 3.7349 | 0.9869 | 0.7287 | 3.6859 |

21 | 3.7783 | 0.9876 | 0.7242 | 3.7294 |

22 | 3.8194 | 0.9882 | 0.7199 | 3.7706 |

23 | 3.8583 | 0.9887 | 0.7159 | 3.8096 |

24 | 3.8953 | 0.9892 | 0.7121 | 3.8468 |

25 | 3.9306 | 0.9896 | 0.7084 | 3.8822 |

26 | 3.9643 | 0.9901 | 0.7050 | 3.9159 |

27 | 3.9965 | 0.9904 | 0.7017 | 3.9482 |

28 | 4.0274 | 0.9908 | 0.6986 | 3.9791 |

29 | 4.0570 | 0.9911 | 0.6955 | 4.0088 |

30 | 4.0855 | 0.9914 | 0.6927 | 4.0374 |

## XmR Control Chart Constants

XmR charts are the easiest control charts to make. For a full explanation see the following articles:

#### XmR Constants

n | d2 | d3 | D4 |
---|---|---|---|

2 | 1.1284 | 0.8525 | 3.2665 |

#### XmR Chart Calculation Reference

- Find the center line by calculating the mean of your data points

**X = mean(data)** - Determine the mean moving range of your data points. Data must be in the sequence the samples were produced.

**mR = mean(mR)** - Convert mean(mR) to sequential deviation(Š):

**Š = mR/ d2 = mR / 1.128** - Calculate the upper and lower XmR control limits using the sequential deviation
- Lower XmR Control Limit(LCL):

**LCL**_{X}= X – 3 ⋅ Š - Upper XmR Control Limit(UCL):

**UCL**_{X}= X + 3 ⋅ Š

#### mR Chart Calculations

- Find the center line by calculating the mean moving range of your data points. Data must be in the sequence the samples were produced.

**mR = mean(mR)** - Calculate the upper and lower mR control limits
- mR Lower Control Limit:

**LCL**_{mR}= 0 - mR Upper Control Limit:

**UCL**_{mR}= 1 + 3(d3 / d2) ⋅ mR = D4 ⋅ mR

#### Additional XmR Constant Information

- The constant
**2.66**is sometimes used to calculate XmR chart limits. The constant takes into account the 3 used to calculate the upper and lower control limit.

**2.66 = 3 / d2 = 3 / 1.12838** - Using the 2,66 constant

Control Limits = X ± 2.66 ⋅ mR - The D4 constant is a function of d2 and d3:

**D4 = 1 + 3(d3 / d2) = 3.2665**

## XbarR Control Chart Constants

XbarR charts are useful when you have sub-groups. For example:

- You have a very precise process for making cupcakes that uses a pan that can make 12 at a time. After cooking, you measure the weight of each cupcake to make sure the batter was evenly distributed. Here, the sub-group size = 12
- You have a measurement process where you are make 5 measurements of a reference standard daily. Here, the sub-group size = 5

To see how to make XbarR charts with ggQC, check out the examples at rcontrolcharts.com

#### XbarR Constants

n | d2 | d3 | A2 | D3 | D4 |
---|---|---|---|---|---|

2 | 1.1284 | 0.8525 | 1.8800 | 0.0000 | 3.2665 |

3 | 1.6926 | 0.8884 | 1.0233 | 0.0000 | 2.5746 |

4 | 2.0588 | 0.8798 | 0.7286 | 0.0000 | 2.2821 |

5 | 2.3259 | 0.8641 | 0.5768 | 0.0000 | 2.1145 |

6 | 2.5344 | 0.8480 | 0.4832 | 0.0000 | 2.0038 |

7 | 2.7044 | 0.8332 | 0.4193 | 0.0757 | 1.9243 |

8 | 2.8472 | 0.8198 | 0.3725 | 0.1362 | 1.8638 |

9 | 2.9700 | 0.8078 | 0.3367 | 0.1840 | 1.8160 |

10 | 3.0775 | 0.7971 | 0.3083 | 0.2230 | 1.7770 |

11 | 3.1729 | 0.7873 | 0.2851 | 0.2556 | 1.7444 |

12 | 3.2585 | 0.7785 | 0.2658 | 0.2833 | 1.7167 |

13 | 3.3360 | 0.7704 | 0.2494 | 0.3072 | 1.6928 |

14 | 3.4068 | 0.7630 | 0.2354 | 0.3281 | 1.6719 |

15 | 3.4718 | 0.7562 | 0.2231 | 0.3466 | 1.6534 |

16 | 3.5320 | 0.7499 | 0.2123 | 0.3630 | 1.6370 |

17 | 3.5879 | 0.7441 | 0.2028 | 0.3779 | 1.6221 |

18 | 3.6401 | 0.7386 | 0.1943 | 0.3913 | 1.6087 |

19 | 3.6890 | 0.7335 | 0.1866 | 0.4035 | 1.5965 |

20 | 3.7349 | 0.7287 | 0.1796 | 0.4147 | 1.5853 |

21 | 3.7783 | 0.7242 | 0.1733 | 0.4250 | 1.5750 |

22 | 3.8194 | 0.7199 | 0.1675 | 0.4345 | 1.5655 |

23 | 3.8583 | 0.7159 | 0.1621 | 0.4434 | 1.5566 |

24 | 3.8953 | 0.7121 | 0.1572 | 0.4516 | 1.5484 |

25 | 3.9306 | 0.7084 | 0.1526 | 0.4593 | 1.5407 |

26 | 3.9643 | 0.7050 | 0.1484 | 0.4665 | 1.5335 |

27 | 3.9965 | 0.7017 | 0.1445 | 0.4733 | 1.5267 |

28 | 4.0274 | 0.6986 | 0.1408 | 0.4797 | 1.5203 |

29 | 4.0570 | 0.6955 | 0.1373 | 0.4857 | 1.5143 |

30 | 4.0855 | 0.6927 | 0.1341 | 0.4914 | 1.5086 |

#### XbarR Chart Calculation Reference

- Determine the sub-group size:

**n** - Calculate the mean of each sub-group:

**X = mean(each sub-group)** - Find the center line by calculating the mean of all sub-group means:

X̿**= mean(mean(each sub-group))** - Determine the range, Max(value)-Min(Value), for each sub-group:

**R = range(each sub-group)** - Calculate the mean range of all sub-group ranges:

**R = mean(range(each sub-group))** - Convert mean of mean ranges to within deviation, W
_{d}:

**W**_{d}= R / d2_{n} - Example 1: If n = 3 then W
_{d}= R / 1.693 - Example 2: If n = 10 then W
_{d}= R / 3.078 - Determine your Upper and Lower Control Limits: Natural or Studentized
- Natural Control Limits will give you the window for the individual measurements in your process.
- Lower XbarR Natural Control Limit:

**LNCL**X̿_{x}=**– (3 ⋅ W**_{d}) / √ 1 - Upper XbarR Natural Control Limit:

**UNCL**X̿_{x}=**+ (3 ⋅ W**_{d}) / √ 1

Note: The that natural limits use the √ 1 and studentized limits use √ n (see below). It's akin to the difference between standard deviation(SD) and standard error (SD / √ n )

- Lower XbarR Natural Control Limit:
- Studentized Control Limits (method 1) will give you the window for sub-group means.
- Lower XbarR Studentized Control Limit:

**LCL**X̿_{x}=**– (3 ⋅ W**_{d}) / √ n - Upper XbarR Studentized Control Limit:

**UCL**X̿_{x}=**+ (3 ⋅ W**_{d}) / √ n

- Lower XbarR Studentized Control Limit:
- Studentized Control Limits (method 2) will give you the window for sub-group means using the control constant A2.
**A2**_{n}= 3 / (d2_{n}⋅ √ n )- Lower XbarR Studentized Control Limit:

**LCL**X̿_{x}=**– R ⋅ A2**_{n} - Upper XbarR Studentized Control Limit:

**UCL**X̿_{x}=**+ R ⋅ A2**_{n}

**Quick Demonstration**: Let's show that method 1 and 2 for calculating the control limits yields the same result.

Suppose n = 3; X̿ = 5, R = 7.

**Method 1:**

For n = 3, d2 = 1.6926, W_{d} = 7 / 1.6926 = 4.1356

LCL_{x} = 5 – 3 ⋅ 4.1356 / √ 3 = -2.163

UCL_{x} = 5 + 3 ⋅ 4.1356 / √ 3 = 12.163

**Method 2:**

For n = 3, A2 = 1.0233,

LCL_{x} = 5 – 7 ⋅ 1.0233 = -2.163

LCL_{x} = 5 + 7 ⋅ 1.0233 = 12.163

**The Point:**

For a given sub-group size = n:

A2_{n} = 3 / (d2_{n} ⋅ √ n )

#### R Chart Calculations

- Determine the sub-group size:

**n** - Calculate the range, Max(value)-Min(Value), for each sub-group:

**R = range(each sub-group)** - Determine the center line by calculating the mean range of all sub-group ranges:

**R = mean(range(each sub-group))** - Find R chart control limits:
- R Lower Control Limit:

**LCL**_{R}= D3 ⋅ R - R Upper Control Limit:

**UCL**_{R}= D4 ⋅ R

#### Additional R Chart Constant Information

- The D3 constant is a function of d2, d3, and n.

If n = 5 Then

**D3**_{n=5}= 1 – 3(d3_{n=5}/ d2_{n=5}) = -0.1145 → 0 - The D4 constant is a function of d2, d3, and n.

If n = 5 Then

**D4**_{n=5}= 1 + 3(d3_{n=5}/ d2_{n=5}) = 2.1145

## XbarS Control Chart Constants

XbarS charts come in to play when you have sub-groups. For example:

- You have a very precise process for making cupcakes that uses a pan that can make 12 at a time. After cooking, you measure the weight of each cupcake to make sure the batter was evenly distributed. Here, the sub-group size = 12
- You have a measurement process where you are make 5 measurements of a reference standard daily. Here, the sub-group size = 5

XbarS charts can be made with with ggQC using method = “xBar.sBar”. See the stat_QC() function for more details.

#### XbarS Constants

n | c4 | A3 | B3 | B4 |
---|---|---|---|---|

2 | 0.7979 | 2.6587 | 0.0000 | 3.2665 |

3 | 0.8862 | 1.9544 | 0.0000 | 2.5682 |

4 | 0.9213 | 1.6281 | 0.0000 | 2.2660 |

5 | 0.9400 | 1.4273 | 0.0000 | 2.0890 |

6 | 0.9515 | 1.2871 | 0.0304 | 1.9696 |

7 | 0.9594 | 1.1819 | 0.1177 | 1.8823 |

8 | 0.9650 | 1.0991 | 0.1851 | 1.8149 |

9 | 0.9693 | 1.0317 | 0.2391 | 1.7609 |

10 | 0.9727 | 0.9754 | 0.2837 | 1.7163 |

11 | 0.9754 | 0.9274 | 0.3213 | 1.6787 |

12 | 0.9776 | 0.8859 | 0.3535 | 1.6465 |

13 | 0.9794 | 0.8495 | 0.3816 | 1.6184 |

14 | 0.9810 | 0.8173 | 0.4062 | 1.5938 |

15 | 0.9823 | 0.7885 | 0.4282 | 1.5718 |

16 | 0.9835 | 0.7626 | 0.4479 | 1.5521 |

17 | 0.9845 | 0.7391 | 0.4657 | 1.5343 |

18 | 0.9854 | 0.7176 | 0.4818 | 1.5182 |

19 | 0.9862 | 0.6979 | 0.4966 | 1.5034 |

20 | 0.9869 | 0.6797 | 0.5102 | 1.4898 |

21 | 0.9876 | 0.6629 | 0.5228 | 1.4772 |

22 | 0.9882 | 0.6473 | 0.5344 | 1.4656 |

23 | 0.9887 | 0.6327 | 0.5452 | 1.4548 |

24 | 0.9892 | 0.6191 | 0.5553 | 1.4447 |

25 | 0.9896 | 0.6063 | 0.5648 | 1.4352 |

26 | 0.9901 | 0.5943 | 0.5737 | 1.4263 |

27 | 0.9904 | 0.5829 | 0.5820 | 1.4180 |

28 | 0.9908 | 0.5722 | 0.5899 | 1.4101 |

29 | 0.9911 | 0.5621 | 0.5974 | 1.4026 |

30 | 0.9914 | 0.5525 | 0.6044 | 1.3956 |

#### XbarS Chart Calculation Reference

- Determine the sub-group size:

**n** - Calculate the mean of each sub-group:

**X = mean(each sub-group)** - Find the center line by calculating the mean of all sub-group means:

X̿**= mean(mean(each sub-group))** - Determine the standard deviation for each sub-group:

**S = sd(each sub-group)** - Calculate the mean of all sub-group standard deviations:

**S = mean(sd(each sub-group))** - Convert mean sub-group standard deviation to within deviation, W
_{d}:

**W**_{d}= S / c4_{n} - Example 1: If n = 3 then W
_{d}= S / 0.8862 - Example 2: If n = 10 then W
_{d}= S / 0.9727 - Determine your Upper and Lower Control Limits: Natural or Studentized
- Natural Control Limits will give you the window for the individual measurements in your process.
- Lower XbarS Natural Control Limit:

**LNCL**X̿_{x}=**– (3 ⋅ W**_{d}) / √ 1 - Upper XbarS Natural Control Limit:

**UNCL**X̿_{x}=**+ (3 ⋅ W**_{d}) / √ 1

Note: The that natural limits use the √ 1 and studentized limits use √ n (see below). It's akin to the difference between standard deviation(SD) and standard error (SD / √ n )

- Lower XbarS Natural Control Limit:
- Studentized Control Limits (method 1) will give you the window for sub-group means.
- Lower XbarS Studentized Control Limit:

**LCL**X̿_{x}=**– (3 ⋅ W**_{d}) / √ n - Upper XbarS Studentized Control Limit:

**UCL**X̿_{x}=**+ (3 ⋅ W**_{d}) / √ n

- Lower XbarS Studentized Control Limit:
- Studentized Control Limits (method 2) will give you the window for sub-group means using the control constant A3.
**A3**_{n}= 3 / (c4_{n}⋅ √ n )- Lower XbarS Studentized Control Limit:

**LCL**X̿_{x}=**– S ⋅ A3**_{n} - Upper XbarS Studentized Control Limit:

**UCL**X̿_{x}=**+ S ⋅ A3**_{n}

**Quick Demonstration**: Let's show that method 1 and 2 for calculating the control limits yields the same result.

Suppose n = 3; X̿ = 5, S = 2.

**Method 1:**

For n = 3, c4 = 0.8862, W_{d} = 2 / 0.8862 = 2.2568

LCL_{x} = 5 – 3 ⋅ 2.2568 / √ 3 = 1.091

UCL_{x} = 5 + 3 ⋅ 2.2568 / √ 3 = 8.909

**Method 2:**

For n = 3, A3 = 1.954,

LCL_{x} = 5 – 2 ⋅ 1.0233 = 1.092

LCL_{x} = 5 + 2 ⋅ 1.0233 = 8.908

**The Point:**

For a given sub-group size = n:

A3_{n} = 3 / (c4_{n} ⋅ √ n )

#### S Chart Calculations

- Determine the sub-group size:

**n** - Determine the standard deviation for each sub-group:

**S = sd(each sub-group)** - Calculate the mean of all sub-group standard deviations:

**S = mean(sd(each sub-group))** - Find S chart control limits:
- S Lower Control Limit:

**LCL**_{S}= B3 ⋅ S - S Upper Control Limit:

**UCL**_{S}= B4 ⋅ S

#### Additional S Chart Constant Information

- The B3 constant is a function of c4 and n.

If n = 5 then

**B3**_{n=5}= 1 – 3 / c4_{n=5}⋅ (√ 1 – (c4)² ) = -0.0889 → 0 - The B4 constant is a function of c4 and n.

If n = 5 then

**B4**_{n=5}= 1 + 3 / c4_{n=5}⋅ (√ 1 – (c4)² ) = 2.0889

## Summary

Tables of control chart constants and a brief explanation of how control chart constants are used in different contexts has been presented. XmR, XbarR, XbarS, mR, R, and S type control charts all require these constants to determine control limits appropriately. For XmR charts, there is only one constant needed to determine the control limits for individual observations, 1.128. However for XbarR and XbarS charts, the control constant changes as a function of sub-group size. In addition when you are calculating limits for XbarR or XbarS charts, you need to know if you are calculating natural control limits for individual measurements or studentized control limits for sub-group means. If you doing the calculations by hand, use method 1 described above to help keep the difference between individual and studentized straight.

## 3 Comments

## Pingback:

## Ming

the section for XmR Chart Calculation Reference, should the ULR be Xbar +sequential deviation? It is now says UCLX = mR + 3 ⋅ Š.

## Kenith Grey

All fixed. Thanks for pointing that out.