过程能力指数:Cp、Cpk、Pp、Ppk 的区别与算法
大多数人算出来的其实是 Pp/Ppk,却当成 Cp/Cpk 在用。差别在于标准差取哪一个:前者用整体标准差,后者必须用组内标准差,要靠 d2 或 c4 常数换算。这一章把四个指数的定义、子组划分规则、常数表和落地算法一次讲清楚。
算错的地方几乎都在标准差
过程能力指数的公式本身很简单,规格宽度除以过程宽度而已。真正容易出错的只有一个地方:分母里那个标准差,你用的是哪一个。
直接对全部数据求标准差,得到的是整体标准差,它包含了组间的漂移——换批原料、换班次、刀具磨损带来的均值偏移全都算进去了。用它算出来的是 Pp 和 Ppk,反映过程的长期实际表现。
Cp 和 Cpk 要求的是组内标准差,也就是只含共同原因变异、不含组间漂移的那部分,反映过程在理想状态下的固有能力。它不能直接求,要从子组极差或子组标准差,经过 d2 或 c4 常数换算得到。
这一步一漏掉,报出去的数就名不副实。而且方向是固定的:Pp/Ppk 通常小于 Cp/Cpk,所以把 Pp 当 Cp 报是低估,把整体标准差硬塞进 Cp 公式里算完又标成 Cpk,则是在自己骗自己。
四个指数分别在回答什么问题
横轴是短期还是长期,纵轴是只看离散还是也看偏心。
Cp
过程的变异宽度能不能塞进规格里,不考虑中心位置对不对。
可以理解为「潜力」:哪怕现在中心偏了,只要 Cp 够高,把中心调回来就能合格。
Cpk
在 Cp 的基础上考虑均值偏离规格中心的程度,取离规格限较近那一侧来算。
这是最常被要求报告的指数,也是客户和体系审核看的那个。
Pp
算法与 Cp 相同,但用整体标准差。反映包含了组间漂移在内的实际变异宽度。
过程还没稳定、或者刚上线的新过程,通常只能算 Pp/Ppk。
Ppk
整体标准差版本的 Cpk,反映客户实际收到的产品质量水平。
供应链审核里越来越多要求同时提供 Ppk,因为它更接近真实交付。
四个公式与两个标准差
能力指数
Cp = (USL − LSL) / (6 × σ组内)Cpk = min[ (USL − X̄) / (3 × σ组内) , (X̄ − LSL) / (3 × σ组内) ]Pp = (USL − LSL) / (6 × σ整体)Ppk = min[ (USL − X̄) / (3 × σ整体) , (X̄ − LSL) / (3 × σ整体) ]
USL 上规格限,LSL 下规格限,X̄ 为总均值。单边规格时 Cp 与 Pp 没有定义,只计算存在的那一侧(CPU 或 CPL)。
两个标准差怎么来
σ整体 = 全部数据的样本标准差(除以 n−1)
这是常规的标准差计算,任何工具都能直接给出。
σ组内 = R̄ / d2 ← 用子组极差的平均,子组较小时常用σ组内 = S̄ / c4 ← 用子组标准差的平均,子组较大时更稳健
R̄ 是各子组极差的平均值,S̄ 是各子组标准差的平均值。d2 与 c4 是只跟子组大小 n 有关的常数,见下表。子组大小超过 8 到 10 时,一般改用 S̄/c4。
d2 与 c4 常数
按子组大小 n 取值。把这张表做成一个小文件接进流程,按子组大小关联即可。
| 子组大小 n | d2(配 R̄ 使用) | c4(配 S̄ 使用) |
|---|---|---|
| 2 | 1.128 | 0.7979 |
| 3 | 1.693 | 0.8862 |
| 4 | 2.059 | 0.9213 |
| 5 | 2.326 | 0.9400 |
| 6 | 2.534 | 0.9515 |
| 7 | 2.704 | 0.9594 |
| 8 | 2.847 | 0.9650 |
| 9 | 2.970 | 0.9693 |
| 10 | 3.078 | 0.9727 |
这两组常数是统计过程控制的标准表值,各类质量手册与统计软件采用的是同一套数值,不存在厂商差异。如果两边算出的结果对不上,问题出在子组划分或标准差口径,不在常数。
子组划分错了,后面全错
这一步没有公式,全靠对过程的理解,也是最容易被草率处理的一步。
- 子组内部应当只有共同原因变异。也就是说,同一个子组里的样品应该来自尽可能一致的条件:同一台设备、同一个班次、同一批原料、连续生产、时间相近。如果一个子组里混进了两台设备的产品,组内标准差就被污染了,算出来的 Cp 会偏小。
- 子组之间要能体现你关心的变化。如果怀疑问题出在批次之间,子组就该按批次分;如果怀疑出在班次之间,就按班次分。子组划分的方式本身就是一种假设。
- 子组大小通常取 3 到 5。太小则极差估计不稳,太大则组内容易混入特殊原因。用自动化设备连续采样时常取 5,人工抽检时 3 也够用。
- 单件流或低频检验用单值。子组大小为 1 时无法求组内极差,改用移动极差(相邻两点之差的绝对值),此时 d2 取 1.128。
- 子组数量至少 25 组。数据点总数建议 100 以上。样本不足时算出的指数波动很大,不宜作为验收依据。
- 先确认过程受控,再算能力指数。如果过程本身处于失控状态,能力指数没有意义——它描述的是一个不存在的稳定状态。判断是否受控要看控制图,这是下一章的内容。
指数之间的差距,比指数本身更有信息量
单看一个 Cpk 只能判合格与否,几个指数放在一起看才能指出该改什么。
变异没问题,中心偏了
过程的离散程度足够小,只是均值没对准规格中心。这是最好处理的一种情况——调整设定值、校准设备通常就能解决,不需要动工艺。改善的优先级最高,投入产出比也最好。
变异本身就超了
就算中心完全对准,变异宽度也塞不进规格。这时候调中心没用,必须降低过程波动:找关键影响因子、优化工艺参数、改善设备状态。这是DMAIC 的 Analyze 与 Improve 阶段真正要解决的问题。
组间存在漂移
短期能力好,长期表现差,说明子组之间有系统性的均值移动。常见原因是换批、换班、刀具磨损、环境温湿度周期变化。这个差距是很有价值的线索,直接指向该去查什么。
过程比较稳定
组间漂移小,短期和长期表现一致。这种情况下继续改善只能靠降低固有变异,难度和成本都会明显上升,要评估是否值得。
在数据平台里怎么把它搭出来
没有现成的过程能力节点,但这些指数本质是几步聚合加四则运算,用基础节点组合即可,搭好一次可复用。
准备数据并标记子组
从第 1 章的口径统一流程接过来,给每条测量记录打上子组标识。子组标识通常由设备、班次、批次或时间窗口组合而成,用公式节点拼接生成。
按子组聚合出统计量
以子组标识分组,对测量值求出四个量:组内最大值、最小值、标准差、以及该组的样本数。极差由最大值减最小值得到。
关联常数表
把上面那张 d2/c4 表做成一个两列小文件,按子组大小 n 关联进来。这样子组大小变化时常数会自动跟着变,不会写死。
如果各子组大小不一致,要留意:能力指数的经典算法假设子组等大,大小不齐时结果只能作为近似,应在报告中说明。
算出两个标准差与总均值
再做一次全局聚合:对所有子组的极差求平均得到 R̄,对所有子组标准差求平均得到 S̄,对全部原始数据求均值与标准差得到 X̄ 与 σ整体。然后用公式节点按 R̄/d2 或 S̄/c4 算出 σ组内。
套公式并封装成组件
把规格限 USL、LSL 作为参数输入,按公式算出 Cp、Cpk、Pp、Ppk 四个值。最后把整段处理封装成一个组件,对外只暴露三个输入:测量值列、子组标识列、规格上下限。
封装之后,下一个产品、下一条产线直接拖过来用,不必重搭。这也是把口径固定下来的方式——全公司用同一个组件,就不会出现三套算法。
四个会让 Cpk 失真的做法
前两个会高估,后两个会让数字本身失去意义。
取每个样品最后一次检验结果,等于把不合格的那次抹掉了,变异被系统性压缩,Cpk 算高。应取首次检验值,复检次数单独记录。
「这几个是异常先去掉」——去掉之后算出的能力指数描述的是一个不存在的过程。只有确认了特殊原因(如设备故障、已知的调试期)才能剔除,并要在报告里写明剔除依据与数量。
能力指数的解释建立在正态分布假设上。形位公差、寿命、杂质含量这类天然偏态的数据直接算,结论会误导。应先做正态性检验,必要时改用非正态的能力评估方法或先做变换。
Cpk 是相对于自身规格宽度的比值。规格定得宽松的产品天然更容易拿高分,这跟过程好坏无关。跨产品比较应该比趋势变化,不比绝对值。
让它每个月自己算一遍
组件搭好之后,最大的价值不是省了这一次的计算时间,而是下个月换一批数据点执行,口径完全一致。人工在表格里算,每次的子组怎么分、异常点去没去、用的哪个标准差,都可能不一样,几个月的数据横向比就失去意义了。
再往前一步,是把整条流程挂成定时任务:每月一号自动拉上月数据、重算各产线各特性的能力指数、低于阈值的自动发邮件提醒。这需要服务端承接,桌面版可以搭出流程但不能让它自己跑,详见版本与功能对比。
能力指数从一份季度报告变成一个持续运行的机制,改善成果才算真正固化下来。
六西格玛数据分析 · 本系列六章
- 数据从哪来、口径谁说了算
- 过程能力 Cp/Cpk 怎么算、怎么自动重算当前章节
- 控制图与判异规则怎么落到数据上
- 质量分析里怎么选假设检验方法
- 从几十个工艺参数里筛出关键因子
- 参数寻优:能做什么、不能做什么
先把现有的 Cpk 复核一遍
在做任何新分析之前,建议先拿贵司最近一份能力报告,对照本章第三节确认一件事:分母用的是组内标准差还是整体标准差。这一条核对完,很多历史结论可能需要重新解读。