hexagon logo

calculating CPK's

I was wondering if anyone has had this problem.

I run a program get my 30 pcs data send it to data page and the calculation from data page is different when done with a calculator. I got a cp 5.18 and a cpk of 5.21. I thought the cp had to be bigger? Then when I did it on my calculator I got the cp at 5.55 and the cpk at 5.52Confused
  • I was wondering if anyone has had this problem.

    I run a program get my 30 pcs data send it to data page and the calculation from data page is different when done with a calculator. I got a cp 5.18 and a cpk of 5.21. I thought the cp had to be bigger? Then when I did it on my calculator I got the cp at 5.55 and the cpk at 5.52Confused


    Are you calculating the Cpk of a TP feature? Datapage can not correctly calculate TP CPK because it has, as a limit, a perfect zero deviaiton, in order for it to correctly calculate TP CPK, you need to manually edit the tolerance for the TP dimension and give it a negative tolerance equal to the positive tolerance. You will have to do this every time you want to make a report after saving the data to Datapage.
  • Actually it is of an ID 2.246 - 2.250 inches. every once in awhile we get a cpk off the data page that has the cpk messed up not sure why. I asked the guy who wrote the program and he is not sure himself.
  • The suggestion above to edit the lower tolerance and make it negative of the TP tolerance won't have any effect on the Cpk (or Ppk) calculation. But it will change the value of Cp (or Pp) so that Cp will be larger than Cpk. For one sided tolerances, DataPage will only consider the +Tol to be a tolerance, and forces the Cpk (or Ppk) calculation to use that side of the tolerance. In these cases (TP, form errors, etc.) zero is not a tolerance, but is a mathematical limit. Cp (Pp) is not well defined in a one-sided tolerance, since there is not really a tolerance width. There is an option to disable computing Cp (Pp) for one-sided tolerances.



    But this doesn't seem to apply here given your tolerance band. How is it toleranced? Do you have all the tolerance on one side? It's possible DataPage is trying to treat it as a one sided tolerance if it is toleranced something like 2.246 -0, +.004. What version is Datapage?

    Also note that when you are calculating Cpk by hand, you may actually be calculating Ppk. Cpk (and Cp) use estimates of the standard deviation that come from a control chart (for xbar&r it's rbar/d2, etc). Ppk (and Pp) use the sample standard deviation in the calculation.
  • The suggestion above to edit the lower tolerance and make it negative of the TP tolerance won't have any effect on the Cpk (or Ppk) calculation.



    Er, yes it will, it will force Datapage to calculate the Cpk (Ppk) to the upper limit (positive TP tolerance) because that WILL be the closest limit for it to calculate the value to since the average will ALWAYS be greater than zero. Pp/Cp is the only option for one-sided tolerance you can change in Datapage, Cpk/Ppk always uses the total tolerance band, no matter if it is a one-sided tolerance or not and in the case of TP, since the lower tolerance limit is also the absolute limit for a reading (impossible to get a negative TP value) it will calculate Cpk/Ppk to that limit IF the average is less than 1/2 of the TP tolerance. Cpk/Ppk is always calculated to the closest tolerance limit. If you TP tolerance is 1mm and your average is 0.1mm, then the Cpk/Ppk will be calcualte to the 0 limit and not to the 1.0 limit, and, unless you have almost no variation, it will fail due to it being so close to the tolerance limit of zero when in reality, it should be a much greater value, ie calculated to the 1.0mm. BUT, TP should not be used BY ITSELF for any SPC calculation. The individual axis MUST be included in order to have any idea of the actual capability of the hole location.
  • No, actually, DataPage has a special case... When the nominal and lower tolerance are both zero and there is a positive upper tolerance. then Cpk is calculated using the upper tolerance. The lower tolerance isn't considered. Normally we calculate Cpk = Min(Cpu, Cpl) where Cpu is the calculation using the upper tolerance and Cpl is the calculation using the lower tolerance. In the special case of TP, form error, etc (which datapage assumes is the case based on NOM=LT=0) we use Cpk=Cpu. It's been like this for 18 years or so. This was implemented so you aren't punished for being too good.

    This can cause the goofy scenario of showing Cpk to be smaller than Cp.

    As you state, folks would be better off to consider the axes separately. The Cpk (and Cp) calculations have an underlying assumption that the data is normally distributed, i.e. a gaussian curve can represent the probability distribution function and this would mean that there it is probabilistically possible to have a negative Cpk. This of course can't happen. So the underlying assumptions aren't quite valid.
  • Forgot to mention...

    I asked about how it was toleranced and what version was being used, because at one point if you had a lower tolerance of zero it tried to apply this same trick. I believe this was changed quite a while a go.